diff --git a/config/pac.m4 b/config/pac.m4 index af2ba0ad..612dd816 100644 --- a/config/pac.m4 +++ b/config/pac.m4 @@ -414,6 +414,7 @@ LDFLAGS=" $PSBLAS_LIBS $save_LDFLAGS" dnl ac_compile='${MPIFC-$FC} -c -o conftest${ac_objext} $FMFLAG$PSBLAS_DIR/include $FMFLAG$PSBLAS_DIR/lib conftest.$ac_ext 1>&5' dnl ac_link='${MPIFC-$FC} -o conftest${ac_exeext} $FCFLAGS $LDFLAGS conftest.$ac_ext $FMFLAG$PSBLAS_DIR/include -L$PSBLAS_DIR/lib -lpsb_base $LIBS 1>&5' +ac_link='${MPIFC-$FC} -o conftest${ac_exeext} $FCFLAGS conftest.$ac_ext $LDFLAGS $LIBS 1>&5' dnl Warning : square brackets are EVIL! AC_LINK_IFELSE([ @@ -439,6 +440,20 @@ AC_LINK_IFELSE([ end program test], [pac_cv_psblas_patchlevel=`./conftest${ac_exeext} | sed 's/^ *//'`], [pac_cv_psblas_patchlevel="unknown"]) +AC_LINK_IFELSE([ + program test + use psb_base_mod, only : psb_sizeof_ip + print *,psb_sizeof_ip + end program test], + [pac_cv_psblas_sizeof_ip=`./conftest${ac_exeext} | sed 's/^ *//'`], + [pac_cv_psblas_sizeof_ip="unknown"]) +AC_LINK_IFELSE([ + program test + use psb_base_mod, only : psb_sizeof_lp + print *,psb_sizeof_lp + end program test], + [pac_cv_psblas_sizeof_lp=`./conftest${ac_exeext} | sed 's/^ *//'`], + [pac_cv_psblas_sizeof_lp="unknown"]) LDFLAGS="$save_LDFLAGS"; FCFLAGS="$save_FCFLAGS"; @@ -635,7 +650,7 @@ if test "x$pac_slu_header_ok" == "xyes" ; then LIBS="$SLU_LIBS -lm $save_LIBS"; AC_TRY_LINK_FUNC(superlu_malloc, [mld2p4_cv_have_superlu=yes;pac_slu_lib_ok=yes;], - [mld2p4_cv_have_superlu=no;pac_slu_lib_ok=no; SLU_LIBS=""; ]) + [mld2p4_cv_have_superlu=no;pac_slu_lib_ok=no; SLU_LIBS="";]) fi if test "x$pac_slu_lib_ok" == "xno" ; then dnl Maybe lib64? diff --git a/configure b/configure index 86c038e3..7d05b5aa 100755 --- a/configure +++ b/configure @@ -1,22 +1,20 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for MLD2P4 2.1.1. +# Generated by GNU Autoconf 2.63 for MLD2P4 2.1.1. # # Report bugs to . # -# -# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. -# -# +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which @@ -24,15 +22,23 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; esac + fi + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + as_nl=' ' export as_nl @@ -40,13 +46,7 @@ export as_nl as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then +if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else @@ -57,7 +57,7 @@ else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; - case $arg in #( + case $arg in *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; @@ -80,6 +80,13 @@ if test "${PATH_SEPARATOR+set}" != set; then } fi +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + # IFS # We need space, tab and new line, in precisely that order. Quoting is @@ -89,16 +96,15 @@ fi IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( +case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done IFS=$as_save_IFS ;; @@ -110,16 +116,12 @@ if test "x$as_myself" = x; then fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 + { (exit 1); exit 1; } fi -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' @@ -131,294 +133,7 @@ export LC_ALL LANGUAGE=C export LANGUAGE -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# Use a proper internal environment variable to ensure we don't fall - # into an infinite loop, continuously re-executing ourselves. - if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then - _as_can_reexec=no; export _as_can_reexec; - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -as_fn_exit 255 - fi - # We don't want this to propagate to other subprocesses. - { _as_can_reexec=; unset _as_can_reexec;} -if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi -" - as_required="as_fn_return () { (exit \$1); } -as_fn_success () { as_fn_return 0; } -as_fn_failure () { as_fn_return 1; } -as_fn_ret_success () { return 0; } -as_fn_ret_failure () { return 1; } - -exitcode=0 -as_fn_success || { exitcode=1; echo as_fn_success failed.; } -as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : - -else - exitcode=1; echo positional parameters were not saved. -fi -test x\$exitcode = x0 || exit 1 -test -x / || exit 1" - as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO - as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO - eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && - test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 -test \$(( 1 + 1 )) = 2 || exit 1" - if (eval "$as_required") 2>/dev/null; then : - as_have_required=yes -else - as_have_required=no -fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : - -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_found=false -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - as_found=: - case $as_dir in #( - /*) - for as_base in sh bash ksh sh5; do - # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : - CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : - break 2 -fi -fi - done;; - esac - as_found=false -done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } -IFS=$as_save_IFS - - - if test "x$CONFIG_SHELL" != x; then : - export CONFIG_SHELL - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -exit 255 -fi - - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." - else - $as_echo "$0: Please tell bug-autoconf@gnu.org and -$0: https://github.com/sfilippone/mld2p4-2/issues about -$0: your system, including any error possibly output before -$0: this message. Then install a modern shell, or manually -$0: run the script under such a shell if you do have one." - fi - exit 1 -fi -fi -fi -SHELL=${CONFIG_SHELL-/bin/sh} -export SHELL -# Unset more variables known to interfere with behavior of common tools. -CLICOLOR_FORCE= GREP_OPTIONS= -unset CLICOLOR_FORCE GREP_OPTIONS - -## --------------------- ## -## M4sh Shell Functions. ## -## --------------------- ## -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - +# Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr @@ -432,12 +147,8 @@ else as_basename=false fi -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi +# Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ @@ -457,133 +168,437 @@ $as_echo X/"$0" | } s/.*/./; q'` -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits +# CDPATH. +$as_unset CDPATH - as_lineno_1=$LINENO as_lineno_1a=$LINENO - as_lineno_2=$LINENO as_lineno_2a=$LINENO - eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && - test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { - # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } +if test "x$CONFIG_SHELL" = x; then + if (eval ":") 2>/dev/null; then + as_have_required=yes +else + as_have_required=no +fi - # If we had to re-execute with $CONFIG_SHELL, we're ensured to have - # already done that, so ensure we don't try to do so again and fall - # in an infinite loop. This has already happened in practice. - _as_can_reexec=no; export _as_can_reexec - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit + if test $as_have_required = yes && (eval ": +(as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 } -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file +exitcode=0 +if as_func_success; then + : else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null + exitcode=1 + echo as_func_success failed. fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' +if as_func_ret_success; then + : else - test -d ./-p && rmdir ./-p - as_mkdir_p=false + exitcode=1 + echo as_func_ret_success failed. fi -as_test_x='test -x' -as_executable_p=as_fn_executable_p +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" +test \$exitcode = 0) || { (exit 1); exit 1; } +( + as_lineno_1=\$LINENO + as_lineno_2=\$LINENO + test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && + test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } +") 2> /dev/null; then + : +else + as_candidate_shells= + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + case $as_dir in + /*) + for as_base in sh bash ksh sh5; do + as_candidate_shells="$as_candidate_shells $as_dir/$as_base" + done;; + esac +done +IFS=$as_save_IFS -test -n "$DJDIR" || exec 7<&0 &1 -# Name of the host. -# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + for as_shell in $as_candidate_shells $SHELL; do + # Try only shells that exist, to save several forks. + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { ("$as_shell") 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac -# -# Initializations. -# -ac_default_prefix=/usr/local -ac_clean_files= -ac_config_libobj_dir=. -LIBOBJS= -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= +fi -# Identity of this package. -PACKAGE_NAME='MLD2P4' -PACKAGE_TARNAME='mld2p4' -PACKAGE_VERSION='2.1.1' -PACKAGE_STRING='MLD2P4 2.1.1' -PACKAGE_BUGREPORT='https://github.com/sfilippone/mld2p4-2/issues' -PACKAGE_URL='' + +: +_ASEOF +}; then + CONFIG_SHELL=$as_shell + as_have_required=yes + if { "$as_shell" 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +(as_func_return () { + (exit $1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = "$1" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test $exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } + +_ASEOF +}; then + break +fi + +fi + + done + + if test "x$CONFIG_SHELL" != x; then + for as_var in BASH_ENV ENV + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + + if test $as_have_required = no; then + echo This script requires a shell more modern than all the + echo shells that I found on your system. Please install a + echo modern shell, or manually run the script under such a + echo shell if you do have one. + { (exit 1); exit 1; } +fi + + +fi + +fi + + + +(eval "as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0") || { + echo No shell found that supports shell functions. + echo Please tell bug-autoconf@gnu.org about your system, + echo including any error possibly output before this message. + echo This can help us improve future autoconf versions. + echo Configuration will now proceed without shell functions. +} + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -p' + fi +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + + +exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Identity of this package. +PACKAGE_NAME='MLD2P4' +PACKAGE_TARNAME='mld2p4' +PACKAGE_VERSION='2.1.1' +PACKAGE_STRING='MLD2P4 2.1.1' +PACKAGE_BUGREPORT='https://github.com/sfilippone/mld2p4-2/issues' ac_unique_file="mlprec/mld_prec_type.f90" # Factoring default headers for most tests. @@ -661,7 +676,6 @@ MPICC am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE -am__nodep AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE @@ -678,10 +692,6 @@ ac_ct_FC LDFLAGS FCFLAGS FC -AM_BACKSLASH -AM_DEFAULT_VERBOSITY -AM_DEFAULT_V -AM_V am__untar am__tar AMTAR @@ -735,7 +745,6 @@ bindir program_transform_name prefix exec_prefix -PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION @@ -750,7 +759,6 @@ with_psblas with_psblas_incdir with_psblas_moddir with_psblas_libdir -enable_silent_rules enable_dependency_tracking enable_serial with_ccopt @@ -859,9 +867,8 @@ do fi case $ac_option in - *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *=) ac_optarg= ;; - *) ac_optarg=yes ;; + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. @@ -906,7 +913,8 @@ do ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" + { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 + { (exit 1); exit 1; }; } ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -932,7 +940,8 @@ do ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" + { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 + { (exit 1); exit 1; }; } ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1136,7 +1145,8 @@ do ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" + { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 + { (exit 1); exit 1; }; } ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1152,7 +1162,8 @@ do ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" + { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 + { (exit 1); exit 1; }; } ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1182,17 +1193,17 @@ do | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; - -*) as_fn_error $? "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information" + -*) { $as_echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. - case $ac_envvar in #( - '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; - esac + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } eval $ac_envvar=\$ac_optarg export $ac_envvar ;; @@ -1201,7 +1212,7 @@ Try \`$0 --help' for more information" $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac @@ -1209,13 +1220,15 @@ done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error $? "missing argument to $ac_option" + { $as_echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; - fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; + fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2 + { (exit 1); exit 1; }; } ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi @@ -1238,7 +1251,8 @@ do [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac - as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" + { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; } done # There might be people who depend on the old broken behavior: `$host' @@ -1252,6 +1266,8 @@ target=$target_alias if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe + $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi @@ -1266,9 +1282,11 @@ test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error $? "working directory cannot be determined" + { $as_echo "$as_me: error: working directory cannot be determined" >&2 + { (exit 1); exit 1; }; } test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error $? "pwd does not report name of working directory" + { $as_echo "$as_me: error: pwd does not report name of working directory" >&2 + { (exit 1); exit 1; }; } # Find the source files, if location was not specified. @@ -1307,11 +1325,13 @@ else fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" + { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" + cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2 + { (exit 1); exit 1; }; } pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then @@ -1351,7 +1371,7 @@ Configuration: --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking ...' messages + -q, --quiet, --silent do not print \`checking...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files @@ -1411,12 +1431,8 @@ Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --enable-silent-rules less verbose build output (undo: "make V=1") - --disable-silent-rules verbose build output (undo: "make V=0") - --enable-dependency-tracking - do not reject slow dependency extractors - --disable-dependency-tracking - speeds up one-time build + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors --enable-serial Specify whether to enable a fake mpi library to run in serial mode. --enable-long-integers Specify usage of 64 bits integers. @@ -1432,23 +1448,23 @@ Optional Packages: Specify the directory for PSBLAS Fortran modules. --with-psblas-libdir=DIR Specify the directory for PSBLAS library. - --with-ccopt additional [CCOPT] flags to be added: will prepend - to [CCOPT] - --with-fcopt additional [FCOPT] flags to be added: will prepend - to [FCOPT] + --with-ccopt additional CCOPT flags to be added: will prepend + to CCOPT + --with-fcopt additional FCOPT flags to be added: will prepend + to FCOPT --with-libs List additional link flags here. For example, --with-libs=-lspecial_system_lib or --with-libs=-L/path/to/libs - --with-clibs additional [CLIBS] flags to be added: will prepend - to [CLIBS] - --with-flibs additional [FLIBS] flags to be added: will prepend - to [FLIBS] - --with-library-path additional [LIBRARYPATH] flags to be added: will - prepend to [LIBRARYPATH] - --with-include-path additional [INCLUDEPATH] flags to be added: will - prepend to [INCLUDEPATH] - --with-module-path additional [MODULE_PATH] flags to be added: will - prepend to [MODULE_PATH] + --with-clibs additional CLIBS flags to be added: will prepend + to CLIBS + --with-flibs additional FLIBS flags to be added: will prepend + to FLIBS + --with-library-path additional LIBRARYPATH flags to be added: will + prepend to LIBRARYPATH + --with-include-path additional INCLUDEPATH flags to be added: will + prepend to INCLUDEPATH + --with-module-path additional MODULE_PATH flags to be added: will + prepend to MODULE_PATH --with-extra-libs List additional link flags here. For example, --with-extra-libs=-lspecial_system_lib or --with-extra-libs=-L/path/to/libs @@ -1501,7 +1517,7 @@ Some influential environment variables: LIBS libraries to pass to the linker, e.g. -l CC C compiler command CFLAGS C compiler flags - CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if you have headers in a nonstandard directory MPICC MPI C compiler command MPIFC MPI Fortran compiler command @@ -1574,680 +1590,58 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF MLD2P4 configure 2.1.1 -generated by GNU Autoconf 2.69 +generated by GNU Autoconf 2.63 -Copyright (C) 2012 Free Software Foundation, Inc. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by MLD2P4 $as_me 2.1.1, which was +generated by GNU Autoconf 2.63. Invocation command line was -## ------------------------ ## -## Autoconf initialization. ## -## ------------------------ ## + $ $0 $@ -# ac_fn_fc_try_compile LINENO -# --------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_fc_try_compile () +_ACEOF +exec 5>>config.log { - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_fc_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` -} # ac_fn_fc_try_compile +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` -# ac_fn_c_try_compile LINENO -# -------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_compile - -# ac_fn_c_try_link LINENO -# ----------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_link - -# ac_fn_c_check_func LINENO FUNC VAR -# ---------------------------------- -# Tests whether FUNC exists, setting the cache variable VAR accordingly -ac_fn_c_check_func () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Define $2 to an innocuous variant, in case declares $2. - For example, HP-UX 11i declares gettimeofday. */ -#define $2 innocuous_$2 - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $2 - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $2 (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$2 || defined __stub___$2 -choke me -#endif - -int -main () -{ -return $2 (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_func - -# ac_fn_fc_try_link LINENO -# ------------------------ -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_fc_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_fc_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_fc_try_link - -# ac_fn_c_try_run LINENO -# ---------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_c_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_run - -# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES -# -------------------------------------------- -# Tries to find the compile-time value of EXPR in a program that includes -# INCLUDES, setting VAR accordingly. Returns whether the value could be -# computed -ac_fn_c_compute_int () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) >= 0)]; -test_array [0] = 0; -return test_array [0]; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_lo=0 ac_mid=0 - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) <= $ac_mid)]; -test_array [0] = 0; -return test_array [0]; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=$ac_mid; break -else - as_fn_arith $ac_mid + 1 && ac_lo=$as_val - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) < 0)]; -test_array [0] = 0; -return test_array [0]; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=-1 ac_mid=-1 - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) >= $ac_mid)]; -test_array [0] = 0; -return test_array [0]; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_lo=$ac_mid; break -else - as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - ac_lo= ac_hi= -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) <= $ac_mid)]; -test_array [0] = 0; -return test_array [0]; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=$ac_mid -else - as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in #(( -?*) eval "$3=\$ac_lo"; ac_retval=0 ;; -'') ac_retval=1 ;; -esac - else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -static long int longval () { return $2; } -static unsigned long int ulongval () { return $2; } -#include -#include -int -main () -{ - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if (($2) < 0) - { - long int i = longval (); - if (i != ($2)) - return 1; - fprintf (f, "%ld", i); - } - else - { - unsigned long int i = ulongval (); - if (i != ($2)) - return 1; - fprintf (f, "%lu", i); - } - /* Do not output a trailing newline, as this causes \r\n confusion - on some platforms. */ - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - echo >>conftest.val; read $3 &5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } > conftest.i && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_cpp - -# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists and can be compiled using the include files in -# INCLUDES, setting the cache variable VAR accordingly. -ac_fn_c_check_header_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_header_compile - -# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists, giving a warning if it cannot be compiled using -# the include files in INCLUDES and setting the cache variable VAR -# accordingly. -ac_fn_c_check_header_mongrel () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if eval \${$3+:} false; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 -$as_echo_n "checking $2 usability... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_header_compiler=yes -else - ac_header_compiler=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 -$as_echo_n "checking $2 presence... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <$2> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - ac_header_preproc=yes -else - ac_header_preproc=no -fi -rm -f conftest.err conftest.i conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( - yes:no: ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; - no:yes:* ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -( $as_echo "## ------------------------------------------------------------ ## -## Report this to https://github.com/sfilippone/mld2p4-2/issues ## -## ------------------------------------------------------------ ##" - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=\$ac_header_compiler" -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_header_mongrel -cat >config.log <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by MLD2P4 $as_me 2.1.1, which was -generated by GNU Autoconf 2.69. Invocation command line was - - $ $0 $@ - -_ACEOF -exec 5>>config.log -{ -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -_ASUNAME +_ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" - done + $as_echo "PATH: $as_dir" +done IFS=$as_save_IFS } >&5 @@ -2284,9 +1678,9 @@ do ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in - 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; 2) - as_fn_append ac_configure_args1 " '$ac_arg'" + ac_configure_args1="$ac_configure_args1 '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else @@ -2302,13 +1696,13 @@ do -* ) ac_must_keep_next=true ;; esac fi - as_fn_append ac_configure_args " '$ac_arg'" + ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac done done -{ ac_configure_args0=; unset ac_configure_args0;} -{ ac_configure_args1=; unset ac_configure_args1;} +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there @@ -2320,9 +1714,11 @@ trap 'exit_status=$? { echo - $as_echo "## ---------------- ## + cat <<\_ASBOX +## ---------------- ## ## Cache variables. ## -## ---------------- ##" +## ---------------- ## +_ASBOX echo # The following way of writing the cache mishandles newlines in values, ( @@ -2331,13 +1727,13 @@ trap 'exit_status=$? case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 + *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; + *) $as_unset $ac_var ;; esac ;; esac done @@ -2356,9 +1752,11 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; ) echo - $as_echo "## ----------------- ## + cat <<\_ASBOX +## ----------------- ## ## Output variables. ## -## ----------------- ##" +## ----------------- ## +_ASBOX echo for ac_var in $ac_subst_vars do @@ -2371,9 +1769,11 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; echo if test -n "$ac_subst_files"; then - $as_echo "## ------------------- ## + cat <<\_ASBOX +## ------------------- ## ## File substitutions. ## -## ------------------- ##" +## ------------------- ## +_ASBOX echo for ac_var in $ac_subst_files do @@ -2387,9 +1787,11 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; fi if test -s confdefs.h; then - $as_echo "## ----------- ## + cat <<\_ASBOX +## ----------- ## ## confdefs.h. ## -## ----------- ##" +## ----------- ## +_ASBOX echo cat confdefs.h echo @@ -2403,39 +1805,37 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; exit $exit_status ' 0 for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h -$as_echo "/* confdefs.h */" > confdefs.h - # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF + cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF + cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF + cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF -cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF cat >>confdefs.h <<_ACEOF -#define PACKAGE_URL "$PACKAGE_URL" +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF @@ -2444,12 +1844,7 @@ _ACEOF ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then - # We do not want a PATH search for config.site. - case $CONFIG_SITE in #(( - -*) ac_site_file1=./$CONFIG_SITE;; - */*) ac_site_file1=$CONFIG_SITE;; - *) ac_site_file1=./$CONFIG_SITE;; - esac + ac_site_file1=$CONFIG_SITE elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site @@ -2460,23 +1855,19 @@ fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue - if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 + if test -r "$ac_site_file"; then + { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" \ - || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "failed to load site script $ac_site_file -See \`config.log' for more details" "$LINENO" 5; } + . "$ac_site_file" fi done if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special files - # actually), so we avoid doing that. DJGPP emulates it as a regular file. - if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; @@ -2484,7 +1875,7 @@ $as_echo "$as_me: loading cache $cache_file" >&6;} esac fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 + { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi @@ -2499,11 +1890,11 @@ for ac_var in $ac_precious_vars; do eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 + { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 + { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; @@ -2513,17 +1904,17 @@ $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 + { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else - { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 + { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi - { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 + { $as_echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 + { $as_echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac @@ -2535,20 +1926,43 @@ $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) as_fn_append ac_configure_args " '$ac_arg'" ;; + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 + { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 + { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } fi -## -------------------- ## -## Main body of script. ## -## -------------------- ## + + + + + + + + + + + + + + + + + + + + + + + + ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -2566,7 +1980,7 @@ mld2p4_cv_version="2.1.1" # Our custom M4 macros are in the 'config' directory -{ $as_echo "$as_me:${as_lineno-$LINENO}: +{ $as_echo "$as_me:$LINENO: -------------------------------------------------------------------------------- Welcome to the $PACKAGE_NAME $mld2p4_cv_version configure Script. @@ -2596,7 +2010,7 @@ $as_echo "$as_me: # Check whether --with-psblas was given. -if test "${with_psblas+set}" = set; then : +if test "${with_psblas+set}" = set; then withval=$with_psblas; pac_cv_psblas_dir=$withval else pac_cv_psblas_dir='' @@ -2604,7 +2018,7 @@ fi # Check whether --with-psblas-incdir was given. -if test "${with_psblas_incdir+set}" = set; then : +if test "${with_psblas_incdir+set}" = set; then withval=$with_psblas_incdir; pac_cv_psblas_incdir=$withval else pac_cv_psblas_incdir='' @@ -2612,7 +2026,7 @@ fi # Check whether --with-psblas-moddir was given. -if test "${with_psblas_moddir+set}" = set; then : +if test "${with_psblas_moddir+set}" = set; then withval=$with_psblas_moddir; pac_cv_psblas_moddir=$withval else pac_cv_psblas_moddir='' @@ -2620,7 +2034,7 @@ fi # Check whether --with-psblas-libdir was given. -if test "${with_psblas_libdir+set}" = set; then : +if test "${with_psblas_libdir+set}" = set; then withval=$with_psblas_libdir; pac_cv_psblas_libdir=$withval else pac_cv_psblas_libdir='' @@ -2641,22 +2055,27 @@ PSBLAS_DIR="$pac_cv_psblas_dir"; PSBLAS_INCDIR="$pac_cv_psblas_incdir"; PSBLAS_MODDIR="$pac_cv_psblas_moddir"; PSBLAS_LIBDIR="$pac_cv_psblas_libdir"; -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for PSBLAS install dir" >&5 +{ $as_echo "$as_me:$LINENO: checking for PSBLAS install dir" >&5 $as_echo_n "checking for PSBLAS install dir... " >&6; } if test "X$PSBLAS_DIR" != "X" ; then case $PSBLAS_DIR in /*) ;; - *) as_fn_error $? "The PSBLAS installation dir must be an absolute pathname - specified with --with-psblas=/path/to/psblas" "$LINENO" 5 + *) { { $as_echo "$as_me:$LINENO: error: The PSBLAS installation dir must be an absolute pathname + specified with --with-psblas=/path/to/psblas" >&5 +$as_echo "$as_me: error: The PSBLAS installation dir must be an absolute pathname + specified with --with-psblas=/path/to/psblas" >&2;} + { (exit 1); exit 1; }; } esac if test ! -d "$PSBLAS_DIR" ; then - as_fn_error $? "Could not find PSBLAS build dir $PSBLAS_DIR!" "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: Could not find PSBLAS build dir $PSBLAS_DIR!" >&5 +$as_echo "$as_me: error: Could not find PSBLAS build dir $PSBLAS_DIR!" >&2;} + { (exit 1); exit 1; }; } fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PSBLAS_DIR" >&5 + { $as_echo "$as_me:$LINENO: result: $PSBLAS_DIR" >&5 $as_echo "$PSBLAS_DIR" >&6; } pac_cv_status_file="$PSBLAS_INCDIR/Make.inc.psblas" if test ! -f "$pac_cv_status_file" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Could not find an installation in $PSBLAS_DIR." >&5 + { $as_echo "$as_me:$LINENO: Could not find an installation in $PSBLAS_DIR." >&5 $as_echo "$as_me: Could not find an installation in $PSBLAS_DIR." >&6;} pac_cv_status_file="NONE"; fi @@ -2664,9 +2083,9 @@ else pac_cv_status_file="NONE"; fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: Loaded $pac_cv_status_file $FC $MPIFC $BLACS_LIBS" >&5 +{ $as_echo "$as_me:$LINENO: Loaded $pac_cv_status_file $FC $MPIFC $BLACS_LIBS" >&5 $as_echo "$as_me: Loaded $pac_cv_status_file $FC $MPIFC $BLACS_LIBS" >&6;} -am__api_version='1.15' +am__api_version='1.11' ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do @@ -2685,7 +2104,9 @@ for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do fi done if test -z "$ac_aux_dir"; then - as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 +$as_echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} + { (exit 1); exit 1; }; } fi # These three variables are undocumented and unsupported, @@ -2711,10 +2132,10 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 +{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then -if ${ac_cv_path_install+:} false; then : +if test "${ac_cv_path_install+set}" = set; then $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -2722,11 +2143,11 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in #(( - ./ | .// | /[cC]/* | \ + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. @@ -2734,7 +2155,7 @@ case $as_dir/ in #(( # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. @@ -2763,7 +2184,7 @@ case $as_dir/ in #(( ;; esac - done +done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir @@ -2779,7 +2200,7 @@ fi INSTALL=$ac_install_sh fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. @@ -2790,73 +2211,68 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 +{ $as_echo "$as_me:$LINENO: checking whether build environment is sane" >&5 $as_echo_n "checking whether build environment is sane... " >&6; } +# Just in case +sleep 1 +echo timestamp > conftest.file # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) - as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; + { { $as_echo "$as_me:$LINENO: error: unsafe absolute working directory name" >&5 +$as_echo "$as_me: error: unsafe absolute working directory name" >&2;} + { (exit 1); exit 1; }; };; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; + { { $as_echo "$as_me:$LINENO: error: unsafe srcdir value: \`$srcdir'" >&5 +$as_echo "$as_me: error: unsafe srcdir value: \`$srcdir'" >&2;} + { (exit 1); exit 1; }; };; esac -# Do 'set' in a subshell so we don't clobber the current shell's +# Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( - am_has_slept=no - for am_try in 1 2; do - echo "timestamp, slept: $am_has_slept" > conftest.file - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$*" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - if test "$*" != "X $srcdir/configure conftest.file" \ - && test "$*" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - as_fn_error $? "ls -t appears to fail. Make sure there is not a broken - alias in your environment" "$LINENO" 5 - fi - if test "$2" = conftest.file || test $am_try -eq 2; then - break - fi - # Just in case. - sleep 1 - am_has_slept=yes - done + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + rm -f conftest.file + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + { { $as_echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&5 +$as_echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&2;} + { (exit 1); exit 1; }; } + fi + test "$2" = conftest.file ) then # Ok. : else - as_fn_error $? "newly created file is older than distributed files! -Check your system clock" "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: newly created file is older than distributed files! +Check your system clock" >&5 +$as_echo "$as_me: error: newly created file is older than distributed files! +Check your system clock" >&2;} + { (exit 1); exit 1; }; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +{ $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } -# If we didn't sleep, we still need to ensure time stamps of config.status and -# generated files are strictly newer. -am_sleep_pid= -if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & - am_sleep_pid=$! -fi - -rm -f conftest.file - test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. @@ -2867,8 +2283,8 @@ test "$program_suffix" != NONE && ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` -# Expand $ac_aux_dir to an absolute path. -am_aux_dir=`cd "$ac_aux_dir" && pwd` +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` if test x"${MISSING+set}" != xset; then case $am_aux_dir in @@ -2879,15 +2295,15 @@ if test x"${MISSING+set}" != xset; then esac fi # Use eval to expand $SHELL -if eval "$MISSING --is-lightweight"; then - am_missing_run="$MISSING " +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " else am_missing_run= - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 -$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 +$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi -if test x"${install_sh+set}" != xset; then +if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; @@ -2896,17 +2312,17 @@ if test x"${install_sh+set}" != xset; then esac fi -# Installed binaries are usually stripped using 'strip' when the user -# run "make install-strip". However 'strip' might not be the right +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake -# will honor the 'STRIP' environment variable to overrule this program. +# will honor the `STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : +if test "${ac_cv_prog_STRIP+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then @@ -2917,24 +2333,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 + { $as_echo "$as_me:$LINENO: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi @@ -2944,9 +2360,9 @@ if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then @@ -2957,24 +2373,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 + { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi @@ -2983,7 +2399,7 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -2996,10 +2412,10 @@ fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 +{ $as_echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } if test -z "$MKDIR_P"; then - if ${ac_cv_path_mkdir+:} false; then : + if test "${ac_cv_path_mkdir+set}" = set; then $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -3007,9 +2423,9 @@ for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_prog in mkdir gmkdir; do + for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do - as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue + { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ @@ -3019,12 +2435,11 @@ do esac done done - done +done IFS=$as_save_IFS fi - test -d ./--version && rmdir ./--version if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else @@ -3032,19 +2447,26 @@ fi # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. + test -d ./--version && rmdir ./--version MKDIR_P="$ac_install_sh -d" fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 +{ $as_echo "$as_me:$LINENO: result: $MKDIR_P" >&5 $as_echo "$MKDIR_P" >&6; } +mkdir_p="$MKDIR_P" +case $mkdir_p in + [\\/$]* | ?:[\\/]*) ;; + */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; +esac + for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AWK+:} false; then : +if test "${ac_cv_prog_AWK+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then @@ -3055,24 +2477,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 + { $as_echo "$as_me:$LINENO: result: $AWK" >&5 $as_echo "$AWK" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi @@ -3080,11 +2502,11 @@ fi test -n "$AWK" && break done -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +{ $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : +if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF @@ -3092,7 +2514,7 @@ SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF -# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; @@ -3102,11 +2524,11 @@ esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi @@ -3120,52 +2542,15 @@ else fi rmdir .tst 2>/dev/null -# Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then : - enableval=$enable_silent_rules; -fi - -case $enable_silent_rules in # ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=1;; -esac -am_make=${MAKE-make} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 -$as_echo_n "checking whether $am_make supports nested variables... " >&6; } -if ${am_cv_make_support_nested_variables+:} false; then : - $as_echo_n "(cached) " >&6 -else - if $as_echo 'TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 -$as_echo "$am_cv_make_support_nested_variables" >&6; } -if test $am_cv_make_support_nested_variables = yes; then - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AM_BACKSLASH='\' - if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then - as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 +$as_echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} + { (exit 1); exit 1; }; } fi fi @@ -3209,79 +2594,118 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} -# For better backward compatibility. To be removed once Automake 1.9.x -# dies out for good. For more background, see: -# -# -mkdir_p='$(MKDIR_P)' - -# We need awk for the "check" target (and possibly the TAP driver). The -# system "awk" is bad on some platforms. -# Always define AMTAR for backward compatibility. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AMTAR='$${TAR-tar}' +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +# Always define AMTAR for backward compatibility. +AMTAR=${AMTAR-"${am_missing_run}tar"} -# We'll loop over all known methods to create a tar archive until one works. -_am_tools='gnutar pax cpio none' +am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' -am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' +# +# Installation. +# +# +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +# Reject install programs that cannot install multiple files. +{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +$as_echo_n "checking for a BSD-compatible install... " >&6; } +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + $as_echo_n "(cached) " >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + rm -rf conftest.one conftest.two conftest.dir + echo one > conftest.one + echo two > conftest.two + mkdir conftest.dir + if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && + test -s conftest.one && test -s conftest.two && + test -s conftest.dir/conftest.one && + test -s conftest.dir/conftest.two + then + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + fi + done + done + ;; +esac -# POSIX will say in a future version that running "rm -f" with no argument -# is OK; and we want to be able to make that assumption in our Makefile -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! - -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: +done +IFS=$as_save_IFS -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. +rm -rf conftest.one conftest.two conftest.dir -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install else - cat >&2 <<'END' -Aborting the configuration process, to ensure you take notice of the issue. - -You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. - -END - as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh fi fi +{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5 +$as_echo "$INSTALL" >&6; } +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' -# -# Installation. -# -# +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking where to install" >&5 +{ $as_echo "$as_me:$LINENO: checking where to install" >&5 $as_echo_n "checking where to install... " >&6; } case $prefix in \/* ) eval "INSTALL_DIR=$prefix";; @@ -3304,7 +2728,7 @@ case $samplesdir in \/* ) eval "INSTALL_SAMPLESDIR=$samplesdir";; * ) eval "INSTALL_SAMPLESDIR=$INSTALL_DIR/samples";; esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL_DIR $INSTALL_INCLUDEDIR $INSTALL_MODULESDIR $INSTALL_LIBDIR $INSTALL_DOCSDIR $INSTALL_SAMPLESDIR" >&5 +{ $as_echo "$as_me:$LINENO: result: $INSTALL_DIR $INSTALL_INCLUDEDIR $INSTALL_MODULESDIR $INSTALL_LIBDIR $INSTALL_DOCSDIR $INSTALL_SAMPLESDIR" >&5 $as_echo "$INSTALL_DIR $INSTALL_INCLUDEDIR $INSTALL_MODULESDIR $INSTALL_LIBDIR $INSTALL_DOCSDIR $INSTALL_SAMPLESDIR" >&6; } save_FCFLAGS="$FCFLAGS"; @@ -3317,9 +2741,9 @@ if test -n "$ac_tool_prefix"; then do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_FC+:} false; then : +if test "${ac_cv_prog_FC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$FC"; then @@ -3330,24 +2754,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_FC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS fi fi FC=$ac_cv_prog_FC if test -n "$FC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 + { $as_echo "$as_me:$LINENO: result: $FC" >&5 $as_echo "$FC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi @@ -3361,9 +2785,9 @@ if test -z "$FC"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_FC+:} false; then : +if test "${ac_cv_prog_ac_ct_FC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_FC"; then @@ -3374,24 +2798,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_FC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS fi fi ac_ct_FC=$ac_cv_prog_ac_ct_FC if test -n "$ac_ct_FC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 + { $as_echo "$as_me:$LINENO: result: $ac_ct_FC" >&5 $as_echo "$ac_ct_FC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi @@ -3404,7 +2828,7 @@ done else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -3414,32 +2838,45 @@ fi # Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran compiler version" >&5 +$as_echo "$as_me:$LINENO: checking for Fortran compiler version" >&5 set X $ac_compile ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" +{ (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } rm -f a.out -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF program main end @@ -3449,8 +2886,8 @@ ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the Fortran compiler works" >&5 -$as_echo_n "checking whether the Fortran compiler works... " >&6; } +{ $as_echo "$as_me:$LINENO: checking for Fortran compiler default output file name" >&5 +$as_echo_n "checking for Fortran compiler default output file name... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: @@ -3466,17 +2903,17 @@ do done rm -f $ac_rmfiles -if { { ac_try="$ac_link_default" +if { (ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link_default") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, @@ -3493,7 +2930,7 @@ do # certainly right. break;; *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi @@ -3512,41 +2949,84 @@ test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi -if test -z "$ac_file"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -$as_echo "$as_me: failed program was:" >&5 + +{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5 +$as_echo "$ac_file" >&6; } +if test -z "$ac_file"; then + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "Fortran compiler cannot create executables -See \`config.log' for more details" "$LINENO" 5; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +{ { $as_echo "$as_me:$LINENO: error: Fortran compiler cannot create executables +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: Fortran compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; }; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran compiler default output file name" >&5 -$as_echo_n "checking for Fortran compiler default output file name... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } + ac_exeext=$ac_cv_exeext +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:$LINENO: checking whether the Fortran compiler works" >&5 +$as_echo_n "checking whether the Fortran compiler works... " >&6; } +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot run Fortran compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: cannot run Fortran compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; }; } + fi + fi +fi +{ $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +$as_echo_n "checking whether we are cross compiling... " >&6; } +{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5 +$as_echo "$cross_compiling" >&6; } + +{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } -if { { ac_try="$ac_link" +if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with @@ -3561,93 +3041,44 @@ for ac_file in conftest.exe conftest conftest.*; do esac done else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details" "$LINENO" 5; } +{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; }; } fi -rm -f conftest conftest$ac_cv_exeext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 + +rm -f conftest$ac_cv_exeext +{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT -cat > conftest.$ac_ext <<_ACEOF - program main - open(unit=9,file='conftest.out') - close(unit=9) - - end -_ACEOF -ac_clean_files="$ac_clean_files conftest.out" -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -if test "$cross_compiling" != yes; then - { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if { ac_try='./conftest$ac_cv_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run Fortran compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details" "$LINENO" 5; } - fi - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - -rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } -if ${ac_cv_objext+:} false; then : +if test "${ac_cv_objext+set}" = set; then $as_echo_n "(cached) " >&6 else - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program main end _ACEOF rm -f conftest.o conftest.obj -if { { ac_try="$ac_compile" +if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in @@ -3660,14 +3091,18 @@ else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of object files: cannot compile -See \`config.log' for more details" "$LINENO" 5; } +{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; }; } fi + rm -f conftest.$ac_cv_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT @@ -3675,12 +3110,12 @@ ac_objext=$OBJEXT # input file. (Note that this only needs to work for GNU compilers.) ac_save_ext=$ac_ext ac_ext=F -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU Fortran compiler" >&5 +{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU Fortran compiler" >&5 $as_echo_n "checking whether we are using the GNU Fortran compiler... " >&6; } -if ${ac_cv_fc_compiler_gnu+:} false; then : +if test "${ac_cv_fc_compiler_gnu+set}" = set; then $as_echo_n "(cached) " >&6 else - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program main #ifndef __GNUC__ choke me @@ -3688,44 +3123,86 @@ else end _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else - ac_compiler_gnu=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_fc_compiler_gnu=$ac_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_fc_compiler_gnu" >&5 $as_echo "$ac_cv_fc_compiler_gnu" >&6; } ac_ext=$ac_save_ext -ac_test_FCFLAGS=${FCFLAGS+set} -ac_save_FCFLAGS=$FCFLAGS +ac_test_FFLAGS=${FCFLAGS+set} +ac_save_FFLAGS=$FCFLAGS FCFLAGS= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5 +{ $as_echo "$as_me:$LINENO: checking whether $FC accepts -g" >&5 $as_echo_n "checking whether $FC accepts -g... " >&6; } -if ${ac_cv_prog_fc_g+:} false; then : +if test "${ac_cv_prog_fc_g+set}" = set; then $as_echo_n "(cached) " >&6 else FCFLAGS=-g -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF program main end _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_cv_prog_fc_g=yes else - ac_cv_prog_fc_g=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_prog_fc_g=no fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_fc_g" >&5 $as_echo "$ac_cv_prog_fc_g" >&6; } -if test "$ac_test_FCFLAGS" = set; then - FCFLAGS=$ac_save_FCFLAGS +if test "$ac_test_FFLAGS" = set; then + FCFLAGS=$ac_save_FFLAGS elif test $ac_cv_prog_fc_g = yes; then if test "x$ac_cv_fc_compiler_gnu" = xyes; then FCFLAGS="-g -O2" @@ -3740,11 +3217,6 @@ else fi fi -if test $ac_compiler_gnu = yes; then - GFC=yes -else - GFC= -fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -3763,9 +3235,9 @@ if test -n "$ac_tool_prefix"; then do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : +if test "${ac_cv_prog_CC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -3776,24 +3248,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 + { $as_echo "$as_me:$LINENO: result: $CC" >&5 $as_echo "$CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi @@ -3807,9 +3279,9 @@ if test -z "$CC"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then @@ -3820,24 +3292,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 + { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi @@ -3850,7 +3322,7 @@ done else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -3859,42 +3331,62 @@ esac fi -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "no acceptable C compiler found in \$PATH -See \`config.log' for more details" "$LINENO" 5; } +{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; }; } # Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +$as_echo "$as_me:$LINENO: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" +{ (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 +{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if ${ac_cv_c_compiler_gnu+:} false; then : +if test "${ac_cv_c_compiler_gnu+set}" = set; then $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int @@ -3908,16 +3400,37 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else - ac_compiler_gnu=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes @@ -3926,16 +3439,20 @@ else fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } -if ${ac_cv_prog_cc_g+:} false; then : +if test "${ac_cv_prog_cc_g+set}" = set; then $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int @@ -3946,11 +3463,35 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else - CFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int @@ -3961,12 +3502,36 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : else - ac_c_werror_flag=$ac_save_c_werror_flag + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int @@ -3977,17 +3542,42 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS @@ -4004,18 +3594,23 @@ else CFLAGS= fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 +{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if ${ac_cv_prog_cc_c89+:} false; then : +if test "${ac_cv_prog_cc_c89+set}" = set; then $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include -struct stat; +#include +#include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); @@ -4067,9 +3662,32 @@ for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_cv_prog_cc_c89=$ac_arg +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi + rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done @@ -4080,84 +3698,23 @@ fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 + { $as_echo "$as_me:$LINENO: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 + { $as_echo "$as_me:$LINENO: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 + { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac -if test "x$ac_cv_prog_cc_c89" != xno; then : - -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 -$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } -if ${am_cv_prog_cc_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int -main () -{ - ; - return 0; -} -_ACEOF - # Make sure it works both with $CC and with simple cc. - # Following AC_PROG_CC_C_O, we do the test twice because some - # compilers refuse to overwrite an existing .o file with -o, - # though they will create one. - am_cv_prog_cc_c_o=yes - for am_i in 1 2; do - if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 - ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } \ - && test -f conftest2.$ac_objext; then - : OK - else - am_cv_prog_cc_c_o=no - break - fi - done - rm -f core conftest* - unset am_i -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 -$as_echo "$am_cv_prog_cc_c_o" >&6; } -if test "$am_cv_prog_cc_c_o" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu - DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" @@ -4170,14 +3727,14 @@ am__doit: .PHONY: am__doit END # If we don't find an include directive, just comment out the code. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 +{ $as_echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 $as_echo_n "checking for style of include used by $am_make... " >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf -# Ignore all kinds of additional output from 'make'. +# Ignore all kinds of additional output from `make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include @@ -4198,19 +3755,18 @@ if test "$am__include" = "#"; then fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 +{ $as_echo "$as_me:$LINENO: result: $_am_result" >&5 $as_echo "$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. -if test "${enable_dependency_tracking+set}" = set; then : +if test "${enable_dependency_tracking+set}" = set; then enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' - am__nodep='_no' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= @@ -4224,18 +3780,17 @@ fi depcc="$CC" am_compiler_list= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CC_dependencies_compiler_type+:} false; then : +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. @@ -4269,16 +3824,16 @@ else : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - # We check with '-c' and '-o' for the sake of the "dashmstdout" + # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. + # handle `-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in @@ -4287,16 +3842,16 @@ else test "$am__universal" = false || continue ;; nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has + msvisualcpp | msvcmsys) + # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} @@ -4335,7 +3890,7 @@ else fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 +{ $as_echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type @@ -4355,11 +3910,15 @@ CFLAGS="$save_CFLAGS"; # Sanity checks, although redundant (useful when debugging this configure.ac)! if test "X$FC" == "X" ; then - as_fn_error $? "Problem : No Fortran compiler specified nor found!" "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: Problem : No Fortran compiler specified nor found!" >&5 +$as_echo "$as_me: error: Problem : No Fortran compiler specified nor found!" >&2;} + { (exit 1); exit 1; }; } fi if test "X$CC" == "X" ; then - as_fn_error $? "Problem : No C compiler specified nor found!" "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: Problem : No C compiler specified nor found!" >&5 +$as_echo "$as_me: error: Problem : No C compiler specified nor found!" >&2;} + { (exit 1); exit 1; }; } fi if eval "$FC -qversion 2>&1 | grep XL 2>/dev/null" ; then # Some configurations of the XLF want "-WF," prepended to -D.. flags. @@ -4379,10 +3938,10 @@ fi # Note: Someday we will contemplate a fake MPI - configured version of PSBLAS ############################################################################### # First check whether the user required our serial (fake) mpi. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we want serial mpi stubs" >&5 +{ $as_echo "$as_me:$LINENO: checking whether we want serial mpi stubs" >&5 $as_echo_n "checking whether we want serial mpi stubs... " >&6; } # Check whether --enable-serial was given. -if test "${enable_serial+set}" = set; then : +if test "${enable_serial+set}" = set; then enableval=$enable_serial; pac_cv_serial_mpi="yes"; @@ -4390,11 +3949,11 @@ pac_cv_serial_mpi="yes"; fi if test x"$pac_cv_serial_mpi" == x"yes" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes." >&5 + { $as_echo "$as_me:$LINENO: result: yes." >&5 $as_echo "yes." >&6; } else pac_cv_serial_mpi="no"; - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no." >&5 + { $as_echo "$as_me:$LINENO: result: no." >&5 $as_echo "no." >&6; } fi @@ -4418,9 +3977,9 @@ if test "X$MPICC" = "X" ; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_MPICC+:} false; then : +if test "${ac_cv_prog_MPICC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$MPICC"; then @@ -4431,24 +3990,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_MPICC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS fi fi MPICC=$ac_cv_prog_MPICC if test -n "$MPICC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MPICC" >&5 + { $as_echo "$as_me:$LINENO: result: $MPICC" >&5 $as_echo "$MPICC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi @@ -4467,9 +4026,9 @@ fi do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_MPICC+:} false; then : +if test "${ac_cv_prog_MPICC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$MPICC"; then @@ -4480,54 +4039,142 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_MPICC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS fi fi MPICC=$ac_cv_prog_MPICC if test -n "$MPICC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MPICC" >&5 + { $as_echo "$as_me:$LINENO: result: $MPICC" >&5 $as_echo "$MPICC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$MPICC" && break +done +test -n "$MPICC" || MPICC="$CC" + + acx_mpi_save_CC="$CC" + CC="$MPICC" + + + +if test x = x"$MPILIBS"; then + { $as_echo "$as_me:$LINENO: checking for MPI_Init" >&5 +$as_echo_n "checking for MPI_Init... " >&6; } +if test "${ac_cv_func_MPI_Init+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define MPI_Init to an innocuous variant, in case declares MPI_Init. + For example, HP-UX 11i declares gettimeofday. */ +#define MPI_Init innocuous_MPI_Init +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char MPI_Init (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ - test -n "$MPICC" && break -done -test -n "$MPICC" || MPICC="$CC" +#ifdef __STDC__ +# include +#else +# include +#endif - acx_mpi_save_CC="$CC" - CC="$MPICC" +#undef MPI_Init + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char MPI_Init (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_MPI_Init || defined __stub___MPI_Init +choke me +#endif +int +main () +{ +return MPI_Init (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_func_MPI_Init=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_func_MPI_Init=no +fi -if test x = x"$MPILIBS"; then - ac_fn_c_check_func "$LINENO" "MPI_Init" "ac_cv_func_MPI_Init" -if test "x$ac_cv_func_MPI_Init" = xyes; then : +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_MPI_Init" >&5 +$as_echo "$ac_cv_func_MPI_Init" >&6; } +if test "x$ac_cv_func_MPI_Init" = x""yes; then MPILIBS=" " fi fi if test x = x"$MPILIBS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 + { $as_echo "$as_me:$LINENO: checking for MPI_Init in -lmpi" >&5 $as_echo_n "checking for MPI_Init in -lmpi... " >&6; } -if ${ac_cv_lib_mpi_MPI_Init+:} false; then : +if test "${ac_cv_lib_mpi_MPI_Init+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lmpi $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -4545,31 +4192,60 @@ return MPI_Init (); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_mpi_MPI_Init=yes else - ac_cv_lib_mpi_MPI_Init=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_mpi_MPI_Init=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mpi_MPI_Init" >&5 $as_echo "$ac_cv_lib_mpi_MPI_Init" >&6; } -if test "x$ac_cv_lib_mpi_MPI_Init" = xyes; then : +if test "x$ac_cv_lib_mpi_MPI_Init" = x""yes; then MPILIBS="-lmpi" fi fi if test x = x"$MPILIBS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 + { $as_echo "$as_me:$LINENO: checking for MPI_Init in -lmpich" >&5 $as_echo_n "checking for MPI_Init in -lmpich... " >&6; } -if ${ac_cv_lib_mpich_MPI_Init+:} false; then : +if test "${ac_cv_lib_mpich_MPI_Init+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lmpich $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -4587,27 +4263,56 @@ return MPI_Init (); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_mpich_MPI_Init=yes else - ac_cv_lib_mpich_MPI_Init=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_mpich_MPI_Init=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mpich_MPI_Init" >&5 $as_echo "$ac_cv_lib_mpich_MPI_Init" >&6; } -if test "x$ac_cv_lib_mpich_MPI_Init" = xyes; then : +if test "x$ac_cv_lib_mpich_MPI_Init" = x""yes; then MPILIBS="-lmpich" fi fi if test x != x"$MPILIBS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mpi.h" >&5 + { $as_echo "$as_me:$LINENO: checking for mpi.h" >&5 $as_echo_n "checking for mpi.h... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int @@ -4618,14 +4323,35 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } else - MPILIBS="" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + MPILIBS="" + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi @@ -4635,11 +4361,15 @@ CC="$acx_mpi_save_CC" # Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: if test x = x"$MPILIBS"; then - as_fn_error $? "Cannot find any suitable MPI implementation for C" "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: Cannot find any suitable MPI implementation for C" >&5 +$as_echo "$as_me: error: Cannot find any suitable MPI implementation for C" >&2;} + { (exit 1); exit 1; }; } : else -$as_echo "#define HAVE_MPI 1" >>confdefs.h +cat >>confdefs.h <<\_ACEOF +#define HAVE_MPI 1 +_ACEOF : fi @@ -4658,9 +4388,9 @@ if test "X$MPIFC" = "X" ; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_MPIFC+:} false; then : +if test "${ac_cv_prog_MPIFC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$MPIFC"; then @@ -4671,24 +4401,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_MPIFC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS fi fi MPIFC=$ac_cv_prog_MPIFC if test -n "$MPIFC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MPIFC" >&5 + { $as_echo "$as_me:$LINENO: result: $MPIFC" >&5 $as_echo "$MPIFC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi @@ -4708,9 +4438,9 @@ fi do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_MPIFC+:} false; then : +if test "${ac_cv_prog_MPIFC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$MPIFC"; then @@ -4721,24 +4451,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_MPIFC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done - done +done IFS=$as_save_IFS fi fi MPIFC=$ac_cv_prog_MPIFC if test -n "$MPIFC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MPIFC" >&5 + { $as_echo "$as_me:$LINENO: result: $MPIFC" >&5 $as_echo "$MPIFC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi @@ -4753,159 +4483,305 @@ test -n "$MPIFC" || MPIFC="$FC" if test x = x"$MPILIBS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPI_Init" >&5 + { $as_echo "$as_me:$LINENO: checking for MPI_Init" >&5 $as_echo_n "checking for MPI_Init... " >&6; } - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program main call MPI_Init end _ACEOF -if ac_fn_fc_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then MPILIBS=" " - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi if test x = x"$MPILIBS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lfmpi" >&5 + { $as_echo "$as_me:$LINENO: checking for MPI_Init in -lfmpi" >&5 $as_echo_n "checking for MPI_Init in -lfmpi... " >&6; } -if ${ac_cv_lib_fmpi_MPI_Init+:} false; then : +if test "${ac_cv_lib_fmpi_MPI_Init+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lfmpi $LIBS" -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF program main call MPI_Init end _ACEOF -if ac_fn_fc_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_fmpi_MPI_Init=yes else - ac_cv_lib_fmpi_MPI_Init=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_fmpi_MPI_Init=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fmpi_MPI_Init" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_fmpi_MPI_Init" >&5 $as_echo "$ac_cv_lib_fmpi_MPI_Init" >&6; } -if test "x$ac_cv_lib_fmpi_MPI_Init" = xyes; then : +if test "x$ac_cv_lib_fmpi_MPI_Init" = x""yes; then MPILIBS="-lfmpi" fi fi if test x = x"$MPILIBS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpichf90" >&5 + { $as_echo "$as_me:$LINENO: checking for MPI_Init in -lmpichf90" >&5 $as_echo_n "checking for MPI_Init in -lmpichf90... " >&6; } -if ${ac_cv_lib_mpichf90_MPI_Init+:} false; then : +if test "${ac_cv_lib_mpichf90_MPI_Init+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lmpichf90 $LIBS" -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF program main call MPI_Init end _ACEOF -if ac_fn_fc_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_mpichf90_MPI_Init=yes else - ac_cv_lib_mpichf90_MPI_Init=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_mpichf90_MPI_Init=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpichf90_MPI_Init" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mpichf90_MPI_Init" >&5 $as_echo "$ac_cv_lib_mpichf90_MPI_Init" >&6; } -if test "x$ac_cv_lib_mpichf90_MPI_Init" = xyes; then : +if test "x$ac_cv_lib_mpichf90_MPI_Init" = x""yes; then MPILIBS="-lmpichf90" fi fi if test x = x"$MPILIBS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpi" >&5 + { $as_echo "$as_me:$LINENO: checking for MPI_Init in -lmpi" >&5 $as_echo_n "checking for MPI_Init in -lmpi... " >&6; } -if ${ac_cv_lib_mpi_MPI_Init+:} false; then : +if test "${ac_cv_lib_mpi_MPI_Init+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lmpi $LIBS" -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF program main call MPI_Init end _ACEOF -if ac_fn_fc_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_mpi_MPI_Init=yes else - ac_cv_lib_mpi_MPI_Init=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_mpi_MPI_Init=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpi_MPI_Init" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mpi_MPI_Init" >&5 $as_echo "$ac_cv_lib_mpi_MPI_Init" >&6; } -if test "x$ac_cv_lib_mpi_MPI_Init" = xyes; then : +if test "x$ac_cv_lib_mpi_MPI_Init" = x""yes; then MPILIBS="-lmpi" fi fi if test x = x"$MPILIBS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPI_Init in -lmpich" >&5 + { $as_echo "$as_me:$LINENO: checking for MPI_Init in -lmpich" >&5 $as_echo_n "checking for MPI_Init in -lmpich... " >&6; } -if ${ac_cv_lib_mpich_MPI_Init+:} false; then : +if test "${ac_cv_lib_mpich_MPI_Init+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lmpich $LIBS" -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF program main call MPI_Init end _ACEOF -if ac_fn_fc_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_mpich_MPI_Init=yes else - ac_cv_lib_mpich_MPI_Init=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_mpich_MPI_Init=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpich_MPI_Init" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mpich_MPI_Init" >&5 $as_echo "$ac_cv_lib_mpich_MPI_Init" >&6; } -if test "x$ac_cv_lib_mpich_MPI_Init" = xyes; then : +if test "x$ac_cv_lib_mpich_MPI_Init" = x""yes; then MPILIBS="-lmpich" fi fi if test x != x"$MPILIBS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mpif.h" >&5 + { $as_echo "$as_me:$LINENO: checking for mpif.h" >&5 $as_echo_n "checking for mpif.h... " >&6; } - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program main include 'mpif.h' end _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } else - MPILIBS="" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + MPILIBS="" + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi @@ -4915,11 +4791,15 @@ FC="$acx_mpi_save_FC" # Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: if test x = x"$MPILIBS"; then - as_fn_error $? "Cannot find any suitable MPI implementation for Fortran" "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: Cannot find any suitable MPI implementation for Fortran" >&5 +$as_echo "$as_me: error: Cannot find any suitable MPI implementation for Fortran" >&2;} + { (exit 1); exit 1; }; } : else -$as_echo "#define HAVE_MPI 1" >>confdefs.h +cat >>confdefs.h <<\_ACEOF +#define HAVE_MPI 1 +_ACEOF : fi @@ -4942,11 +4822,15 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu ############################################################################### if test "X$MPIFC" == "X" ; then - as_fn_error $? "Problem : No MPI Fortran compiler specified nor found!" "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: Problem : No MPI Fortran compiler specified nor found!" >&5 +$as_echo "$as_me: error: Problem : No MPI Fortran compiler specified nor found!" >&2;} + { (exit 1); exit 1; }; } fi if test "X$MPICC" == "X" ; then - as_fn_error $? "Problem : No MPI C compiler specified nor found!" "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: Problem : No MPI C compiler specified nor found!" >&5 +$as_echo "$as_me: error: Problem : No MPI C compiler specified nor found!" >&2;} + { (exit 1); exit 1; }; } fi ############################################################################### @@ -4954,54 +4838,54 @@ fi ############################################################################### -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether additional CCOPT flags should be added (should be invoked only once)" >&5 +{ $as_echo "$as_me:$LINENO: checking whether additional CCOPT flags should be added (should be invoked only once)" >&5 $as_echo_n "checking whether additional CCOPT flags should be added (should be invoked only once)... " >&6; } # Check whether --with-ccopt was given. -if test "${with_ccopt+set}" = set; then : +if test "${with_ccopt+set}" = set; then withval=$with_ccopt; CCOPT="${withval} ${CCOPT}" -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: CCOPT = ${CCOPT}" >&5 +{ $as_echo "$as_me:$LINENO: result: CCOPT = ${CCOPT}" >&5 $as_echo "CCOPT = ${CCOPT}" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether additional FCOPT flags should be added (should be invoked only once)" >&5 +{ $as_echo "$as_me:$LINENO: checking whether additional FCOPT flags should be added (should be invoked only once)" >&5 $as_echo_n "checking whether additional FCOPT flags should be added (should be invoked only once)... " >&6; } # Check whether --with-fcopt was given. -if test "${with_fcopt+set}" = set; then : +if test "${with_fcopt+set}" = set; then withval=$with_fcopt; FCOPT="${withval} ${FCOPT}" -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: FCOPT = ${FCOPT}" >&5 +{ $as_echo "$as_me:$LINENO: result: FCOPT = ${FCOPT}" >&5 $as_echo "FCOPT = ${FCOPT}" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether additional libraries are needed" >&5 +{ $as_echo "$as_me:$LINENO: checking whether additional libraries are needed" >&5 $as_echo_n "checking whether additional libraries are needed... " >&6; } # Check whether --with-libs was given. -if test "${with_libs+set}" = set; then : +if test "${with_libs+set}" = set; then withval=$with_libs; LIBS="${withval} ${LIBS}" -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: LIBS = ${LIBS}" >&5 +{ $as_echo "$as_me:$LINENO: result: LIBS = ${LIBS}" >&5 $as_echo "LIBS = ${LIBS}" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi @@ -5009,36 +4893,36 @@ fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether additional CLIBS flags should be added (should be invoked only once)" >&5 +{ $as_echo "$as_me:$LINENO: checking whether additional CLIBS flags should be added (should be invoked only once)" >&5 $as_echo_n "checking whether additional CLIBS flags should be added (should be invoked only once)... " >&6; } # Check whether --with-clibs was given. -if test "${with_clibs+set}" = set; then : +if test "${with_clibs+set}" = set; then withval=$with_clibs; CLIBS="${withval} ${CLIBS}" -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: CLIBS = ${CLIBS}" >&5 +{ $as_echo "$as_me:$LINENO: result: CLIBS = ${CLIBS}" >&5 $as_echo "CLIBS = ${CLIBS}" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether additional FLIBS flags should be added (should be invoked only once)" >&5 +{ $as_echo "$as_me:$LINENO: checking whether additional FLIBS flags should be added (should be invoked only once)" >&5 $as_echo_n "checking whether additional FLIBS flags should be added (should be invoked only once)... " >&6; } # Check whether --with-flibs was given. -if test "${with_flibs+set}" = set; then : +if test "${with_flibs+set}" = set; then withval=$with_flibs; FLIBS="${withval} ${FLIBS}" -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: FLIBS = ${FLIBS}" >&5 +{ $as_echo "$as_me:$LINENO: result: FLIBS = ${FLIBS}" >&5 $as_echo "FLIBS = ${FLIBS}" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi @@ -5046,54 +4930,54 @@ fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether additional LIBRARYPATH flags should be added (should be invoked only once)" >&5 +{ $as_echo "$as_me:$LINENO: checking whether additional LIBRARYPATH flags should be added (should be invoked only once)" >&5 $as_echo_n "checking whether additional LIBRARYPATH flags should be added (should be invoked only once)... " >&6; } # Check whether --with-library-path was given. -if test "${with_library_path+set}" = set; then : +if test "${with_library_path+set}" = set; then withval=$with_library_path; LIBRARYPATH="${withval} ${LIBRARYPATH}" -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: LIBRARYPATH = ${LIBRARYPATH}" >&5 +{ $as_echo "$as_me:$LINENO: result: LIBRARYPATH = ${LIBRARYPATH}" >&5 $as_echo "LIBRARYPATH = ${LIBRARYPATH}" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether additional INCLUDEPATH flags should be added (should be invoked only once)" >&5 +{ $as_echo "$as_me:$LINENO: checking whether additional INCLUDEPATH flags should be added (should be invoked only once)" >&5 $as_echo_n "checking whether additional INCLUDEPATH flags should be added (should be invoked only once)... " >&6; } # Check whether --with-include-path was given. -if test "${with_include_path+set}" = set; then : +if test "${with_include_path+set}" = set; then withval=$with_include_path; INCLUDEPATH="${withval} ${INCLUDEPATH}" -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: INCLUDEPATH = ${INCLUDEPATH}" >&5 +{ $as_echo "$as_me:$LINENO: result: INCLUDEPATH = ${INCLUDEPATH}" >&5 $as_echo "INCLUDEPATH = ${INCLUDEPATH}" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether additional MODULE_PATH flags should be added (should be invoked only once)" >&5 +{ $as_echo "$as_me:$LINENO: checking whether additional MODULE_PATH flags should be added (should be invoked only once)" >&5 $as_echo_n "checking whether additional MODULE_PATH flags should be added (should be invoked only once)... " >&6; } # Check whether --with-module-path was given. -if test "${with_module_path+set}" = set; then : +if test "${with_module_path+set}" = set; then withval=$with_module_path; MODULE_PATH="${withval} ${MODULE_PATH}" -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: MODULE_PATH = ${MODULE_PATH}" >&5 +{ $as_echo "$as_me:$LINENO: result: MODULE_PATH = ${MODULE_PATH}" >&5 $as_echo "MODULE_PATH = ${MODULE_PATH}" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi @@ -5102,18 +4986,18 @@ fi # we just gave the user the chance to append values to these variables -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether additional libraries are needed" >&5 +{ $as_echo "$as_me:$LINENO: checking whether additional libraries are needed" >&5 $as_echo_n "checking whether additional libraries are needed... " >&6; } # Check whether --with-extra-libs was given. -if test "${with_extra_libs+set}" = set; then : +if test "${with_extra_libs+set}" = set; then withval=$with_extra_libs; EXTRA_LIBS="${withval}" -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: EXTRA_LIBS = ${EXTRA_LIBS}" >&5 +{ $as_echo "$as_me:$LINENO: result: EXTRA_LIBS = ${EXTRA_LIBS}" >&5 $as_echo "EXTRA_LIBS = ${EXTRA_LIBS}" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi @@ -5131,7 +5015,7 @@ fi psblas_cv_fc="" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU Fortran" >&5 +{ $as_echo "$as_me:$LINENO: checking for GNU Fortran" >&5 $as_echo_n "checking for GNU Fortran... " >&6; } ac_ext=${ac_fc_srcext-f} ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' @@ -5141,7 +5025,7 @@ ac_compiler_gnu=$ac_cv_fc_compiler_gnu ac_exeext='' ac_ext='F90' ac_fc=${MPIFC-$FC}; - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program main #ifdef __GNUC__ @@ -5151,17 +5035,38 @@ ac_compiler_gnu=$ac_cv_fc_compiler_gnu #endif end _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } psblas_cv_fc="gcc" else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -5171,7 +5076,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Cray Fortran" >&5 +{ $as_echo "$as_me:$LINENO: checking for Cray Fortran" >&5 $as_echo_n "checking for Cray Fortran... " >&6; } ac_ext=${ac_fc_srcext-f} ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' @@ -5181,7 +5086,7 @@ ac_compiler_gnu=$ac_cv_fc_compiler_gnu ac_exeext='' ac_ext='F90' ac_fc=${MPIFC-$FC}; - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program main #ifdef _CRAYFTN @@ -5191,17 +5096,38 @@ ac_compiler_gnu=$ac_cv_fc_compiler_gnu #endif end _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } psblas_cv_fc="cray" else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -5242,12 +5168,12 @@ if test x"$psblas_cv_fc" == "x" ; then else psblas_cv_fc="" # unsupported MPI Fortran compiler - { $as_echo "$as_me:${as_lineno-$LINENO}: Unknown Fortran compiler, proceeding with fingers crossed !" >&5 + { $as_echo "$as_me:$LINENO: Unknown Fortran compiler, proceeding with fingers crossed !" >&5 $as_echo "$as_me: Unknown Fortran compiler, proceeding with fingers crossed !" >&6;} fi fi if test "X$psblas_cv_fc" == "Xgcc" ; then -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for recent GNU Fortran" >&5 +{ $as_echo "$as_me:$LINENO: checking for recent GNU Fortran" >&5 $as_echo_n "checking for recent GNU Fortran... " >&6; } ac_ext=${ac_fc_srcext-f} ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' @@ -5257,7 +5183,7 @@ ac_compiler_gnu=$ac_cv_fc_compiler_gnu ac_exeext='' ac_ext='F90' ac_fc=${MPIFC-$FC}; - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program main #if ( __GNUC__ >= 4 && __GNUC_MINOR__ >= 8 ) || ( __GNUC__ > 4 ) @@ -5267,20 +5193,43 @@ ac_compiler_gnu=$ac_cv_fc_compiler_gnu #endif end _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } : else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: Sorry, we require GNU Fortran version 4.8.4 or later." >&5 + { $as_echo "$as_me:$LINENO: Sorry, we require GNU Fortran version 4.8.4 or later." >&5 $as_echo "$as_me: Sorry, we require GNU Fortran version 4.8.4 or later." >&6;} echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - as_fn_error $? "Bailing out." "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: Bailing out." >&5 +$as_echo "$as_me: error: Bailing out." >&2;} + { (exit 1); exit 1; }; } fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -5308,14 +5257,14 @@ ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then - if ${ac_cv_prog_CPP+:} false; then : + if test "${ac_cv_prog_CPP+set}" = set; then $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded @@ -5330,7 +5279,11 @@ do # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include @@ -5339,34 +5292,78 @@ do #endif Syntax error _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + # Broken: fails on valid input. continue fi -rm -f conftest.err conftest.i conftest.$ac_ext + +rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then # Broken: success on invalid input. continue else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + # Passes both tests. ac_preproc_ok=: break fi -rm -f conftest.err conftest.i conftest.$ac_ext + +rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then break fi @@ -5378,7 +5375,7 @@ fi else ac_cv_prog_CPP=$CPP fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +{ $as_echo "$as_me:$LINENO: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes @@ -5389,7 +5386,11 @@ do # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include @@ -5398,40 +5399,87 @@ do #endif Syntax error _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + # Broken: fails on valid input. continue fi -rm -f conftest.err conftest.i conftest.$ac_ext + +rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then # Broken: success on invalid input. continue else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + # Passes both tests. ac_preproc_ok=: break fi -rm -f conftest.err conftest.i conftest.$ac_ext + +rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } +{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; }; } fi ac_ext=c @@ -5441,9 +5489,9 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if ${ac_cv_path_GREP+:} false; then : +if test "${ac_cv_path_GREP+set}" = set; then $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then @@ -5454,10 +5502,10 @@ for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do + for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_GREP" || continue + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in @@ -5474,7 +5522,7 @@ case `"$ac_path_GREP" --version 2>&1` in $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val + ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" @@ -5489,24 +5537,26 @@ esac $ac_path_GREP_found && break 3 done done - done +done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } fi else ac_cv_path_GREP=$GREP fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +{ $as_echo "$as_me:$LINENO: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } -if ${ac_cv_path_EGREP+:} false; then : +if test "${ac_cv_path_EGREP+set}" = set; then $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 @@ -5520,10 +5570,10 @@ for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do + for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in @@ -5540,7 +5590,7 @@ case `"$ac_path_EGREP" --version 2>&1` in $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val + ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" @@ -5555,10 +5605,12 @@ esac $ac_path_EGREP_found && break 3 done done - done +done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then - as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } fi else ac_cv_path_EGREP=$EGREP @@ -5566,17 +5618,21 @@ fi fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 +{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : +if test "${ac_cv_header_stdc+set}" = set; then $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include @@ -5591,23 +5647,48 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_cv_header_stdc=yes else - ac_cv_header_stdc=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : - + $EGREP "memchr" >/dev/null 2>&1; then + : else ac_cv_header_stdc=no fi @@ -5617,14 +5698,18 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : - + $EGREP "free" >/dev/null 2>&1; then + : else ac_cv_header_stdc=no fi @@ -5634,10 +5719,14 @@ fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : + if test "$cross_compiling" = yes; then : else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include @@ -5664,33 +5753,118 @@ main () return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : else - ac_cv_header_stdc=no + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi + fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then -$as_echo "#define STDC_HEADERS 1" >>confdefs.h +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : +do +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -5704,26 +5878,352 @@ done # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void *" >&5 +{ $as_echo "$as_me:$LINENO: checking size of void *" >&5 $as_echo_n "checking size of void *... " >&6; } -if ${ac_cv_sizeof_void_p+:} false; then : +if test "${ac_cv_sizeof_void_p+set}" = set; then $as_echo_n "(cached) " >&6 else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void *))" "ac_cv_sizeof_void_p" "$ac_includes_default"; then : + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (void *))) >= 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=0 ac_mid=0 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (void *))) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid; break +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo=`expr $ac_mid + 1` + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid + 1` +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (void *))) < 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=-1 ac_mid=-1 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (void *))) >= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=$ac_mid; break +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_hi=`expr '(' $ac_mid ')' - 1` + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid` +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo= ac_hi= +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (void *))) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo=`expr '(' $ac_mid ')' + 1` +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in +?*) ac_cv_sizeof_void_p=$ac_lo;; +'') if test "$ac_cv_type_void_p" = yes; then + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (void *) +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: cannot compute sizeof (void *) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; }; } + else + ac_cv_sizeof_void_p=0 + fi ;; +esac +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +static long int longval () { return (long int) (sizeof (void *)); } +static unsigned long int ulongval () { return (long int) (sizeof (void *)); } +#include +#include +int +main () +{ + + FILE *f = fopen ("conftest.val", "w"); + if (! f) + return 1; + if (((long int) (sizeof (void *))) < 0) + { + long int i = longval (); + if (i != ((long int) (sizeof (void *)))) + return 1; + fprintf (f, "%ld", i); + } + else + { + unsigned long int i = ulongval (); + if (i != ((long int) (sizeof (void *)))) + return 1; + fprintf (f, "%lu", i); + } + /* Do not output a trailing newline, as this causes \r\n confusion + on some platforms. */ + return ferror (f) || fclose (f) != 0; + ; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_sizeof_void_p=`cat conftest.val` else - if test "$ac_cv_type_void_p" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +if test "$ac_cv_type_void_p" = yes; then + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "cannot compute sizeof (void *) -See \`config.log' for more details" "$LINENO" 5; } +{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (void *) +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: cannot compute sizeof (void *) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; }; } else ac_cv_sizeof_void_p=0 fi fi - +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +rm -f conftest.val fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_void_p" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_void_p" >&5 $as_echo "$ac_cv_sizeof_void_p" >&6; } @@ -5742,12 +6242,12 @@ ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_fc_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran name-mangling scheme" >&5 +{ $as_echo "$as_me:$LINENO: checking for Fortran name-mangling scheme" >&5 $as_echo_n "checking for Fortran name-mangling scheme... " >&6; } -if ${ac_cv_fc_mangling+:} false; then : +if test "${ac_cv_fc_mangling+set}" = set; then $as_echo_n "(cached) " >&6 else - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF subroutine foobar() return end @@ -5755,7 +6255,24 @@ else return end _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then mv conftest.$ac_objext cfortran_test.$ac_objext ac_save_LIBS=$LIBS @@ -5770,7 +6287,11 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu for ac_foobar in foobar FOOBAR; do for ac_underscore in "" "_"; do ac_func="$ac_foobar$ac_underscore" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -5788,11 +6309,38 @@ return $ac_func (); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_success=yes; break 2 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext done done ac_ext=${ac_fc_srcext-f} @@ -5820,7 +6368,11 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_success_extra=no for ac_extra in "" "_"; do ac_func="$ac_foo_bar$ac_underscore$ac_extra" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -5838,11 +6390,38 @@ return $ac_func (); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_success_extra=yes; break +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext done ac_ext=${ac_fc_srcext-f} ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' @@ -5851,16 +6430,16 @@ ac_compiler_gnu=$ac_cv_fc_compiler_gnu if test "$ac_success_extra" = "yes"; then ac_cv_fc_mangling="$ac_case case" - if test -z "$ac_underscore"; then - ac_cv_fc_mangling="$ac_cv_fc_mangling, no underscore" + if test -z "$ac_underscore"; then + ac_cv_fc_mangling="$ac_cv_fc_mangling, no underscore" else - ac_cv_fc_mangling="$ac_cv_fc_mangling, underscore" - fi - if test -z "$ac_extra"; then - ac_cv_fc_mangling="$ac_cv_fc_mangling, no extra underscore" + ac_cv_fc_mangling="$ac_cv_fc_mangling, underscore" + fi + if test -z "$ac_extra"; then + ac_cv_fc_mangling="$ac_cv_fc_mangling, no extra underscore" else - ac_cv_fc_mangling="$ac_cv_fc_mangling, extra underscore" - fi + ac_cv_fc_mangling="$ac_cv_fc_mangling, extra underscore" + fi else ac_cv_fc_mangling="unknown" fi @@ -5872,15 +6451,22 @@ ac_compiler_gnu=$ac_cv_fc_compiler_gnu rm -rf conftest* rm -f cfortran_test* else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compile a simple Fortran program -See \`config.log' for more details" "$LINENO" 5; } +{ { $as_echo "$as_me:$LINENO: error: cannot compile a simple Fortran program +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: cannot compile a simple Fortran program +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; }; } fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_mangling" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_fc_mangling" >&5 $as_echo "$ac_cv_fc_mangling" >&6; } if test "X$psblas_cv_fc" == X"pg" ; then @@ -5898,7 +6484,7 @@ pac_fc_sec_under=${pac_fc_under#*,} pac_fc_sec_under=${pac_fc_sec_under# } pac_fc_under=${pac_fc_under%%,*} pac_fc_under=${pac_fc_under# } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking defines for C/Fortran name interfaces" >&5 +{ $as_echo "$as_me:$LINENO: checking defines for C/Fortran name interfaces" >&5 $as_echo_n "checking defines for C/Fortran name interfaces... " >&6; } if test "x$pac_fc_case" == "xlower case"; then if test "x$pac_fc_under" == "xunderscore"; then @@ -5933,7 +6519,7 @@ else fi CDEFINES="$pac_f_c_names $CDEFINES" -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pac_f_c_names " >&5 +{ $as_echo "$as_me:$LINENO: result: $pac_f_c_names " >&5 $as_echo " $pac_f_c_names " >&6; } ############################################################################### @@ -6039,9 +6625,9 @@ then else -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking fortran 90 modules extension" >&5 +{ $as_echo "$as_me:$LINENO: checking fortran 90 modules extension" >&5 $as_echo_n "checking fortran 90 modules extension... " >&6; } -if ${ax_cv_f90_modext+:} false; then : +if test "${ax_cv_f90_modext+set}" = set; then $as_echo_n "(cached) " >&6 else ac_ext=${ac_fc_srcext-f} @@ -6055,7 +6641,7 @@ while test \( -f tmpdir_$i \) -o \( -d tmpdir_$i \) ; do done mkdir tmpdir_$i cd tmpdir_$i -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF module conftest_module contains @@ -6065,7 +6651,24 @@ cat > conftest.$ac_ext <<_ACEOF end module conftest_module _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ax_cv_f90_modext=`ls | sed -n 's,conftest_module\.,,p'` if test x$ax_cv_f90_modext = x ; then ax_cv_f90_modext=`ls | sed -n 's,CONFTEST_MODULE\.,,p'` @@ -6075,8 +6678,12 @@ if ac_fn_fc_try_compile "$LINENO"; then : fi else - ax_cv_f90_modext=unknown + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ax_cv_f90_modext=unknown fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cd .. rm -fr tmpdir_$i @@ -6088,12 +6695,12 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_f90_modext" >&5 +{ $as_echo "$as_me:$LINENO: result: $ax_cv_f90_modext" >&5 $as_echo "$ax_cv_f90_modext" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking fortran 90 modules inclusion flag" >&5 +{ $as_echo "$as_me:$LINENO: checking fortran 90 modules inclusion flag" >&5 $as_echo_n "checking fortran 90 modules inclusion flag... " >&6; } -if ${ax_cv_f90_modflag+:} false; then : +if test "${ax_cv_f90_modflag+set}" = set; then $as_echo_n "(cached) " >&6 else ac_ext=${ac_fc_srcext-f} @@ -6108,7 +6715,7 @@ done mkdir tmpdir_$i cd tmpdir_$i ac_ext='f90'; -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF module conftest_module contains @@ -6118,9 +6725,32 @@ cat > conftest.$ac_ext <<_ACEOF end module conftest_module _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cd ..; ax_cv_f90_modflag="not found" @@ -6128,7 +6758,7 @@ for ax_flag in "-I " "-M" "-p"; do if test "$ax_cv_f90_modflag" = "not found" ; then ax_save_FCFLAGS="$FCFLAGS" FCFLAGS="$ax_save_FCFLAGS ${ax_flag}tmpdir_$i" - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program conftest_program use conftest_module @@ -6136,16 +6766,41 @@ for ax_flag in "-I " "-M" "-p"; do end program conftest_program _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ax_cv_f90_modflag="$ax_flag" +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext FCFLAGS="$ax_save_FCFLAGS" fi done rm -fr tmpdir_$i if test "$ax_cv_f90_modflag" = "not found" ; then - as_fn_error $? "unable to find compiler flag for modules inclusion" "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: unable to find compiler flag for modules inclusion" >&5 +$as_echo "$as_me: error: unable to find compiler flag for modules inclusion" >&2;} + { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -6155,7 +6810,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_f90_modflag" >&5 +{ $as_echo "$as_me:$LINENO: result: $ax_cv_f90_modflag" >&5 $as_echo "$ax_cv_f90_modflag" >&6; } MODEXT=".$ax_cv_f90_modext" FMFLAG="${ax_cv_f90_modflag%% *}" @@ -6174,7 +6829,7 @@ if test "X$FLINK" == "X" ; then FLINK=${MPF90} fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working installation of PSBLAS" >&5 +{ $as_echo "$as_me:$LINENO: checking for working installation of PSBLAS" >&5 $as_echo_n "checking for working installation of PSBLAS... " >&6; } ac_ext=${ac_fc_srcext-f} ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' @@ -6197,18 +6852,41 @@ elif test "x$pac_cv_psblas_dir" != "x"; then PSBLAS_INCLUDES="$FMFLAG$pac_cv_psblas_dir/modules $PSBLAS_INCLUDES" fi FCFLAGS=" $PSBLAS_INCLUDES $save_FCFLAGS" -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF program test use psb_base_mod end program test _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes." >&5 +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { $as_echo "$as_me:$LINENO: result: yes." >&5 $as_echo "yes." >&6; } else - as_fn_error $? "no. Could not find working version of PSBLAS." "$LINENO" 5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { { $as_echo "$as_me:$LINENO: error: no. Could not find working version of PSBLAS." >&5 +$as_echo "$as_me: error: no. Could not find working version of PSBLAS." >&2;} + { (exit 1); exit 1; }; } fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -6218,7 +6896,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu rm -f conftest* -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for version of PSBLAS" >&5 +{ $as_echo "$as_me:$LINENO: checking for version of PSBLAS" >&5 $as_echo_n "checking for version of PSBLAS... " >&6; } ac_ext=${ac_fc_srcext-f} ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' @@ -6241,55 +6919,209 @@ save_LDFLAGS=$LDFLAGS; PSBLAS_LIBS="-lpsb_krylov -lpsb_prec -lpsb_util -lpsb_base -L$PSBLAS_LIBDIR" LDFLAGS=" $PSBLAS_LIBS $save_LDFLAGS" +ac_link='${MPIFC-$FC} -o conftest${ac_exeext} $FCFLAGS conftest.$ac_ext $LDFLAGS $LIBS 1>&5' -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF program test use psb_base_mod, only : psb_version_major_ print *,psb_version_major_ end program test _ACEOF -if ac_fn_fc_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then pac_cv_psblas_major=`./conftest${ac_exeext} | sed 's/^ *//'` else - pac_cv_psblas_major="unknown" + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pac_cv_psblas_major="unknown" fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -cat > conftest.$ac_ext <<_ACEOF +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + +cat >conftest.$ac_ext <<_ACEOF program test use psb_base_mod, only : psb_version_minor_ print *,psb_version_minor_ end program test _ACEOF -if ac_fn_fc_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then pac_cv_psblas_minor=`./conftest${ac_exeext} | sed 's/^ *//'` else - pac_cv_psblas_minor="unknown" + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pac_cv_psblas_minor="unknown" fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -cat > conftest.$ac_ext <<_ACEOF +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + +cat >conftest.$ac_ext <<_ACEOF program test use psb_base_mod, only : psb_patchlevel_ print *,psb_patchlevel_ end program test _ACEOF -if ac_fn_fc_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then pac_cv_psblas_patchlevel=`./conftest${ac_exeext} | sed 's/^ *//'` else - pac_cv_psblas_patchlevel="unknown" + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pac_cv_psblas_patchlevel="unknown" +fi + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +cat >conftest.$ac_ext <<_ACEOF + + program test + use psb_base_mod, only : psb_sizeof_ip + print *,psb_sizeof_ip + end program test +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + pac_cv_psblas_sizeof_ip=`./conftest${ac_exeext} | sed 's/^ *//'` +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pac_cv_psblas_sizeof_ip="unknown" +fi + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +cat >conftest.$ac_ext <<_ACEOF + + program test + use psb_base_mod, only : psb_sizeof_lp + print *,psb_sizeof_lp + end program test +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + pac_cv_psblas_sizeof_lp=`./conftest${ac_exeext} | sed 's/^ *//'` +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pac_cv_psblas_sizeof_lp="unknown" fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LDFLAGS="$save_LDFLAGS"; FCFLAGS="$save_FCFLAGS"; -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Done" >&5 +{ $as_echo "$as_me:$LINENO: result: Done" >&5 $as_echo "Done" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -6299,21 +7131,31 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu if test "x$pac_cv_psblas_major" == "xunknown"; then - as_fn_error $? "PSBLAS version major \"$pac_cv_psblas_major\"." "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: PSBLAS version major \"$pac_cv_psblas_major\"." >&5 +$as_echo "$as_me: error: PSBLAS version major \"$pac_cv_psblas_major\"." >&2;} + { (exit 1); exit 1; }; } fi if test "x$pac_cv_psblas_minor" == "xunknown"; then - as_fn_error $? "PSBLAS version minor \"$pac_cv_psblas_minor\"." "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: PSBLAS version minor \"$pac_cv_psblas_minor\"." >&5 +$as_echo "$as_me: error: PSBLAS version minor \"$pac_cv_psblas_minor\"." >&2;} + { (exit 1); exit 1; }; } fi if test "x$pac_cv_psblas_patchlevel" == "xunknown"; then - as_fn_error $? "PSBLAS patchlevel \"$pac_cv_psblas_patchlevel\"." "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: PSBLAS patchlevel \"$pac_cv_psblas_patchlevel\"." >&5 +$as_echo "$as_me: error: PSBLAS patchlevel \"$pac_cv_psblas_patchlevel\"." >&2;} + { (exit 1); exit 1; }; } fi if (( $pac_cv_psblas_major < 3 )) || ( (( $pac_cv_psblas_major == 3 )) && (( $pac_cv_psblas_minor < 6 ))) ; then - as_fn_error $? "I need at least PSBLAS version 3.6." "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: I need at least PSBLAS version 3.6." >&5 +$as_echo "$as_me: error: I need at least PSBLAS version 3.6." >&2;} + { (exit 1); exit 1; }; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: Am configuring with PSBLAS version $pac_cv_psblas_major.$pac_cv_psblas_minor.$pac_cv_psblas_patchlevel." >&5 + { $as_echo "$as_me:$LINENO: Am configuring with PSBLAS version $pac_cv_psblas_major.$pac_cv_psblas_minor.$pac_cv_psblas_patchlevel." >&5 $as_echo "$as_me: Am configuring with PSBLAS version $pac_cv_psblas_major.$pac_cv_psblas_minor.$pac_cv_psblas_patchlevel." >&6;} fi +{ $as_echo "$as_me:$LINENO: PSBLAS size of LPK \"$pac_cv_psblas_sizeof_lp\"." >&5 +$as_echo "$as_me: PSBLAS size of LPK \"$pac_cv_psblas_sizeof_lp\"." >&6;} ############################################################################### # Parachute rules for ar and ranlib ... (could cause problems) ############################################################################### @@ -6344,7 +7186,7 @@ AR="${AR} -cur" if test x"$pac_cv_serial_mpi" == x"yes" ; then FDEFINES="$psblas_cv_define_prepend-DSERIAL_MPI $psblas_cv_define_prepend-DMPI_MOD $FDEFINES"; else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran MPI mod" >&5 + { $as_echo "$as_me:$LINENO: checking for Fortran MPI mod" >&5 $as_echo_n "checking for Fortran MPI mod... " >&6; } ac_ext=${ac_fc_srcext-f} ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' @@ -6354,23 +7196,44 @@ ac_compiler_gnu=$ac_cv_fc_compiler_gnu ac_exeext='' ac_ext='F90' ac_fc=${MPIFC-$FC}; - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program test use mpi end program test _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } FDEFINES="$psblas_cv_define_prepend-DMPI_MOD $FDEFINES" else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 FDEFINES="$psblas_cv_define_prepend-DMPI_H $FDEFINES" fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -6382,10 +7245,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we want long (8 bytes) integers" >&5 +{ $as_echo "$as_me:$LINENO: checking whether we want long (8 bytes) integers" >&5 $as_echo_n "checking whether we want long (8 bytes) integers... " >&6; } # Check whether --enable-long-integers was given. -if test "${enable_long_integers+set}" = set; then : +if test "${enable_long_integers+set}" = set; then enableval=$enable_long_integers; pac_cv_long_integers="yes"; @@ -6393,11 +7256,11 @@ pac_cv_long_integers="yes"; fi if test x"$pac_cv_long_integers" == x"yes" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes." >&5 + { $as_echo "$as_me:$LINENO: result: yes." >&5 $as_echo "yes." >&6; } else pac_cv_long_integers="no"; - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no." >&5 + { $as_echo "$as_me:$LINENO: result: no." >&5 $as_echo "no." >&6; } fi @@ -6414,7 +7277,7 @@ fi ac_exeext='' ac_ext='f90' ac_link='${MPIFC-$FC} -o conftest${ac_exeext} $FCFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking support for Fortran EXTENDS" >&5 +{ $as_echo "$as_me:$LINENO: checking support for Fortran EXTENDS" >&5 $as_echo_n "checking support for Fortran EXTENDS... " >&6; } ac_ext=${ac_fc_srcext-f} ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' @@ -6424,7 +7287,7 @@ ac_compiler_gnu=$ac_cv_fc_compiler_gnu ac_exeext='' ac_ext='F90' ac_fc=${MPIFC-$FC}; - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program conftest type foo @@ -6436,19 +7299,43 @@ program conftest type(bar) :: barvar end program conftest _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } : else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - as_fn_error $? "Sorry, cannot build PSBLAS without support for EXTENDS. - Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.8." "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: Sorry, cannot build PSBLAS without support for EXTENDS. + Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.8." >&5 +$as_echo "$as_me: error: Sorry, cannot build PSBLAS without support for EXTENDS. + Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.8." >&2;} + { (exit 1); exit 1; }; } fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -6458,7 +7345,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking support for Fortran CLASS TBP" >&5 +{ $as_echo "$as_me:$LINENO: checking support for Fortran CLASS TBP" >&5 $as_echo_n "checking support for Fortran CLASS TBP... " >&6; } ac_ext=${ac_fc_srcext-f} ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' @@ -6468,7 +7355,7 @@ ac_compiler_gnu=$ac_cv_fc_compiler_gnu ac_exeext='' ac_ext='F90' ac_fc=${MPIFC-$FC}; - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF module conftest_mod type foo @@ -6499,19 +7386,43 @@ program conftest type(foo) :: foovar end program conftest _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } : else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - as_fn_error $? "Sorry, cannot build PSBLAS without support for CLASS and type bound procedures. - Please get a Fortran compiler that supports them, e.g. GNU Fortran 4.8." "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: Sorry, cannot build PSBLAS without support for CLASS and type bound procedures. + Please get a Fortran compiler that supports them, e.g. GNU Fortran 4.8." >&5 +$as_echo "$as_me: error: Sorry, cannot build PSBLAS without support for CLASS and type bound procedures. + Please get a Fortran compiler that supports them, e.g. GNU Fortran 4.8." >&2;} + { (exit 1); exit 1; }; } fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -6521,7 +7432,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking support for Fortran SOURCE= allocation" >&5 +{ $as_echo "$as_me:$LINENO: checking support for Fortran SOURCE= allocation" >&5 $as_echo_n "checking support for Fortran SOURCE= allocation... " >&6; } ac_ext=${ac_fc_srcext-f} ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' @@ -6531,7 +7442,7 @@ ac_compiler_gnu=$ac_cv_fc_compiler_gnu ac_exeext='' ac_ext='f90' ac_fc=${MPIFC-$FC}; - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program xtt type foo @@ -6548,19 +7459,43 @@ program xtt end program xtt _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } : else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - as_fn_error $? "Sorry, cannot build PSBLAS without support for SOURCE= allocation. - Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.8." "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: Sorry, cannot build PSBLAS without support for SOURCE= allocation. + Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.8." >&5 +$as_echo "$as_me: error: Sorry, cannot build PSBLAS without support for SOURCE= allocation. + Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.8." >&2;} + { (exit 1); exit 1; }; } fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -6570,7 +7505,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking support for Fortran MOVE_ALLOC intrinsic" >&5 +{ $as_echo "$as_me:$LINENO: checking support for Fortran MOVE_ALLOC intrinsic" >&5 $as_echo_n "checking support for Fortran MOVE_ALLOC intrinsic... " >&6; } ac_ext=${ac_fc_srcext-f} ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' @@ -6578,7 +7513,7 @@ ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest ac_compiler_gnu=$ac_cv_fc_compiler_gnu ac_ext='f90'; - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program test_move_alloc integer, allocatable :: a(:), b(:) allocate(a(3)) @@ -6587,19 +7522,43 @@ ac_compiler_gnu=$ac_cv_fc_compiler_gnu print *, b end program test_move_alloc _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } : else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - as_fn_error $? "Sorry, cannot build PSBLAS without support for MOVE_ALLOC. - Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.8." "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: Sorry, cannot build PSBLAS without support for MOVE_ALLOC. + Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.8." >&5 +$as_echo "$as_me: error: Sorry, cannot build PSBLAS without support for MOVE_ALLOC. + Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.8." >&2;} + { (exit 1); exit 1; }; } fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -6609,7 +7568,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking support for Fortran ISO_C_BINDING module" >&5 +{ $as_echo "$as_me:$LINENO: checking support for Fortran ISO_C_BINDING module" >&5 $as_echo_n "checking support for Fortran ISO_C_BINDING module... " >&6; } ac_ext=${ac_fc_srcext-f} ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' @@ -6619,25 +7578,49 @@ ac_compiler_gnu=$ac_cv_fc_compiler_gnu ac_exeext='' ac_ext='f90' ac_fc=${MPIFC-$FC}; - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program conftest use iso_c_binding end program conftest _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } : else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - as_fn_error $? "Sorry, cannot build PSBLAS without support for ISO_C_BINDING. - Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.8." "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: Sorry, cannot build PSBLAS without support for ISO_C_BINDING. + Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.8." >&5 +$as_echo "$as_me: error: Sorry, cannot build PSBLAS without support for ISO_C_BINDING. + Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.8." >&2;} + { (exit 1); exit 1; }; } fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -6651,7 +7634,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu # Optional features # -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking support for Fortran VOLATILE" >&5 +{ $as_echo "$as_me:$LINENO: checking support for Fortran VOLATILE" >&5 $as_echo_n "checking support for Fortran VOLATILE... " >&6; } ac_ext=${ac_fc_srcext-f} ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' @@ -6661,23 +7644,44 @@ ac_compiler_gnu=$ac_cv_fc_compiler_gnu ac_exeext='' ac_ext='F90' ac_fc=${MPIFC-$FC}; - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program conftest integer, volatile :: i, j end program conftest _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } FDEFINES="$psblas_cv_define_prepend-DHAVE_VOLATILE $FDEFINES" else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -6687,7 +7691,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking test GENERIC interfaces" >&5 +{ $as_echo "$as_me:$LINENO: checking test GENERIC interfaces" >&5 $as_echo_n "checking test GENERIC interfaces... " >&6; } ac_ext=${ac_fc_srcext-f} ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' @@ -6697,7 +7701,7 @@ ac_compiler_gnu=$ac_cv_fc_compiler_gnu ac_exeext='' ac_ext='F90' ac_fc=${MPIFC-$FC}; - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF module conftest @@ -6713,18 +7717,39 @@ module conftest end module conftest _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } : else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 FDEFINES="$psblas_cv_define_prepend-DHAVE_BUGGY_GENERICS $FDEFINES" fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -6734,7 +7759,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking support for Fortran FLUSH statement" >&5 +{ $as_echo "$as_me:$LINENO: checking support for Fortran FLUSH statement" >&5 $as_echo_n "checking support for Fortran FLUSH statement... " >&6; } ac_ext=${ac_fc_srcext-f} ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' @@ -6744,7 +7769,7 @@ ac_compiler_gnu=$ac_cv_fc_compiler_gnu ac_exeext='' ac_ext='f90' ac_fc=${MPIFC-$FC}; - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program conftest integer :: iunit=10 @@ -6754,17 +7779,38 @@ program conftest close(10) end program conftest _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } FDEFINES="$psblas_cv_define_prepend-DHAVE_FLUSH_STMT $FDEFINES" else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -6774,7 +7820,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking support for ISO_FORTRAN_ENV" >&5 +{ $as_echo "$as_me:$LINENO: checking support for ISO_FORTRAN_ENV" >&5 $as_echo_n "checking support for ISO_FORTRAN_ENV... " >&6; } ac_ext=${ac_fc_srcext-f} ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' @@ -6784,23 +7830,44 @@ ac_compiler_gnu=$ac_cv_fc_compiler_gnu ac_exeext='' ac_ext='f90' ac_fc=${MPIFC-$FC}; - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program test use iso_fortran_env end program test _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } FDEFINES="$psblas_cv_define_prepend-DHAVE_ISO_FORTRAN_ENV $FDEFINES" else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -6810,7 +7877,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking support for Fortran FINAL" >&5 +{ $as_echo "$as_me:$LINENO: checking support for Fortran FINAL" >&5 $as_echo_n "checking support for Fortran FINAL... " >&6; } ac_ext=${ac_fc_srcext-f} ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' @@ -6820,7 +7887,7 @@ ac_compiler_gnu=$ac_cv_fc_compiler_gnu ac_exeext='' ac_ext='f90' ac_fc=${MPIFC-$FC}; - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF module conftest_mod type foo @@ -6841,17 +7908,38 @@ program conftest type(foo) :: foovar end program conftest _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } FDEFINES="$psblas_cv_define_prepend-DHAVE_FINAL $FDEFINES" else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -6861,7 +7949,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking support for Fortran SAME_TYPE_AS" >&5 +{ $as_echo "$as_me:$LINENO: checking support for Fortran SAME_TYPE_AS" >&5 $as_echo_n "checking support for Fortran SAME_TYPE_AS... " >&6; } ac_ext=${ac_fc_srcext-f} ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' @@ -6871,7 +7959,7 @@ ac_compiler_gnu=$ac_cv_fc_compiler_gnu ac_exeext='' ac_ext='f90' ac_fc=${MPIFC-$FC}; - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program stt type foo @@ -6888,17 +7976,38 @@ program stt write(*,*) 'nfv2 == nfv1? ', same_type_as(nfv2,nfv1) end program stt _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } FDEFINES="$psblas_cv_define_prepend-DHAVE_SAME_TYPE_AS $FDEFINES" else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -6908,7 +8017,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking support for Fortran EXTENDS_TYPE_OF" >&5 +{ $as_echo "$as_me:$LINENO: checking support for Fortran EXTENDS_TYPE_OF" >&5 $as_echo_n "checking support for Fortran EXTENDS_TYPE_OF... " >&6; } ac_ext=${ac_fc_srcext-f} ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' @@ -6918,7 +8027,7 @@ ac_compiler_gnu=$ac_cv_fc_compiler_gnu ac_exeext='' ac_ext='f90' ac_fc=${MPIFC-$FC}; - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program xtt type foo @@ -6933,17 +8042,38 @@ program xtt write(*,*) 'nfv1 extends foov? ', extends_type_of(nfv1,foov) end program xtt _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } FDEFINES="$psblas_cv_define_prepend-DHAVE_EXTENDS_TYPE_OF $FDEFINES" else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -6953,7 +8083,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking support for Fortran MOLD= allocation" >&5 +{ $as_echo "$as_me:$LINENO: checking support for Fortran MOLD= allocation" >&5 $as_echo_n "checking support for Fortran MOLD= allocation... " >&6; } ac_ext=${ac_fc_srcext-f} ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' @@ -6963,7 +8093,7 @@ ac_compiler_gnu=$ac_cv_fc_compiler_gnu ac_exeext='' ac_ext='f90' ac_fc=${MPIFC-$FC}; - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program xtt type foo @@ -6980,17 +8110,38 @@ program xtt end program xtt _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } FDEFINES="$psblas_cv_define_prepend-DHAVE_MOLD $FDEFINES" else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -7021,7 +8172,7 @@ pac_blas_ok=no # Check whether --with-blas was given. -if test "${with_blas+set}" = set; then : +if test "${with_blas+set}" = set; then withval=$with_blas; fi @@ -7033,7 +8184,7 @@ case $with_blas in esac # Check whether --with-blasdir was given. -if test "${with_blasdir+set}" = set; then : +if test "${with_blasdir+set}" = set; then withval=$with_blasdir; fi @@ -7059,21 +8210,46 @@ ac_compiler_gnu=$ac_cv_fc_compiler_gnu if test $pac_blas_ok = no; then if test "x$BLAS_LIBS" != x; then save_LIBS="$LIBS"; LIBS="$BLAS_LIBS $BLAS_LIBDIR $LIBS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sgemm in $BLAS_LIBS" >&5 + { $as_echo "$as_me:$LINENO: checking for sgemm in $BLAS_LIBS" >&5 $as_echo_n "checking for sgemm in $BLAS_LIBS... " >&6; } - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program main call sgemm end _ACEOF -if ac_fn_fc_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then pac_blas_ok=yes else - BLAS_LIBS="" + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + BLAS_LIBS="" fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $pac_blas_ok" >&5 + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + { $as_echo "$as_me:$LINENO: result: $pac_blas_ok" >&5 $as_echo "$pac_blas_ok" >&6; } LIBS="$save_LIBS" fi @@ -7088,14 +8264,18 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ATL_xerbla in -latlas" >&5 + { $as_echo "$as_me:$LINENO: checking for ATL_xerbla in -latlas" >&5 $as_echo_n "checking for ATL_xerbla in -latlas... " >&6; } -if ${ac_cv_lib_atlas_ATL_xerbla+:} false; then : +if test "${ac_cv_lib_atlas_ATL_xerbla+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-latlas $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -7113,61 +8293,115 @@ return ATL_xerbla (); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_atlas_ATL_xerbla=yes else - ac_cv_lib_atlas_ATL_xerbla=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_atlas_ATL_xerbla=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_atlas_ATL_xerbla" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_atlas_ATL_xerbla" >&5 $as_echo "$ac_cv_lib_atlas_ATL_xerbla" >&6; } -if test "x$ac_cv_lib_atlas_ATL_xerbla" = xyes; then : +if test "x$ac_cv_lib_atlas_ATL_xerbla" = x""yes; then ac_ext=${ac_fc_srcext-f} ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_fc_compiler_gnu - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sgemm in -lf77blas" >&5 + { $as_echo "$as_me:$LINENO: checking for sgemm in -lf77blas" >&5 $as_echo_n "checking for sgemm in -lf77blas... " >&6; } -if ${ac_cv_lib_f77blas_sgemm+:} false; then : +if test "${ac_cv_lib_f77blas_sgemm+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lf77blas -latlas $LIBS" -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF program main call sgemm end _ACEOF -if ac_fn_fc_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_f77blas_sgemm=yes else - ac_cv_lib_f77blas_sgemm=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_f77blas_sgemm=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_f77blas_sgemm" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_f77blas_sgemm" >&5 $as_echo "$ac_cv_lib_f77blas_sgemm" >&6; } -if test "x$ac_cv_lib_f77blas_sgemm" = xyes; then : +if test "x$ac_cv_lib_f77blas_sgemm" = x""yes; then ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cblas_dgemm in -lcblas" >&5 + { $as_echo "$as_me:$LINENO: checking for cblas_dgemm in -lcblas" >&5 $as_echo_n "checking for cblas_dgemm in -lcblas... " >&6; } -if ${ac_cv_lib_cblas_cblas_dgemm+:} false; then : +if test "${ac_cv_lib_cblas_cblas_dgemm+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lcblas -lf77blas -latlas $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -7185,18 +8419,43 @@ return cblas_dgemm (); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_cblas_cblas_dgemm=yes else - ac_cv_lib_cblas_cblas_dgemm=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_cblas_cblas_dgemm=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cblas_cblas_dgemm" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_cblas_cblas_dgemm" >&5 $as_echo "$ac_cv_lib_cblas_cblas_dgemm" >&6; } -if test "x$ac_cv_lib_cblas_cblas_dgemm" = xyes; then : +if test "x$ac_cv_lib_cblas_cblas_dgemm" = x""yes; then pac_blas_ok=yes BLAS_LIBS="-lcblas -lf77blas -latlas $BLAS_LIBDIR" fi @@ -7214,14 +8473,18 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ATL_xerbla in -lsatlas" >&5 + { $as_echo "$as_me:$LINENO: checking for ATL_xerbla in -lsatlas" >&5 $as_echo_n "checking for ATL_xerbla in -lsatlas... " >&6; } -if ${ac_cv_lib_satlas_ATL_xerbla+:} false; then : +if test "${ac_cv_lib_satlas_ATL_xerbla+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsatlas $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -7239,61 +8502,115 @@ return ATL_xerbla (); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_satlas_ATL_xerbla=yes else - ac_cv_lib_satlas_ATL_xerbla=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_satlas_ATL_xerbla=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_satlas_ATL_xerbla" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_satlas_ATL_xerbla" >&5 $as_echo "$ac_cv_lib_satlas_ATL_xerbla" >&6; } -if test "x$ac_cv_lib_satlas_ATL_xerbla" = xyes; then : +if test "x$ac_cv_lib_satlas_ATL_xerbla" = x""yes; then ac_ext=${ac_fc_srcext-f} ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_fc_compiler_gnu - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sgemm in -lsatlas" >&5 + { $as_echo "$as_me:$LINENO: checking for sgemm in -lsatlas" >&5 $as_echo_n "checking for sgemm in -lsatlas... " >&6; } -if ${ac_cv_lib_satlas_sgemm+:} false; then : +if test "${ac_cv_lib_satlas_sgemm+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsatlas -lsatlas $LIBS" -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF program main call sgemm end _ACEOF -if ac_fn_fc_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_satlas_sgemm=yes else - ac_cv_lib_satlas_sgemm=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_satlas_sgemm=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_satlas_sgemm" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_satlas_sgemm" >&5 $as_echo "$ac_cv_lib_satlas_sgemm" >&6; } -if test "x$ac_cv_lib_satlas_sgemm" = xyes; then : +if test "x$ac_cv_lib_satlas_sgemm" = x""yes; then ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cblas_dgemm in -lsatlas" >&5 + { $as_echo "$as_me:$LINENO: checking for cblas_dgemm in -lsatlas" >&5 $as_echo_n "checking for cblas_dgemm in -lsatlas... " >&6; } -if ${ac_cv_lib_satlas_cblas_dgemm+:} false; then : +if test "${ac_cv_lib_satlas_cblas_dgemm+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsatlas -lsatlas $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -7311,18 +8628,43 @@ return cblas_dgemm (); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_satlas_cblas_dgemm=yes else - ac_cv_lib_satlas_cblas_dgemm=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_satlas_cblas_dgemm=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_satlas_cblas_dgemm" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_satlas_cblas_dgemm" >&5 $as_echo "$ac_cv_lib_satlas_cblas_dgemm" >&6; } -if test "x$ac_cv_lib_satlas_cblas_dgemm" = xyes; then : +if test "x$ac_cv_lib_satlas_cblas_dgemm" = x""yes; then pac_blas_ok=yes BLAS_LIBS="-lsatlas $BLAS_LIBDIR" fi @@ -7341,78 +8683,153 @@ ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_fc_compiler_gnu - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sgemm in -lblas" >&5 + { $as_echo "$as_me:$LINENO: checking for sgemm in -lblas" >&5 $as_echo_n "checking for sgemm in -lblas... " >&6; } -if ${ac_cv_lib_blas_sgemm+:} false; then : +if test "${ac_cv_lib_blas_sgemm+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lblas $LIBS" -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF program main call sgemm end _ACEOF -if ac_fn_fc_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_blas_sgemm=yes else - ac_cv_lib_blas_sgemm=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_blas_sgemm=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_blas_sgemm" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_blas_sgemm" >&5 $as_echo "$ac_cv_lib_blas_sgemm" >&6; } -if test "x$ac_cv_lib_blas_sgemm" = xyes; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dgemm in -ldgemm" >&5 +if test "x$ac_cv_lib_blas_sgemm" = x""yes; then + { $as_echo "$as_me:$LINENO: checking for dgemm in -ldgemm" >&5 $as_echo_n "checking for dgemm in -ldgemm... " >&6; } -if ${ac_cv_lib_dgemm_dgemm+:} false; then : +if test "${ac_cv_lib_dgemm_dgemm+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldgemm -lblas $LIBS" -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF program main call dgemm end _ACEOF -if ac_fn_fc_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_dgemm_dgemm=yes else - ac_cv_lib_dgemm_dgemm=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dgemm_dgemm=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dgemm_dgemm" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dgemm_dgemm" >&5 $as_echo "$ac_cv_lib_dgemm_dgemm" >&6; } -if test "x$ac_cv_lib_dgemm_dgemm" = xyes; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sgemm in -lsgemm" >&5 +if test "x$ac_cv_lib_dgemm_dgemm" = x""yes; then + { $as_echo "$as_me:$LINENO: checking for sgemm in -lsgemm" >&5 $as_echo_n "checking for sgemm in -lsgemm... " >&6; } -if ${ac_cv_lib_sgemm_sgemm+:} false; then : +if test "${ac_cv_lib_sgemm_sgemm+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsgemm -lblas $LIBS" -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF program main call sgemm end _ACEOF -if ac_fn_fc_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_sgemm_sgemm=yes else - ac_cv_lib_sgemm_sgemm=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_sgemm_sgemm=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sgemm_sgemm" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_sgemm_sgemm" >&5 $as_echo "$ac_cv_lib_sgemm_sgemm" >&6; } -if test "x$ac_cv_lib_sgemm_sgemm" = xyes; then : +if test "x$ac_cv_lib_sgemm_sgemm" = x""yes; then pac_blas_ok=yes; BLAS_LIBS="-lsgemm -ldgemm -lblas $BLAS_LIBDIR" fi @@ -7430,60 +8847,110 @@ ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_fc_compiler_gnu - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sgemm in -lopenblas" >&5 + { $as_echo "$as_me:$LINENO: checking for sgemm in -lopenblas" >&5 $as_echo_n "checking for sgemm in -lopenblas... " >&6; } -if ${ac_cv_lib_openblas_sgemm+:} false; then : +if test "${ac_cv_lib_openblas_sgemm+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lopenblas $LIBS" -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF program main call sgemm end _ACEOF -if ac_fn_fc_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_openblas_sgemm=yes else - ac_cv_lib_openblas_sgemm=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_openblas_sgemm=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_openblas_sgemm" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_openblas_sgemm" >&5 $as_echo "$ac_cv_lib_openblas_sgemm" >&6; } -if test "x$ac_cv_lib_openblas_sgemm" = xyes; then : +if test "x$ac_cv_lib_openblas_sgemm" = x""yes; then pac_blas_ok=yes;BLAS_LIBS="-lopenblas $BLAS_LIBDIR" fi fi # BLAS in Alpha CXML library? if test $pac_blas_ok = no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sgemm in -lcxml" >&5 + { $as_echo "$as_me:$LINENO: checking for sgemm in -lcxml" >&5 $as_echo_n "checking for sgemm in -lcxml... " >&6; } -if ${ac_cv_lib_cxml_sgemm+:} false; then : +if test "${ac_cv_lib_cxml_sgemm+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lcxml $LIBS" -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF program main call sgemm end _ACEOF -if ac_fn_fc_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_cxml_sgemm=yes else - ac_cv_lib_cxml_sgemm=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_cxml_sgemm=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cxml_sgemm" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_cxml_sgemm" >&5 $as_echo "$ac_cv_lib_cxml_sgemm" >&6; } -if test "x$ac_cv_lib_cxml_sgemm" = xyes; then : +if test "x$ac_cv_lib_cxml_sgemm" = x""yes; then pac_blas_ok=yes;BLAS_LIBS="-lcxml $BLAS_LIBDIR" fi @@ -7491,30 +8958,55 @@ fi # BLAS in Alpha DXML library? (now called CXML, see above) if test $pac_blas_ok = no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sgemm in -ldxml" >&5 + { $as_echo "$as_me:$LINENO: checking for sgemm in -ldxml" >&5 $as_echo_n "checking for sgemm in -ldxml... " >&6; } -if ${ac_cv_lib_dxml_sgemm+:} false; then : +if test "${ac_cv_lib_dxml_sgemm+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldxml $LIBS" -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF program main call sgemm end _ACEOF -if ac_fn_fc_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_dxml_sgemm=yes else - ac_cv_lib_dxml_sgemm=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dxml_sgemm=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dxml_sgemm" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dxml_sgemm" >&5 $as_echo "$ac_cv_lib_dxml_sgemm" >&6; } -if test "x$ac_cv_lib_dxml_sgemm" = xyes; then : +if test "x$ac_cv_lib_dxml_sgemm" = x""yes; then pac_blas_ok=yes;BLAS_LIBS="-ldxml $BLAS_LIBDIR" fi @@ -7524,54 +9016,104 @@ fi # BLAS in Sun Performance library? if test $pac_blas_ok = no; then if test "x$GCC" != xyes; then # only works with Sun CC - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for acosp in -lsunmath" >&5 + { $as_echo "$as_me:$LINENO: checking for acosp in -lsunmath" >&5 $as_echo_n "checking for acosp in -lsunmath... " >&6; } -if ${ac_cv_lib_sunmath_acosp+:} false; then : +if test "${ac_cv_lib_sunmath_acosp+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsunmath $LIBS" -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF program main call acosp end _ACEOF -if ac_fn_fc_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_sunmath_acosp=yes else - ac_cv_lib_sunmath_acosp=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_sunmath_acosp=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sunmath_acosp" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_sunmath_acosp" >&5 $as_echo "$ac_cv_lib_sunmath_acosp" >&6; } -if test "x$ac_cv_lib_sunmath_acosp" = xyes; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sgemm in -lsunperf" >&5 +if test "x$ac_cv_lib_sunmath_acosp" = x""yes; then + { $as_echo "$as_me:$LINENO: checking for sgemm in -lsunperf" >&5 $as_echo_n "checking for sgemm in -lsunperf... " >&6; } -if ${ac_cv_lib_sunperf_sgemm+:} false; then : +if test "${ac_cv_lib_sunperf_sgemm+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsunperf -lsunmath $LIBS" -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF program main call sgemm end _ACEOF -if ac_fn_fc_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_sunperf_sgemm=yes else - ac_cv_lib_sunperf_sgemm=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_sunperf_sgemm=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sunperf_sgemm" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_sunperf_sgemm" >&5 $as_echo "$ac_cv_lib_sunperf_sgemm" >&6; } -if test "x$ac_cv_lib_sunperf_sgemm" = xyes; then : +if test "x$ac_cv_lib_sunperf_sgemm" = x""yes; then BLAS_LIBS="-xlic_lib=sunperf -lsunmath $BLAS_LIBDIR" pac_blas_ok=yes fi @@ -7584,30 +9126,55 @@ fi # BLAS in SCSL library? (SGI/Cray Scientific Library) if test $pac_blas_ok = no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sgemm in -lscs" >&5 + { $as_echo "$as_me:$LINENO: checking for sgemm in -lscs" >&5 $as_echo_n "checking for sgemm in -lscs... " >&6; } -if ${ac_cv_lib_scs_sgemm+:} false; then : +if test "${ac_cv_lib_scs_sgemm+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lscs $LIBS" -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF program main call sgemm end _ACEOF -if ac_fn_fc_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_scs_sgemm=yes else - ac_cv_lib_scs_sgemm=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_scs_sgemm=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_scs_sgemm" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_scs_sgemm" >&5 $as_echo "$ac_cv_lib_scs_sgemm" >&6; } -if test "x$ac_cv_lib_scs_sgemm" = xyes; then : +if test "x$ac_cv_lib_scs_sgemm" = x""yes; then pac_blas_ok=yes; BLAS_LIBS="-lscs $BLAS_LIBDIR" fi @@ -7616,31 +9183,59 @@ fi # BLAS in SGIMATH library? if test $pac_blas_ok = no; then as_ac_Lib=`$as_echo "ac_cv_lib_complib.sgimath_$sgemm" | $as_tr_sh` -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lcomplib.sgimath" >&5 +{ $as_echo "$as_me:$LINENO: checking for $sgemm in -lcomplib.sgimath" >&5 $as_echo_n "checking for $sgemm in -lcomplib.sgimath... " >&6; } -if eval \${$as_ac_Lib+:} false; then : +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lcomplib.sgimath $LIBS" -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF program main call $sgemm end _ACEOF -if ac_fn_fc_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then eval "$as_ac_Lib=yes" else - eval "$as_ac_Lib=no" + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Lib=no" fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -eval ac_res=\$$as_ac_Lib - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +ac_res=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then pac_blas_ok=yes; BLAS_LIBS="-lcomplib.sgimath $BLAS_LIBDIR" fi @@ -7649,55 +9244,108 @@ fi # BLAS in IBM ESSL library? (requires generic BLAS lib, too) if test $pac_blas_ok = no; then as_ac_Lib=`$as_echo "ac_cv_lib_blas_$sgemm" | $as_tr_sh` -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $sgemm in -lblas" >&5 +{ $as_echo "$as_me:$LINENO: checking for $sgemm in -lblas" >&5 $as_echo_n "checking for $sgemm in -lblas... " >&6; } -if eval \${$as_ac_Lib+:} false; then : +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lblas $LIBS" -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF program main call $sgemm end _ACEOF -if ac_fn_fc_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then eval "$as_ac_Lib=yes" else - eval "$as_ac_Lib=no" + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Lib=no" fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -eval ac_res=\$$as_ac_Lib - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +ac_res=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sgemm in -lessl" >&5 +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then + { $as_echo "$as_me:$LINENO: checking for sgemm in -lessl" >&5 $as_echo_n "checking for sgemm in -lessl... " >&6; } -if ${ac_cv_lib_essl_sgemm+:} false; then : +if test "${ac_cv_lib_essl_sgemm+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lessl -lblas $FLIBS $LIBS" -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF program main call sgemm end _ACEOF -if ac_fn_fc_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_essl_sgemm=yes else - ac_cv_lib_essl_sgemm=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_essl_sgemm=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_essl_sgemm" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_essl_sgemm" >&5 $as_echo "$ac_cv_lib_essl_sgemm" >&6; } -if test "x$ac_cv_lib_essl_sgemm" = xyes; then : +if test "x$ac_cv_lib_essl_sgemm" = x""yes; then pac_blas_ok=yes; BLAS_LIBS="-lessl -lblas $BLAS_LIBDIR" fi @@ -7711,30 +9359,56 @@ ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_fc_compiler_gnu - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sgemm in -lblas" >&5 + +{ $as_echo "$as_me:$LINENO: checking for sgemm in -lblas" >&5 $as_echo_n "checking for sgemm in -lblas... " >&6; } -if ${ac_cv_lib_blas_sgemm+:} false; then : +if test "${ac_cv_lib_blas_sgemm+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lblas $LIBS" -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF program main call sgemm end _ACEOF -if ac_fn_fc_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_blas_sgemm=yes else - ac_cv_lib_blas_sgemm=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_blas_sgemm=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_blas_sgemm" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_blas_sgemm" >&5 $as_echo "$ac_cv_lib_blas_sgemm" >&6; } -if test "x$ac_cv_lib_blas_sgemm" = xyes; then : +if test "x$ac_cv_lib_blas_sgemm" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBBLAS 1 _ACEOF @@ -7749,18 +9423,43 @@ fi # BLAS linked to by default? (happens on some supercomputers) if test $pac_blas_ok = no; then - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program main call sgemm end _ACEOF -if ac_fn_fc_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then pac_blas_ok=yes else - BLAS_LIBS="" + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + BLAS_LIBS="" fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi # Generic BLAS library? @@ -7770,30 +9469,55 @@ ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_fc_compiler_gnu - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sgemm in -lblas" >&5 + { $as_echo "$as_me:$LINENO: checking for sgemm in -lblas" >&5 $as_echo_n "checking for sgemm in -lblas... " >&6; } -if ${ac_cv_lib_blas_sgemm+:} false; then : +if test "${ac_cv_lib_blas_sgemm+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lblas $LIBS" -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF program main call sgemm end _ACEOF -if ac_fn_fc_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then ac_cv_lib_blas_sgemm=yes else - ac_cv_lib_blas_sgemm=no + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_blas_sgemm=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_blas_sgemm" >&5 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_blas_sgemm" >&5 $as_echo "$ac_cv_lib_blas_sgemm" >&6; } -if test "x$ac_cv_lib_blas_sgemm" = xyes; then : +if test "x$ac_cv_lib_blas_sgemm" = x""yes; then pac_blas_ok=yes; BLAS_LIBS="-lblas $BLAS_LIBDIR" fi @@ -7805,12 +9529,16 @@ LIBS="$pac_blas_save_LIBS" # Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: if test x"$pac_blas_ok" = xyes; then -$as_echo "#define HAVE_BLAS 1" >>confdefs.h +cat >>confdefs.h <<\_ACEOF +#define HAVE_BLAS 1 +_ACEOF : else pac_blas_ok=no - as_fn_error $? "Cannot find BLAS library, specify a path using --with-blas=DIR/LIB (for example --with-blas=/usr/path/lib/libcxml.a)" "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: Cannot find BLAS library, specify a path using --with-blas=DIR/LIB (for example --with-blas=/usr/path/lib/libcxml.a)" >&5 +$as_echo "$as_me: error: Cannot find BLAS library, specify a path using --with-blas=DIR/LIB (for example --with-blas=/usr/path/lib/libcxml.a)" >&2;} + { (exit 1); exit 1; }; } fi @@ -7819,7 +9547,7 @@ pac_lapack_ok=no # Check whether --with-lapack was given. -if test "${with_lapack+set}" = set; then : +if test "${with_lapack+set}" = set; then withval=$with_lapack; fi @@ -7841,7 +9569,7 @@ fi # First, check LAPACK_LIBS environment variable if test "x$LAPACK_LIBS" != x; then save_LIBS="$LIBS"; LIBS="$LAPACK_LIBS $BLAS_LIBS $LIBS $FLIBS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cheev in $LAPACK_LIBS" >&5 + { $as_echo "$as_me:$LINENO: checking for cheev in $LAPACK_LIBS" >&5 $as_echo_n "checking for cheev in $LAPACK_LIBS... " >&6; } ac_ext=${ac_fc_srcext-f} ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' @@ -7853,16 +9581,16 @@ ac_compiler_gnu=$ac_cv_fc_compiler_gnu call cheev end EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext}; then + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then pac_lapack_ok=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 @@ -7883,7 +9611,7 @@ fi # LAPACK linked to by default? (is sometimes included in BLAS lib) if test $pac_lapack_ok = no; then save_LIBS="$LIBS"; LIBS="$LIBS $BLAS_LIBS $FLIBS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cheev in default libs" >&5 + { $as_echo "$as_me:$LINENO: checking for cheev in default libs" >&5 $as_echo_n "checking for cheev in default libs... " >&6; } ac_ext=${ac_fc_srcext-f} ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' @@ -7895,16 +9623,16 @@ ac_compiler_gnu=$ac_cv_fc_compiler_gnu call cheev end EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext}; then + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then pac_lapack_ok=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 @@ -7929,31 +9657,59 @@ ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest ac_compiler_gnu=$ac_cv_fc_compiler_gnu as_ac_Lib=`$as_echo "ac_cv_lib_$lapack''_cheev" | $as_tr_sh` -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for cheev in -l$lapack" >&5 +{ $as_echo "$as_me:$LINENO: checking for cheev in -l$lapack" >&5 $as_echo_n "checking for cheev in -l$lapack... " >&6; } -if eval \${$as_ac_Lib+:} false; then : +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-l$lapack $FLIBS $LIBS" -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF program main call cheev end _ACEOF -if ac_fn_fc_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then eval "$as_ac_Lib=yes" else - eval "$as_ac_Lib=no" + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Lib=no" fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -eval ac_res=\$$as_ac_Lib - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +ac_res=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then pac_lapack_ok=yes; LAPACK_LIBS="-l$lapack" fi @@ -7991,7 +9747,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu # Check whether --with-mumps was given. -if test "${with_mumps+set}" = set; then : +if test "${with_mumps+set}" = set; then withval=$with_mumps; mld2p4_cv_mumps=$withval else mld2p4_cv_mumps='-lsmumps -ldmumps -lcmumps -lzmumps -lmumps_common -lpord' @@ -7999,7 +9755,7 @@ fi # Check whether --with-mumpsdir was given. -if test "${with_mumpsdir+set}" = set; then : +if test "${with_mumpsdir+set}" = set; then withval=$with_mumpsdir; mld2p4_cv_mumpsdir=$withval else mld2p4_cv_mumpsdir='' @@ -8008,99 +9764,492 @@ fi # Check whether --with-mumpsincdir was given. -if test "${with_mumpsincdir+set}" = set; then : +if test "${with_mumpsincdir+set}" = set; then withval=$with_mumpsincdir; mld2p4_cv_mumpsincdir=$withval else - mld2p4_cv_mumpsincdir='' + mld2p4_cv_mumpsincdir='' +fi + + + +# Check whether --with-mumpsmoddir was given. +if test "${with_mumpsmoddir+set}" = set; then + withval=$with_mumpsmoddir; mld2p4_cv_mumpsmoddir=$withval +else + mld2p4_cv_mumpsmoddir='' +fi + + + +# Check whether --with-mumpslibdir was given. +if test "${with_mumpslibdir+set}" = set; then + withval=$with_mumpslibdir; mld2p4_cv_mumpslibdir=$withval +else + mld2p4_cv_mumpslibdir='' +fi + + +ac_ext=${ac_fc_srcext-f} +ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' +ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_fc_compiler_gnu + +save_LIBS="$LIBS" +save_FC="$FC" +FC=${MPIFC} +if test "x$mld2p4_cv_mumpsincdir" != "x"; then + { $as_echo "$as_me:$LINENO: mumps dir $mld2p4_cv_mumpsincdir" >&5 +$as_echo "$as_me: mumps dir $mld2p4_cv_mumpsincdir" >&6;} + MUMPS_INCLUDES="-I$mld2p4_cv_mumpsincdir" +elif test "x$mld2p4_cv_mumpsdir" != "x"; then + { $as_echo "$as_me:$LINENO: mumps dir $mld2p4_cv_mumpsdir" >&5 +$as_echo "$as_me: mumps dir $mld2p4_cv_mumpsdir" >&6;} + MUMPS_INCLUDES="-I$mld2p4_cv_mumpsdir" +fi +if test "x$mld2p4_cv_mumpsmoddir" != "x"; then + { $as_echo "$as_me:$LINENO: mumps dir $mld2p4_cv_mumpsmoddir" >&5 +$as_echo "$as_me: mumps dir $mld2p4_cv_mumpsmoddir" >&6;} + MUMPS_MODULES="$FMFLAG$mld2p4_cv_mumpsmoddir" +elif test "x$mld2p4_cv_mumpsdir" != "x"; then + { $as_echo "$as_me:$LINENO: mumps dir $mld2p4_cv_mumpsdir" >&5 +$as_echo "$as_me: mumps dir $mld2p4_cv_mumpsdir" >&6;} + MUMPS_MODULES="$FMFLAG$mld2p4_cv_mumpsdir" +fi +if test "x$mld2p4_cv_mumpslibdir" != "x"; then + MUMPS_LIBS="-L$mld2p4_cv_mumpslibdir" +elif test "x$mld2p4_cv_mumpsdir" != "x"; then + MUMPS_LIBS="-L$mld2p4_cv_mumpsdir" +fi + +LIBS="$MUMPS_LIBS $save_LIBS $EXTRA_LIBS" +CPPFLAGS="$MUMPS_INCLUDES $save_CPPFLAGS" + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test "${ac_cv_header_dmumps_c_h+set}" = set; then + { $as_echo "$as_me:$LINENO: checking for dmumps_c.h" >&5 +$as_echo_n "checking for dmumps_c.h... " >&6; } +if test "${ac_cv_header_dmumps_c_h+set}" = set; then + $as_echo_n "(cached) " >&6 +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_dmumps_c_h" >&5 +$as_echo "$ac_cv_header_dmumps_c_h" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking dmumps_c.h usability" >&5 +$as_echo_n "checking dmumps_c.h usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking dmumps_c.h presence" >&5 +$as_echo_n "checking dmumps_c.h presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: dmumps_c.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: dmumps_c.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: dmumps_c.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: dmumps_c.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: dmumps_c.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: dmumps_c.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: dmumps_c.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: dmumps_c.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: dmumps_c.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: dmumps_c.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: dmumps_c.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: dmumps_c.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: dmumps_c.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: dmumps_c.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: dmumps_c.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: dmumps_c.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------------------------------------ ## +## Report this to https://github.com/sfilippone/mld2p4-2/issues ## +## ------------------------------------------------------------ ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for dmumps_c.h" >&5 +$as_echo_n "checking for dmumps_c.h... " >&6; } +if test "${ac_cv_header_dmumps_c_h+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_header_dmumps_c_h=$ac_header_preproc fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_dmumps_c_h" >&5 +$as_echo "$ac_cv_header_dmumps_c_h" >&6; } - - -# Check whether --with-mumpsmoddir was given. -if test "${with_mumpsmoddir+set}" = set; then : - withval=$with_mumpsmoddir; mld2p4_cv_mumpsmoddir=$withval +fi +if test "x$ac_cv_header_dmumps_c_h" = x""yes; then + pac_mumps_header_ok=yes else - mld2p4_cv_mumpsmoddir='' + pac_mumps_header_ok=no; MUMPS_INCLUDES="" fi - -# Check whether --with-mumpslibdir was given. -if test "${with_mumpslibdir+set}" = set; then : - withval=$with_mumpslibdir; mld2p4_cv_mumpslibdir=$withval +if test "x$pac_mumps_header_ok" == "xno" ; then + unset ac_cv_header_dmumps_c_h + MUMPS_INCLUDES="-I$mld2p4_cv_mumpsdir/include" + CPPFLAGS="$MUMPS_INCLUDES $save_CPPFLAGS" + if test "${ac_cv_header_dmumps_c_h+set}" = set; then + { $as_echo "$as_me:$LINENO: checking for dmumps_c.h" >&5 +$as_echo_n "checking for dmumps_c.h... " >&6; } +if test "${ac_cv_header_dmumps_c_h+set}" = set; then + $as_echo_n "(cached) " >&6 +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_dmumps_c_h" >&5 +$as_echo "$ac_cv_header_dmumps_c_h" >&6; } else - mld2p4_cv_mumpslibdir='' + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking dmumps_c.h usability" >&5 +$as_echo_n "checking dmumps_c.h usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } -ac_ext=${ac_fc_srcext-f} -ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' -ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_fc_compiler_gnu +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking dmumps_c.h presence" >&5 +$as_echo_n "checking dmumps_c.h presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -save_LIBS="$LIBS" -save_FC="$FC" -FC=${MPIFC} -if test "x$mld2p4_cv_mumpsincdir" != "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: mumps dir $mld2p4_cv_mumpsincdir" >&5 -$as_echo "$as_me: mumps dir $mld2p4_cv_mumpsincdir" >&6;} - MUMPS_INCLUDES="-I$mld2p4_cv_mumpsincdir" -elif test "x$mld2p4_cv_mumpsdir" != "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: mumps dir $mld2p4_cv_mumpsdir" >&5 -$as_echo "$as_me: mumps dir $mld2p4_cv_mumpsdir" >&6;} - MUMPS_INCLUDES="-I$mld2p4_cv_mumpsdir" -fi -if test "x$mld2p4_cv_mumpsmoddir" != "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: mumps dir $mld2p4_cv_mumpsmoddir" >&5 -$as_echo "$as_me: mumps dir $mld2p4_cv_mumpsmoddir" >&6;} - MUMPS_MODULES="$FMFLAG$mld2p4_cv_mumpsmoddir" -elif test "x$mld2p4_cv_mumpsdir" != "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: mumps dir $mld2p4_cv_mumpsdir" >&5 -$as_echo "$as_me: mumps dir $mld2p4_cv_mumpsdir" >&6;} - MUMPS_MODULES="$FMFLAG$mld2p4_cv_mumpsdir" -fi -if test "x$mld2p4_cv_mumpslibdir" != "x"; then - MUMPS_LIBS="-L$mld2p4_cv_mumpslibdir" -elif test "x$mld2p4_cv_mumpsdir" != "x"; then - MUMPS_LIBS="-L$mld2p4_cv_mumpsdir" + ac_header_preproc=no fi -LIBS="$MUMPS_LIBS $save_LIBS $EXTRA_LIBS" -CPPFLAGS="$MUMPS_INCLUDES $save_CPPFLAGS" +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: dmumps_c.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: dmumps_c.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: dmumps_c.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: dmumps_c.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: dmumps_c.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: dmumps_c.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: dmumps_c.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: dmumps_c.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: dmumps_c.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: dmumps_c.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: dmumps_c.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: dmumps_c.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: dmumps_c.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: dmumps_c.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: dmumps_c.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: dmumps_c.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------------------------------------ ## +## Report this to https://github.com/sfilippone/mld2p4-2/issues ## +## ------------------------------------------------------------ ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for dmumps_c.h" >&5 +$as_echo_n "checking for dmumps_c.h... " >&6; } +if test "${ac_cv_header_dmumps_c_h+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_header_dmumps_c_h=$ac_header_preproc +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_dmumps_c_h" >&5 +$as_echo "$ac_cv_header_dmumps_c_h" >&6; } -ac_fn_c_check_header_mongrel "$LINENO" "dmumps_c.h" "ac_cv_header_dmumps_c_h" "$ac_includes_default" -if test "x$ac_cv_header_dmumps_c_h" = xyes; then : +fi +if test "x$ac_cv_header_dmumps_c_h" = x""yes; then pac_mumps_header_ok=yes else pac_mumps_header_ok=no; MUMPS_INCLUDES="" fi +fi if test "x$pac_mumps_header_ok" == "xno" ; then unset ac_cv_header_dmumps_c_h - MUMPS_INCLUDES="-I$mld2p4_cv_mumpsdir/include" + MUMPS_INCLUDES="-I$mld2p4_cv_mumpsdir/Include" CPPFLAGS="$MUMPS_INCLUDES $save_CPPFLAGS" - ac_fn_c_check_header_mongrel "$LINENO" "dmumps_c.h" "ac_cv_header_dmumps_c_h" "$ac_includes_default" -if test "x$ac_cv_header_dmumps_c_h" = xyes; then : - pac_mumps_header_ok=yes + if test "${ac_cv_header_dmumps_c_h+set}" = set; then + { $as_echo "$as_me:$LINENO: checking for dmumps_c.h" >&5 +$as_echo_n "checking for dmumps_c.h... " >&6; } +if test "${ac_cv_header_dmumps_c_h+set}" = set; then + $as_echo_n "(cached) " >&6 +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_dmumps_c_h" >&5 +$as_echo "$ac_cv_header_dmumps_c_h" >&6; } else - pac_mumps_header_ok=no; MUMPS_INCLUDES="" + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking dmumps_c.h usability" >&5 +$as_echo_n "checking dmumps_c.h usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking dmumps_c.h presence" >&5 +$as_echo_n "checking dmumps_c.h presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no fi +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: dmumps_c.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: dmumps_c.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: dmumps_c.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: dmumps_c.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: dmumps_c.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: dmumps_c.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: dmumps_c.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: dmumps_c.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: dmumps_c.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: dmumps_c.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: dmumps_c.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: dmumps_c.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: dmumps_c.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: dmumps_c.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: dmumps_c.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: dmumps_c.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------------------------------------ ## +## Report this to https://github.com/sfilippone/mld2p4-2/issues ## +## ------------------------------------------------------------ ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for dmumps_c.h" >&5 +$as_echo_n "checking for dmumps_c.h... " >&6; } +if test "${ac_cv_header_dmumps_c_h+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_header_dmumps_c_h=$ac_header_preproc fi -if test "x$pac_mumps_header_ok" == "xno" ; then - unset ac_cv_header_dmumps_c_h - MUMPS_INCLUDES="-I$mld2p4_cv_mumpsdir/Include" - CPPFLAGS="$MUMPS_INCLUDES $save_CPPFLAGS" - ac_fn_c_check_header_mongrel "$LINENO" "dmumps_c.h" "ac_cv_header_dmumps_c_h" "$ac_includes_default" -if test "x$ac_cv_header_dmumps_c_h" = xyes; then : +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_dmumps_c_h" >&5 +$as_echo "$ac_cv_header_dmumps_c_h" >&6; } + +fi +if test "x$ac_cv_header_dmumps_c_h" = x""yes; then pac_mumps_header_ok=yes else pac_mumps_header_ok=no; MUMPS_INCLUDES="" @@ -8119,84 +10268,189 @@ ac_ext='f90' ac_fc="${MPIFC-$FC}"; save_FCFLAGS="$FCFLAGS"; FCFLAGS="$MUMPS_MODULES $save_FCFLAGS" -cat > conftest.$ac_ext <<_ACEOF +cat >conftest.$ac_ext <<_ACEOF program test use dmumps_struc_def end program test _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then pac_mumps_fmods_ok=yes; mld2p4_cv_mumpmoddir="$MUMPS_MODULES"; else - pac_mumps_fmods_ok=no; MUMPS_MODULES="" + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pac_mumps_fmods_ok=no; MUMPS_MODULES="" fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test "x$pac_mumps_fmods_ok" == "xno" ; then MUMPS_MODULES="$FMFLAG$mld2p4_cv_mumpsdir/include" FCFLAGS="$MUMPS_MODULES $save_FCFLAGS" - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program test use dmumps_struc_def end program test _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then pac_mumps_fmods_ok=yes mld2p4_cv_mumpsmoddir="$MUMPS_MODULES"; else - pac_mumps_fmods_ok=no; MUMPS_MODULES="" + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pac_mumps_fmods_ok=no; MUMPS_MODULES="" fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test "x$pac_mumps_fmods_ok" == "xno" ; then MUMPS_MODULES="$FMFLAG$mld2p4_cv_mumpsdir/Include" FCFLAGS="$MUMPS_MODULES $save_FCFLAGS" - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program test use dmumps_struc_def end program test _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then pac_mumps_fmods_ok=yes mld2p4_cv_mumpsmoddir="$MUMPS_MODULES"; else - pac_mumps_fmods_ok=no; MUMPS_MODULES="" + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pac_mumps_fmods_ok=no; MUMPS_MODULES="" fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test "x$pac_mumps_fmods_ok" == "xno" ; then MUMPS_MODULES="$FMFLAG$mld2p4_cv_mumpsdir/modules" FCFLAGS="$MUMPS_MODULES $save_FCFLAGS" - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program test use dmumps_struc_def end program test _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then pac_mumps_fmods_ok=yes mld2p4_cv_mumpsmoddir="$MUMPS_MODULES"; else - pac_mumps_fmods_ok=no; MUMPS_MODULES="" + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pac_mumps_fmods_ok=no; MUMPS_MODULES="" fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test "x$pac_mumps_fmods_ok" == "xno" ; then MUMPS_MODULES="$FMFLAG$mld2p4_cv_mumpsdir/Modules" FCFLAGS="$MUMPS_MODULES $save_FCFLAGS" - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program test use dmumps_struc_def end program test _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then pac_mumps_fmods_ok=yes mld2p4_cv_mumpsmoddir="$MUMPS_MODULES"; else - pac_mumps_fmods_ok=no; MUMPS_MODULES="" + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pac_mumps_fmods_ok=no; MUMPS_MODULES="" fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi @@ -8208,81 +10462,186 @@ if test "x$pac_mumps_fmods_ok" == "xno" ; then fi FCFLAGS="$MUMPS_FINCLUDES $save_FCFLAGS" - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program test include 'dmumps_struc.h' end program test _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then pac_mumps_fincs_ok=yes; mld2p4_cv_mumpmoddir="$MUMPS_FINCLUDES"; else - pac_mumps_fincs_ok=no; MUMPS_FINCLUDES="" + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pac_mumps_fincs_ok=no; MUMPS_FINCLUDES="" fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test "x$pac_mumps_fincs_ok" == "xno" ; then MUMPS_FINCLUDES="$FIFLAG$mld2p4_cv_mumpsdir/include" FCFLAGS="$MUMPS_FINCLUDES $save_FCFLAGS" - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program test include 'dmumps_struc.h' end program test _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then pac_mumps_fincs_ok=yes; mld2p4_cv_mumpmoddir="$MUMPS_FINCLUDES"; else - pac_mumps_fincs_ok=no; MUMPS_FINCLUDES="" + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pac_mumps_fincs_ok=no; MUMPS_FINCLUDES="" fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test "x$pac_mumps_fincs_ok" == "xno" ; then MUMPS_FINCLUDES="$FIFLAG$mld2p4_cv_mumpsdir/Include" FCFLAGS="$MUMPS_FINCLUDES $save_FCFLAGS" - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program test include 'dmumps_struc.h' end program test _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then pac_mumps_fincs_ok=yes; mld2p4_cv_mumpmoddir="$MUMPS_FINCLUDES"; else - pac_mumps_fincs_ok=no; MUMPS_FINCLUDES="" + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pac_mumps_fincs_ok=no; MUMPS_FINCLUDES="" fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test "x$pac_mumps_fincs_ok" == "xno" ; then MUMPS_FINCLUDES="$FIFLAG$mld2p4_cv_mumpsdir/modules" FCFLAGS="$MUMPS_FINCLUDES $save_FCFLAGS" - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program test include 'dmumps_struc.h' end program test _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then pac_mumps_fincs_ok=yes; mld2p4_cv_mumpmoddir="$MUMPS_FINCLUDES"; else - pac_mumps_fincs_ok=no; MUMPS_FINCLUDES="" + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pac_mumps_fincs_ok=no; MUMPS_FINCLUDES="" fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test "x$pac_mumps_fincs_ok" == "xno" ; then MUMPS_FINCLUDES="$FIFLAG$mld2p4_cv_mumpsdir/Modules" FCFLAGS="$MUMPS_FINCLUDES $save_FCFLAGS" - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program test include 'dmumps_struc.h' end program test _ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then pac_mumps_fincs_ok=yes; mld2p4_cv_mumpmoddir="$MUMPS_FINCLUDES"; else - pac_mumps_fincs_ok=no; MUMPS_FINCLUDES="" + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pac_mumps_fincs_ok=no; MUMPS_FINCLUDES="" fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi @@ -8291,39 +10650,89 @@ fi if test "x$pac_mumps_fmods_ok" == "xyes" || test "x$pac_mumps_fincs_ok" == "xyes" ; then MUMPS_LIBS="$mld2p4_cv_mumps $MUMPS_LIBS" LIBS="$MUMPS_LIBS $save_LIBS $EXTRA_LIBS"; - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dmumps in $MUMPS_LIBS" >&5 + { $as_echo "$as_me:$LINENO: checking for dmumps in $MUMPS_LIBS" >&5 $as_echo_n "checking for dmumps in $MUMPS_LIBS... " >&6; } - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program main call dmumps end _ACEOF -if ac_fn_fc_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then mld2p4_cv_have_mumps=yes;pac_mumps_lib_ok=yes; else - mld2p4_cv_have_mumps=no;pac_mumps_lib_ok=no; + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + mld2p4_cv_have_mumps=no;pac_mumps_lib_ok=no; MUMPS_LIBS=""; fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext if test "x$pac_mumps_lib_ok" == "xno" ; then MUMPS_LIBS="$mld2p4_cv_mumps -L$mld2p4_cv_mumpsdir/lib"; LIBS="$MUMPS_LIBS $save_LIBS $EXTRA_LIBS"; - cat > conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF program main call dmumps end _ACEOF -if ac_fn_fc_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_fc_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then mld2p4_cv_have_mumps=yes;pac_mumps_lib_ok=yes; else - mld2p4_cv_have_mumps=no;pac_mumps_lib_ok=no; + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + mld2p4_cv_have_mumps=no;pac_mumps_lib_ok=no; MUMPS_LIBS="";MUMPS_MODULES="" fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $pac_mumps_lib_ok" >&5 + { $as_echo "$as_me:$LINENO: result: $pac_mumps_lib_ok" >&5 $as_echo "$pac_mumps_lib_ok" >&6; } fi @@ -8338,7 +10747,13 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test "x$mld2p4_cv_have_mumps" == "xyes" ; then +if test "x$pac_cv_psblas_sizeof_lp" == "x8" ; then + { $as_echo "$as_me:$LINENO: PSBLAS defines PSB_LPK_ as $pac_cv_psblas_sizeof_lp. We cannot interface MUMPS. " >&5 +$as_echo "$as_me: PSBLAS defines PSB_LPK_ as $pac_cv_psblas_sizeof_lp. We cannot interface MUMPS. " >&6;} + MUMPS_FLAGS="" + MUMPS_LIBS="" + mld2p4_cv_have_mumps="no"; +elif test "x$mld2p4_cv_have_mumps" == "xyes" ; then MUMPS_FLAGS="-DHave_MUMPS_ $MUMPS_INCLUDES" if test "x$pac_mumps_fmods_ok" == "xyes" ; then FDEFINES="$mld_cv_define_prepend-DHAVE_MUMPS_ $mld_cv_define_prepend-DHAVE_MUMPS_MODULES_ $MUMPS_MODULES $FDEFINES" @@ -8356,7 +10771,7 @@ fi # Check whether --with-umfpack was given. -if test "${with_umfpack+set}" = set; then : +if test "${with_umfpack+set}" = set; then withval=$with_umfpack; mld2p4_cv_umfpack=$withval else mld2p4_cv_umfpack='-lumfpack -lamd' @@ -8364,7 +10779,7 @@ fi # Check whether --with-umfpackdir was given. -if test "${with_umfpackdir+set}" = set; then : +if test "${with_umfpackdir+set}" = set; then withval=$with_umfpackdir; mld2p4_cv_umfpackdir=$withval else mld2p4_cv_umfpackdir='' @@ -8372,89 +10787,613 @@ fi # Check whether --with-umfpackincdir was given. -if test "${with_umfpackincdir+set}" = set; then : +if test "${with_umfpackincdir+set}" = set; then withval=$with_umfpackincdir; mld2p4_cv_umfpackincdir=$withval else mld2p4_cv_umfpackincdir='' fi -# Check whether --with-umfpacklibdir was given. -if test "${with_umfpacklibdir+set}" = set; then : - withval=$with_umfpacklibdir; mld2p4_cv_umfpacklibdir=$withval +# Check whether --with-umfpacklibdir was given. +if test "${with_umfpacklibdir+set}" = set; then + withval=$with_umfpacklibdir; mld2p4_cv_umfpacklibdir=$withval +else + mld2p4_cv_umfpacklibdir='' +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +save_LIBS="$LIBS" +save_CPPFLAGS="$CPPFLAGS" +if test "x$mld2p4_cv_umfpackincdir" != "x"; then + { $as_echo "$as_me:$LINENO: umfp include dir $mld2p4_cv_umfpackincdir" >&5 +$as_echo "$as_me: umfp include dir $mld2p4_cv_umfpackincdir" >&6;} + UMF_INCLUDES="-I$mld2p4_cv_umfpackincdir" +elif test "x$mld2p4_cv_umfpackdir" != "x"; then + { $as_echo "$as_me:$LINENO: umfp dir $mld2p4_cv_umfpackdir" >&5 +$as_echo "$as_me: umfp dir $mld2p4_cv_umfpackdir" >&6;} + UMF_INCLUDES="-I$mld2p4_cv_umfpackdir" +fi +CPPFLAGS="$UMF_INCLUDES $CPPFLAGS" +if test "${ac_cv_header_umfpack_h+set}" = set; then + { $as_echo "$as_me:$LINENO: checking for umfpack.h" >&5 +$as_echo_n "checking for umfpack.h... " >&6; } +if test "${ac_cv_header_umfpack_h+set}" = set; then + $as_echo_n "(cached) " >&6 +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_umfpack_h" >&5 +$as_echo "$ac_cv_header_umfpack_h" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking umfpack.h usability" >&5 +$as_echo_n "checking umfpack.h usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking umfpack.h presence" >&5 +$as_echo_n "checking umfpack.h presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: umfpack.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: umfpack.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: umfpack.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: umfpack.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: umfpack.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: umfpack.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: umfpack.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: umfpack.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------------------------------------ ## +## Report this to https://github.com/sfilippone/mld2p4-2/issues ## +## ------------------------------------------------------------ ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for umfpack.h" >&5 +$as_echo_n "checking for umfpack.h... " >&6; } +if test "${ac_cv_header_umfpack_h+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_header_umfpack_h=$ac_header_preproc +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_umfpack_h" >&5 +$as_echo "$ac_cv_header_umfpack_h" >&6; } + +fi +if test "x$ac_cv_header_umfpack_h" = x""yes; then + pac_umf_header_ok=yes +else + pac_umf_header_ok=no; UMF_INCLUDES="" +fi + + +if test "x$mld2p4_cv_umfpacklibdir" != "x"; then + LIBS="-L$mld2p4_cv_umfpacklibdir $LIBS $EXTRA_LIBS" + UMF_LIBDIR="-L$mld2p4_cv_umfpacklibdir" +elif test "x$mld2p4_cv_umfpackdir" != "x"; then + LIBS="-L$mld2p4_cv_umfpackdir $LIBS $EXTRA_LIBS" + UMF_LIBDIR="-L$mld2p4_cv_umfpackdir" +fi +if test "x$pac_umf_header_ok" == "xno" ; then + unset ac_cv_header_umfpack_h + UMF_INCLUDES="-I$mld2p4_cv_umfpackdir" + CPPFLAGS="$UMF_INCLUDES $SAVE_CPPFLAGS" + if test "${ac_cv_header_umfpack_h+set}" = set; then + { $as_echo "$as_me:$LINENO: checking for umfpack.h" >&5 +$as_echo_n "checking for umfpack.h... " >&6; } +if test "${ac_cv_header_umfpack_h+set}" = set; then + $as_echo_n "(cached) " >&6 +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_umfpack_h" >&5 +$as_echo "$ac_cv_header_umfpack_h" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking umfpack.h usability" >&5 +$as_echo_n "checking umfpack.h usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking umfpack.h presence" >&5 +$as_echo_n "checking umfpack.h presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: umfpack.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: umfpack.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: umfpack.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: umfpack.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: umfpack.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: umfpack.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: umfpack.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: umfpack.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------------------------------------ ## +## Report this to https://github.com/sfilippone/mld2p4-2/issues ## +## ------------------------------------------------------------ ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for umfpack.h" >&5 +$as_echo_n "checking for umfpack.h... " >&6; } +if test "${ac_cv_header_umfpack_h+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_header_umfpack_h=$ac_header_preproc +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_umfpack_h" >&5 +$as_echo "$ac_cv_header_umfpack_h" >&6; } + +fi +if test "x$ac_cv_header_umfpack_h" = x""yes; then + pac_umf_header_ok=yes +else + pac_umf_header_ok=no; UMF_INCLUDES="" +fi + + +fi +if test "x$pac_umf_header_ok" == "xno" ; then + unset ac_cv_header_umfpack_h + UMF_INCLUDES="-I$mld2p4_cv_umfpackdir/include -I$mld2p4_cv_umfpackdir/Include " + CPPFLAGS="$UMF_INCLUDES $SAVE_CPPFLAGS" + + { $as_echo "$as_me:$LINENO: checking for umfpack_di_symbolic in $UMF_INCLUDES" >&5 +$as_echo_n "checking for umfpack_di_symbolic in $UMF_INCLUDES... " >&6; } + if test "${ac_cv_header_umfpack_h+set}" = set; then + { $as_echo "$as_me:$LINENO: checking for umfpack.h" >&5 +$as_echo_n "checking for umfpack.h... " >&6; } +if test "${ac_cv_header_umfpack_h+set}" = set; then + $as_echo_n "(cached) " >&6 +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_umfpack_h" >&5 +$as_echo "$ac_cv_header_umfpack_h" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking umfpack.h usability" >&5 +$as_echo_n "checking umfpack.h usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking umfpack.h presence" >&5 +$as_echo_n "checking umfpack.h presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: umfpack.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: umfpack.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: umfpack.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: umfpack.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: umfpack.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: umfpack.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: umfpack.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: umfpack.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------------------------------------ ## +## Report this to https://github.com/sfilippone/mld2p4-2/issues ## +## ------------------------------------------------------------ ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for umfpack.h" >&5 +$as_echo_n "checking for umfpack.h... " >&6; } +if test "${ac_cv_header_umfpack_h+set}" = set; then + $as_echo_n "(cached) " >&6 else - mld2p4_cv_umfpacklibdir='' + ac_cv_header_umfpack_h=$ac_header_preproc fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_umfpack_h" >&5 +$as_echo "$ac_cv_header_umfpack_h" >&6; } - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -save_LIBS="$LIBS" -save_CPPFLAGS="$CPPFLAGS" -if test "x$mld2p4_cv_umfpackincdir" != "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: umfp include dir $mld2p4_cv_umfpackincdir" >&5 -$as_echo "$as_me: umfp include dir $mld2p4_cv_umfpackincdir" >&6;} - UMF_INCLUDES="-I$mld2p4_cv_umfpackincdir" -elif test "x$mld2p4_cv_umfpackdir" != "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: umfp dir $mld2p4_cv_umfpackdir" >&5 -$as_echo "$as_me: umfp dir $mld2p4_cv_umfpackdir" >&6;} - UMF_INCLUDES="-I$mld2p4_cv_umfpackdir" fi -CPPFLAGS="$UMF_INCLUDES $CPPFLAGS" -ac_fn_c_check_header_mongrel "$LINENO" "umfpack.h" "ac_cv_header_umfpack_h" "$ac_includes_default" -if test "x$ac_cv_header_umfpack_h" = xyes; then : +if test "x$ac_cv_header_umfpack_h" = x""yes; then pac_umf_header_ok=yes else pac_umf_header_ok=no; UMF_INCLUDES="" fi -if test "x$mld2p4_cv_umfpacklibdir" != "x"; then - LIBS="-L$mld2p4_cv_umfpacklibdir $LIBS $EXTRA_LIBS" - UMF_LIBDIR="-L$mld2p4_cv_umfpacklibdir" -elif test "x$mld2p4_cv_umfpackdir" != "x"; then - LIBS="-L$mld2p4_cv_umfpackdir $LIBS $EXTRA_LIBS" - UMF_LIBDIR="-L$mld2p4_cv_umfpackdir" fi if test "x$pac_umf_header_ok" == "xno" ; then - unset ac_cv_header_umfpack_h - UMF_INCLUDES="-I$mld2p4_cv_umfpackdir" - CPPFLAGS="$UMF_INCLUDES $SAVE_CPPFLAGS" - ac_fn_c_check_header_mongrel "$LINENO" "umfpack.h" "ac_cv_header_umfpack_h" "$ac_includes_default" -if test "x$ac_cv_header_umfpack_h" = xyes; then : - pac_umf_header_ok=yes + unset ac_cv_header_umfpack_h + UMF_INCLUDES="-I$mld2p4_cv_umfpackdir/UFconfig -I$mld2p4_cv_umfpackdir/UMFPACK/Include -I$mld2p4_cv_umfpackdir/AMD/Include" + CPPFLAGS="$UMF_INCLUDES $SAVE_CPPFLAGS" + if test "${ac_cv_header_umfpack_h+set}" = set; then + { $as_echo "$as_me:$LINENO: checking for umfpack.h" >&5 +$as_echo_n "checking for umfpack.h... " >&6; } +if test "${ac_cv_header_umfpack_h+set}" = set; then + $as_echo_n "(cached) " >&6 +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_umfpack_h" >&5 +$as_echo "$ac_cv_header_umfpack_h" >&6; } else - pac_umf_header_ok=no; UMF_INCLUDES="" + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking umfpack.h usability" >&5 +$as_echo_n "checking umfpack.h usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking umfpack.h presence" >&5 +$as_echo_n "checking umfpack.h presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_header_preproc=no fi -if test "x$pac_umf_header_ok" == "xno" ; then - unset ac_cv_header_umfpack_h - UMF_INCLUDES="-I$mld2p4_cv_umfpackdir/include -I$mld2p4_cv_umfpackdir/Include " - CPPFLAGS="$UMF_INCLUDES $SAVE_CPPFLAGS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for umfpack_di_symbolic in $UMF_INCLUDES" >&5 -$as_echo_n "checking for umfpack_di_symbolic in $UMF_INCLUDES... " >&6; } - ac_fn_c_check_header_mongrel "$LINENO" "umfpack.h" "ac_cv_header_umfpack_h" "$ac_includes_default" -if test "x$ac_cv_header_umfpack_h" = xyes; then : - pac_umf_header_ok=yes +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: umfpack.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: umfpack.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: umfpack.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: umfpack.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: umfpack.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: umfpack.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: umfpack.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: umfpack.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: umfpack.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------------------------------------ ## +## Report this to https://github.com/sfilippone/mld2p4-2/issues ## +## ------------------------------------------------------------ ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for umfpack.h" >&5 +$as_echo_n "checking for umfpack.h... " >&6; } +if test "${ac_cv_header_umfpack_h+set}" = set; then + $as_echo_n "(cached) " >&6 else - pac_umf_header_ok=no; UMF_INCLUDES="" + ac_cv_header_umfpack_h=$ac_header_preproc fi - +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_umfpack_h" >&5 +$as_echo "$ac_cv_header_umfpack_h" >&6; } fi -if test "x$pac_umf_header_ok" == "xno" ; then - unset ac_cv_header_umfpack_h - UMF_INCLUDES="-I$mld2p4_cv_umfpackdir/UFconfig -I$mld2p4_cv_umfpackdir/UMFPACK/Include -I$mld2p4_cv_umfpackdir/AMD/Include" - CPPFLAGS="$UMF_INCLUDES $SAVE_CPPFLAGS" - ac_fn_c_check_header_mongrel "$LINENO" "umfpack.h" "ac_cv_header_umfpack_h" "$ac_includes_default" -if test "x$ac_cv_header_umfpack_h" = xyes; then : +if test "x$ac_cv_header_umfpack_h" = x""yes; then pac_umf_header_ok=yes else pac_umf_header_ok=no; UMF_INCLUDES="" @@ -8467,9 +11406,13 @@ fi if test "x$pac_umf_header_ok" == "xyes" ; then UMF_LIBS="$mld2p4_cv_umfpack $UMF_LIBDIR" LIBS="$UMF_LIBS -lm $LIBS $EXTRA_LIBS"; - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for umfpack_di_symbolic in $UMF_LIBS" >&5 + { $as_echo "$as_me:$LINENO: checking for umfpack_di_symbolic in $UMF_LIBS" >&5 $as_echo_n "checking for umfpack_di_symbolic in $UMF_LIBS... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -8487,23 +11430,52 @@ return umfpack_di_symbolic (); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then mld2p4_cv_have_umfpack=yes;pac_umf_lib_ok=yes; else - mld2p4_cv_have_umfpack=no;pac_umf_lib_ok=no; UMF_LIBS="" + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + mld2p4_cv_have_umfpack=no;pac_umf_lib_ok=no; UMF_LIBS="" fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $pac_umf_lib_ok" >&5 + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + { $as_echo "$as_me:$LINENO: result: $pac_umf_lib_ok" >&5 $as_echo "$pac_umf_lib_ok" >&6; } if test "x$pac_umf_lib_ok" == "xno" ; then UMF_LIBDIR="-L$mld2p4_cv_umfpackdir/Lib -L$mld2p4_cv_umfpackdir/lib" UMF_LIBS="$mld2p4_cv_umfpack $UMF_LIBDIR -lm $SAVE_LIBS $EXTRA_LIBS" LIBS="$UMF_LIBS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for umfpack_di_symbolic in $UMF_LIBS" >&5 + { $as_echo "$as_me:$LINENO: checking for umfpack_di_symbolic in $UMF_LIBS" >&5 $as_echo_n "checking for umfpack_di_symbolic in $UMF_LIBS... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -8521,23 +11493,52 @@ return umfpack_di_symbolic (); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then mld2p4_cv_have_umfpack=yes;pac_umf_lib_ok=yes; else - mld2p4_cv_have_umfpack=no;pac_umf_lib_ok=no; UMF_LIBS="" + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + mld2p4_cv_have_umfpack=no;pac_umf_lib_ok=no; UMF_LIBS="" fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $pac_umf_lib_ok" >&5 + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + { $as_echo "$as_me:$LINENO: result: $pac_umf_lib_ok" >&5 $as_echo "$pac_umf_lib_ok" >&6; } fi if test "x$pac_umf_lib_ok" == "xno" ; then UMF_LIBDIR="-L$mld2p4_cv_umfpackdir/AMD/Lib -L$mld2p4_cv_umfpackdir/UMFPACK/Lib" UMF_LIBS="$mld2p4_cv_umfpack $UMF_LIBDIR -lm $SAVE_LIBS $EXTRA_LIBS" LIBS="$UMF_LIBS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for umfpack_di_symbolic in $UMF_LIBS" >&5 + { $as_echo "$as_me:$LINENO: checking for umfpack_di_symbolic in $UMF_LIBS" >&5 $as_echo_n "checking for umfpack_di_symbolic in $UMF_LIBS... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -8555,14 +11556,39 @@ return umfpack_di_symbolic (); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then mld2p4_cv_have_umfpack=yes;pac_umf_lib_ok=yes; else - mld2p4_cv_have_umfpack=no;pac_umf_lib_ok=no; UMF_LIBS="" + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + mld2p4_cv_have_umfpack=no;pac_umf_lib_ok=no; UMF_LIBS="" fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $pac_umf_lib_ok" >&5 + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + { $as_echo "$as_me:$LINENO: result: $pac_umf_lib_ok" >&5 $as_echo "$pac_umf_lib_ok" >&6; } fi fi @@ -8584,7 +11610,7 @@ fi # Check whether --with-superlu was given. -if test "${with_superlu+set}" = set; then : +if test "${with_superlu+set}" = set; then withval=$with_superlu; mld2p4_cv_superlu=$withval else mld2p4_cv_superlu='-lsuperlu' @@ -8592,7 +11618,7 @@ fi # Check whether --with-superludir was given. -if test "${with_superludir+set}" = set; then : +if test "${with_superludir+set}" = set; then withval=$with_superludir; mld2p4_cv_superludir=$withval else mld2p4_cv_superludir='' @@ -8600,7 +11626,7 @@ fi # Check whether --with-superluincdir was given. -if test "${with_superluincdir+set}" = set; then : +if test "${with_superluincdir+set}" = set; then withval=$with_superluincdir; mld2p4_cv_superluincdir=$withval else mld2p4_cv_superluincdir='' @@ -8608,7 +11634,7 @@ fi # Check whether --with-superlulibdir was given. -if test "${with_superlulibdir+set}" = set; then : +if test "${with_superlulibdir+set}" = set; then withval=$with_superlulibdir; mld2p4_cv_superlulibdir=$withval else mld2p4_cv_superlulibdir='' @@ -8623,11 +11649,11 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu save_LIBS="$LIBS" save_CPPFLAGS="$CPPFLAGS" if test "x$mld2p4_cv_superluincdir" != "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: slu include dir $mld2p4_cv_superluincdir" >&5 + { $as_echo "$as_me:$LINENO: slu include dir $mld2p4_cv_superluincdir" >&5 $as_echo "$as_me: slu include dir $mld2p4_cv_superluincdir" >&6;} SLU_INCLUDES="-I$mld2p4_cv_superluincdir" elif test "x$mld2p4_cv_superludir" != "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: slu dir $mld2p4_cv_superludir" >&5 + { $as_echo "$as_me:$LINENO: slu dir $mld2p4_cv_superludir" >&5 $as_echo "$as_me: slu dir $mld2p4_cv_superludir" >&6;} SLU_INCLUDES="-I$mld2p4_cv_superludir" fi @@ -8637,33 +11663,311 @@ elif test "x$mld2p4_cv_superludir" != "x"; then SLU_LIBS="-L$mld2p4_cv_superludir" fi -LIBS="$SLU_LIBS $LIBS" -CPPFLAGS="$SLU_INCLUDES $save_CPPFLAGS" -for ac_header in slu_ddefs.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "slu_ddefs.h" "ac_cv_header_slu_ddefs_h" "$ac_includes_default" -if test "x$ac_cv_header_slu_ddefs_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SLU_DDEFS_H 1 +LIBS="$SLU_LIBS $LIBS" +CPPFLAGS="$SLU_INCLUDES $save_CPPFLAGS" + +for ac_header in slu_ddefs.h +do +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 +$as_echo_n "checking $ac_header usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 +$as_echo_n "checking $ac_header presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------------------------------------ ## +## Report this to https://github.com/sfilippone/mld2p4-2/issues ## +## ------------------------------------------------------------ ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + +fi +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + pac_slu_header_ok=yes +else + pac_slu_header_ok=no; SLU_INCLUDES="" +fi + +done + +if test "x$pac_slu_header_ok" == "xno" ; then + unset ac_cv_header_slu_ddefs_h + SLU_INCLUDES="-I$mld2p4_cv_superludir/include -I$mld2p4_cv_superludir/Include " + CPPFLAGS="$SLU_INCLUDES $save_CPPFLAGS" + + +for ac_header in slu_ddefs.h +do +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 +$as_echo_n "checking $ac_header usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 +$as_echo_n "checking $ac_header presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ _ACEOF - pac_slu_header_ok=yes +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes else - pac_slu_header_ok=no; SLU_INCLUDES="" + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no fi -done +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } -if test "x$pac_slu_header_ok" == "xno" ; then - unset ac_cv_header_slu_ddefs_h - SLU_INCLUDES="-I$mld2p4_cv_superludir/include -I$mld2p4_cv_superludir/Include " - CPPFLAGS="$SLU_INCLUDES $save_CPPFLAGS" +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------------------------------------ ## +## Report this to https://github.com/sfilippone/mld2p4-2/issues ## +## ------------------------------------------------------------ ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } - for ac_header in slu_ddefs.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "slu_ddefs.h" "ac_cv_header_slu_ddefs_h" "$ac_includes_default" -if test "x$ac_cv_header_slu_ddefs_h" = xyes; then : +fi +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF -#define HAVE_SLU_DDEFS_H 1 +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF pac_slu_header_ok=yes else @@ -8677,9 +11981,13 @@ fi if test "x$pac_slu_header_ok" == "xyes" ; then SLU_LIBS="$mld2p4_cv_superlu $SLU_LIBS" LIBS="$SLU_LIBS -lm $save_LIBS"; - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for superlu_malloc in $SLU_LIBS" >&5 + { $as_echo "$as_me:$LINENO: checking for superlu_malloc in $SLU_LIBS" >&5 $as_echo_n "checking for superlu_malloc in $SLU_LIBS... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -8697,17 +12005,46 @@ return superlu_malloc (); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then mld2p4_cv_have_superlu=yes;pac_slu_lib_ok=yes; else - mld2p4_cv_have_superlu=no;pac_slu_lib_ok=no; SLU_LIBS=""; + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + mld2p4_cv_have_superlu=no;pac_slu_lib_ok=no; SLU_LIBS=""; fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext if test "x$pac_slu_lib_ok" == "xno" ; then SLU_LIBS="$mld2p4_cv_superlu -L$mld2p4_cv_superludir/lib"; LIBS="$SLU_LIBS -lm $save_LIBS"; - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -8725,18 +12062,47 @@ return superlu_malloc (); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then mld2p4_cv_have_superlu=yes;pac_slu_lib_ok=yes; else - mld2p4_cv_have_superlu=no;pac_slu_lib_ok=no; SLU_LIBS=""; + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + mld2p4_cv_have_superlu=no;pac_slu_lib_ok=no; SLU_LIBS=""; fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi if test "x$pac_slu_lib_ok" == "xno" ; then SLU_LIBS="$mld2p4_cv_superlu -L$mld2p4_cv_superludir/lib64"; LIBS="$SLU_LIBS -lm $save_LIBS"; - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -8754,19 +12120,44 @@ return superlu_malloc (); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then mld2p4_cv_have_superlu=yes;pac_slu_lib_ok=yes; else - mld2p4_cv_have_superlu=no;pac_slu_lib_ok=no; SLU_LIBS=""; + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + mld2p4_cv_have_superlu=no;pac_slu_lib_ok=no; SLU_LIBS=""; fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $pac_slu_lib_ok" >&5 + { $as_echo "$as_me:$LINENO: result: $pac_slu_lib_ok" >&5 $as_echo "$pac_slu_lib_ok" >&6; } fi if test "x$pac_slu_header_ok" == "xyes" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for superlu version 5" >&5 + { $as_echo "$as_me:$LINENO: checking for superlu version 5" >&5 $as_echo_n "checking for superlu version 5... " >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -8774,7 +12165,11 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include "slu_ddefs.h" int testdslu() @@ -8787,13 +12182,34 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; }; pac_slu_version="5"; else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; }; pac_slu_version="4"; fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -8821,7 +12237,7 @@ fi # Check whether --with-superludist was given. -if test "${with_superludist+set}" = set; then : +if test "${with_superludist+set}" = set; then withval=$with_superludist; mld2p4_cv_superludist=$withval else mld2p4_cv_superludist='-lsuperlu_dist' @@ -8829,7 +12245,7 @@ fi # Check whether --with-superludistdir was given. -if test "${with_superludistdir+set}" = set; then : +if test "${with_superludistdir+set}" = set; then withval=$with_superludistdir; mld2p4_cv_superludistdir=$withval else mld2p4_cv_superludistdir='' @@ -8838,7 +12254,7 @@ fi # Check whether --with-superludistincdir was given. -if test "${with_superludistincdir+set}" = set; then : +if test "${with_superludistincdir+set}" = set; then withval=$with_superludistincdir; mld2p4_cv_superludistincdir=$withval else mld2p4_cv_superludistincdir='' @@ -8847,7 +12263,7 @@ fi # Check whether --with-superludistlibdir was given. -if test "${with_superludistlibdir+set}" = set; then : +if test "${with_superludistlibdir+set}" = set; then withval=$with_superludistlibdir; mld2p4_cv_superludistlibdir=$withval else mld2p4_cv_superludistlibdir='' @@ -8866,11 +12282,11 @@ save_CC="$CC" CC=${MPICC} CPP="${CC} -E" if test "x$mld2p4_cv_superludistincdir" != "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: sludist dir $mld2p4_cv_superludistincdir" >&5 + { $as_echo "$as_me:$LINENO: sludist dir $mld2p4_cv_superludistincdir" >&5 $as_echo "$as_me: sludist dir $mld2p4_cv_superludistincdir" >&6;} SLUDIST_INCLUDES="-I$mld2p4_cv_superludistincdir" elif test "x$mld2p4_cv_superludistdir" != "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: sludist dir $mld2p4_cv_superludistdir" >&5 + { $as_echo "$as_me:$LINENO: sludist dir $mld2p4_cv_superludistdir" >&5 $as_echo "$as_me: sludist dir $mld2p4_cv_superludistdir" >&6;} SLUDIST_INCLUDES="-I$mld2p4_cv_superludistdir" fi @@ -8883,12 +12299,151 @@ fi LIBS="$SLUDIST_LIBS $save_LIBS" CPPFLAGS="$SLUDIST_INCLUDES $save_CPPFLAGS" + for ac_header in superlu_ddefs.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "superlu_ddefs.h" "ac_cv_header_superlu_ddefs_h" "$ac_includes_default" -if test "x$ac_cv_header_superlu_ddefs_h" = xyes; then : +do +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 +$as_echo_n "checking $ac_header usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 +$as_echo_n "checking $ac_header presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------------------------------------ ## +## Report this to https://github.com/sfilippone/mld2p4-2/issues ## +## ------------------------------------------------------------ ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + +fi +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF -#define HAVE_SUPERLU_DDEFS_H 1 +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF pac_sludist_header_ok=yes else @@ -8902,12 +12457,151 @@ if test "x$pac_sludist_header_ok" == "xno" ; then SLUDIST_INCLUDES="-I$mld2p4_cv_superludistdir/include -I$mld2p4_cv_superludistdir/Include" CPPFLAGS="$SLUDIST_INCLUDES $save_CPPFLAGS" - for ac_header in superlu_ddefs.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "superlu_ddefs.h" "ac_cv_header_superlu_ddefs_h" "$ac_includes_default" -if test "x$ac_cv_header_superlu_ddefs_h" = xyes; then : + +for ac_header in superlu_ddefs.h +do +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 +$as_echo_n "checking $ac_header usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 +$as_echo_n "checking $ac_header presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------------------------------------ ## +## Report this to https://github.com/sfilippone/mld2p4-2/issues ## +## ------------------------------------------------------------ ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + +fi +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF -#define HAVE_SUPERLU_DDEFS_H 1 +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF pac_sludist_header_ok=yes else @@ -8921,9 +12615,13 @@ fi if test "x$pac_sludist_header_ok" == "xyes" ; then SLUDIST_LIBS="$mld2p4_cv_superludist $SLUDIST_LIBS" LIBS="$SLUDIST_LIBS -lm $save_LIBS"; - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for superlu_malloc_dist in $SLUDIST_LIBS" >&5 + { $as_echo "$as_me:$LINENO: checking for superlu_malloc_dist in $SLUDIST_LIBS" >&5 $as_echo_n "checking for superlu_malloc_dist in $SLUDIST_LIBS... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -8941,18 +12639,47 @@ return superlu_malloc_dist (); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then mld2p4_cv_have_superludist=yes;pac_sludist_lib_ok=yes; else - mld2p4_cv_have_superludist=no;pac_sludist_lib_ok=no; + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + mld2p4_cv_have_superludist=no;pac_sludist_lib_ok=no; SLUDIST_LIBS=""; fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext if test "x$pac_sludist_lib_ok" == "xno" ; then SLUDIST_LIBS="$mld2p4_cv_superludist -L$mld2p4_cv_superludistdir/lib"; LIBS="$SLUDIST_LIBS -lm $save_LIBS"; - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -8970,19 +12697,44 @@ return superlu_malloc_dist (); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then mld2p4_cv_have_superludist=yes;pac_sludist_lib_ok=yes; else - mld2p4_cv_have_superludist=no;pac_sludist_lib_ok=no; + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + mld2p4_cv_have_superludist=no;pac_sludist_lib_ok=no; SLUDIST_LIBS="";SLUDIST_INCLUDES="" fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $pac_sludist_lib_ok" >&5 + { $as_echo "$as_me:$LINENO: result: $pac_sludist_lib_ok" >&5 $as_echo "$pac_sludist_lib_ok" >&6; } if test "x$pac_sludist_lib_ok" == "xyes" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for superlu_dist version 4" >&5 + { $as_echo "$as_me:$LINENO: checking for superlu_dist version 4" >&5 $as_echo_n "checking for superlu_dist version 4... " >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -8991,7 +12743,11 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_cc=${MPICC-$CC} - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include "superlu_ddefs.h" int testdslud() @@ -9000,13 +12756,34 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu LUstructInit(n, LUstruct); } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; }; pac_sludist_version="4"; else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; }; pac_sludist_version="3"; fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -9015,7 +12792,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu if test "x$pac_sludist_version" == "x4" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for superlu_dist version 5" >&5 + { $as_echo "$as_me:$LINENO: checking for superlu_dist version 5" >&5 $as_echo_n "checking for superlu_dist version 5... " >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -9024,7 +12801,11 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_cc=${MPICC-$CC} - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include "superlu_ddefs.h" int testdslud() @@ -9033,13 +12814,34 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu set_default_options_dist(&options); } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; }; pac_sludist_version="5"; else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; }; pac_sludist_version="4"; fi + rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -9191,13 +12993,13 @@ _ACEOF case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 + *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; + *) $as_unset $ac_var ;; esac ;; esac done @@ -9205,8 +13007,8 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes: double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \. + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" @@ -9228,23 +13030,12 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then - if test "x$cache_file" != "x/dev/null"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 + test "x$cache_file" != "x/dev/null" && + { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} - if test ! -f "$cache_file" || test -h "$cache_file"; then - cat confcache >"$cache_file" - else - case $cache_file in #( - */* | ?:*) - mv -f confcache "$cache_file"$$ && - mv -f "$cache_file"$$ "$cache_file" ;; #( - *) - mv -f confcache "$cache_file" ;; - esac - fi - fi + cat confcache >$cache_file else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 + { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi @@ -9294,29 +13085,20 @@ DEFS=`sed -n "$ac_script" confdefs.h` ac_libobjs= ac_ltlibobjs= -U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. - as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" - as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 -$as_echo_n "checking that generated files are newer than configure... " >&6; } - if test -n "$am_sleep_pid"; then - # Hide warnings about reused PIDs. - wait $am_sleep_pid 2>/dev/null - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 -$as_echo "done" >&6; } if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' @@ -9326,22 +13108,27 @@ else fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - as_fn_error $? "conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error $? "conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } fi -: "${CONFIG_STATUS=./config.status}" +: ${CONFIG_STATUS=./config.status} ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -as_write_fail=0 -cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 +cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. @@ -9351,18 +13138,17 @@ cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 debug=false ac_cs_recheck=false ac_cs_silent=false - SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which @@ -9370,15 +13156,23 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; esac + fi + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + as_nl=' ' export as_nl @@ -9386,13 +13180,7 @@ export as_nl as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then +if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else @@ -9403,7 +13191,7 @@ else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; - case $arg in #( + case $arg in *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; @@ -9426,6 +13214,13 @@ if test "${PATH_SEPARATOR+set}" != set; then } fi +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + # IFS # We need space, tab and new line, in precisely that order. Quoting is @@ -9435,16 +13230,15 @@ fi IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( +case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done IFS=$as_save_IFS ;; @@ -9456,16 +13250,12 @@ if test "x$as_myself" = x; then fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 + { (exit 1); exit 1; } fi -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' @@ -9477,89 +13267,7 @@ export LC_ALL LANGUAGE=C export LANGUAGE -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - +# Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr @@ -9573,12 +13281,8 @@ else as_basename=false fi -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi +# Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ @@ -9598,25 +13302,76 @@ $as_echo X/"$0" | } s/.*/./; q'` -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits +# CDPATH. +$as_unset CDPATH + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( +case `echo -n x` in -n*) - case `echo 'xy\c'` in + case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; + *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then @@ -9631,85 +13386,49 @@ if (echo >conf$$.file) 2>/dev/null; then # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. + # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' + as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else - as_ln_s='cp -pR' + as_ln_s='cp -p' fi else - as_ln_s='cp -pR' + as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' + as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -as_test_x='test -x' -as_executable_p=as_fn_executable_p +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" @@ -9719,19 +13438,13 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 -## ----------------------------------- ## -## Main body of $CONFIG_STATUS script. ## -## ----------------------------------- ## -_ASEOF -test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# Save the log message, to keep $0 and so on meaningful, and to +# Save the log message, to keep $[0] and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by MLD2P4 $as_me 2.1.1, which was -generated by GNU Autoconf 2.69. Invocation command line was +generated by GNU Autoconf 2.63. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -9759,15 +13472,13 @@ _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ -\`$as_me' instantiates files and other configuration actions -from templates according to the current configuration. Unless the files -and actions are specified as TAGs, all are instantiated by default. +\`$as_me' instantiates files from templates according to the +current configuration. -Usage: $0 [OPTION]... [TAG]... +Usage: $0 [OPTION]... [FILE]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit - --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files @@ -9781,17 +13492,16 @@ $config_files Configuration commands: $config_commands -Report bugs to ." +Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ MLD2P4 config.status 2.1.1 -configured by $0, generated by GNU Autoconf 2.69, - with options \\"\$ac_cs_config\\" +configured by $0, generated by GNU Autoconf 2.63, + with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" -Copyright (C) 2012 Free Software Foundation, Inc. +Copyright (C) 2008 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -9809,16 +13519,11 @@ ac_need_defaults=: while test $# != 0 do case $1 in - --*=?*) + --*=*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; - --*=) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg= - ac_shift=: - ;; *) ac_option=$1 ac_optarg=$2 @@ -9832,17 +13537,14 @@ do ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; - --config | --confi | --conf | --con | --co | --c ) - $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - '') as_fn_error $? "missing file argument" ;; esac - as_fn_append CONFIG_FILES " '$ac_optarg'" + CONFIG_FILES="$CONFIG_FILES '$ac_optarg'" ac_need_defaults=false;; --he | --h | --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; @@ -9851,10 +13553,11 @@ do ac_cs_silent=: ;; # This is an error. - -*) as_fn_error $? "unrecognized option: \`$1' -Try \`$0 --help' for more information." ;; + -*) { $as_echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; - *) as_fn_append ac_config_targets " $1" + *) ac_config_targets="$ac_config_targets $1" ac_need_defaults=false ;; esac @@ -9871,7 +13574,7 @@ fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then - set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' @@ -9908,7 +13611,9 @@ do "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "Make.inc") CONFIG_FILES="$CONFIG_FILES Make.inc" ;; - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; esac done @@ -9930,24 +13635,26 @@ fi # after its creation but before its name has been assigned to `$tmp'. $debug || { - tmp= ac_tmp= + tmp= trap 'exit_status=$? - : "${ac_tmp:=$tmp}" - { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status ' 0 - trap 'as_fn_exit 1' 1 2 13 15 + trap '{ (exit 1); exit 1; }' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -d "$tmp" + test -n "$tmp" && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") -} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -ac_tmp=$tmp +} || +{ + $as_echo "$as_me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. @@ -9955,13 +13662,7 @@ ac_tmp=$tmp if test -n "$CONFIG_FILES"; then -ac_cr=`echo X | tr X '\015'` -# On cygwin, bash can eat \r inside `` if the user requested igncr. -# But we know of no other shell where ac_cr would be empty at this -# point, so we can use a bashism as a fallback. -if test "x$ac_cr" = x; then - eval ac_cr=\$\'\\r\' -fi +ac_cr=' ' ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' @@ -9969,7 +13670,7 @@ else ac_cs_awk_cr=$ac_cr fi -echo 'BEGIN {' >"$ac_tmp/subs1.awk" && +echo 'BEGIN {' >"$tmp/subs1.awk" && _ACEOF @@ -9978,18 +13679,24 @@ _ACEOF echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` + { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } +ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi @@ -9997,7 +13704,7 @@ done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && +cat >>"\$tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h @@ -10011,7 +13718,7 @@ s/'"$ac_delim"'$// t delim :nl h -s/\(.\{148\}\)..*/\1/ +s/\(.\{148\}\).*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p @@ -10025,7 +13732,7 @@ s/.\{148\}// t nl :delim h -s/\(.\{148\}\)..*/\1/ +s/\(.\{148\}\).*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p @@ -10045,7 +13752,7 @@ t delim rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK -cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && +cat >>"\$tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" @@ -10077,29 +13784,23 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat -fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ - || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 +fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ + || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5 +$as_echo "$as_me: error: could not setup config files machinery" >&2;} + { (exit 1); exit 1; }; } _ACEOF -# VPATH may cause trouble with some makes, so we remove sole $(srcdir), -# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ -h -s/// -s/^/:/ -s/[ ]*$/:/ -s/:\$(srcdir):/:/g -s/:\${srcdir}:/:/g -s/:@srcdir@:/:/g -s/^:*// + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ s/:*$// -x -s/\(=[ ]*\).*/\1/ -G -s/\n// s/^[^=]*=[ ]*$// }' fi @@ -10117,7 +13818,9 @@ do esac case $ac_mode$ac_tag in :[FHL]*:*);; - :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; + :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5 +$as_echo "$as_me: error: invalid tag $ac_tag" >&2;} + { (exit 1); exit 1; }; };; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac @@ -10136,7 +13839,7 @@ do for ac_f do case $ac_f in - -) ac_f="$ac_tmp/stdin";; + -) ac_f="$tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. @@ -10145,10 +13848,12 @@ do [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || - as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; + { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - as_fn_append ac_file_inputs " '$ac_f'" + ac_file_inputs="$ac_file_inputs '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't @@ -10159,7 +13864,7 @@ do `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 + { $as_echo "$as_me:$LINENO: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. @@ -10171,8 +13876,10 @@ $as_echo "$as_me: creating $ac_file" >&6;} esac case $ac_tag in - *:-:* | *:-) cat >"$ac_tmp/stdin" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; + *:-:* | *:-) cat >"$tmp/stdin" \ + || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 +$as_echo "$as_me: error: could not create $ac_file" >&2;} + { (exit 1); exit 1; }; } ;; esac ;; esac @@ -10200,7 +13907,47 @@ $as_echo X"$ac_file" | q } s/.*/./; q'` - as_dir="$ac_dir"; as_fn_mkdir_p + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +$as_echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } ac_builddir=. case "$ac_dir" in @@ -10257,6 +14004,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= + ac_sed_dataroot=' /datarootdir/ { p @@ -10266,11 +14014,12 @@ ac_sed_dataroot=' /@docdir@/p /@infodir@/p /@localedir@/p -/@mandir@/p' +/@mandir@/p +' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 + { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 @@ -10280,7 +14029,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; + s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF @@ -10308,28 +14057,31 @@ s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ - >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ + || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 +$as_echo "$as_me: error: could not create $ac_file" >&2;} + { (exit 1); exit 1; }; } test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ - "$ac_tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&5 + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&2;} +which seems to be undefined. Please make sure it is defined." >&2;} - rm -f "$ac_tmp/stdin" + rm -f "$tmp/stdin" case $ac_file in - -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; - *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; + -) cat "$tmp/out" && rm -f "$tmp/out";; + *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; esac \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 +$as_echo "$as_me: error: could not create $ac_file" >&2;} + { (exit 1); exit 1; }; } ;; - :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 + :C) { $as_echo "$as_me:$LINENO: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} ;; esac @@ -10337,7 +14089,7 @@ $as_echo "$as_me: executing $ac_file commands" >&6;} case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || { - # Older Autoconf quotes --file arguments for eval, but not when files + # Autoconf 2.62 quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in @@ -10350,7 +14102,7 @@ $as_echo "$as_me: executing $ac_file commands" >&6;} # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named 'Makefile.in', but + # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. @@ -10384,19 +14136,21 @@ $as_echo X"$mf" | continue fi # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running 'make'. + # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "$am__include" && continue + test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || @@ -10422,7 +14176,47 @@ $as_echo X"$file" | q } s/.*/./; q'` - as_dir=$dirpart/$fdir; as_fn_mkdir_p + { as_dir=$dirpart/$fdir + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +$as_echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done @@ -10434,12 +14228,15 @@ $as_echo X"$file" | done # for ac_tag -as_fn_exit 0 +{ (exit 0); exit 0; } _ACEOF +chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || - as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 + { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5 +$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } # configure is writing to config.log, and then calls config.status. @@ -10460,17 +14257,17 @@ if test "$no_create" != yes; then exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. - $ac_cs_success || as_fn_exit 1 + $ac_cs_success || { (exit 1); exit 1; } fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 + { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi ############################################################################### -{ $as_echo "$as_me:${as_lineno-$LINENO}: +{ $as_echo "$as_me:$LINENO: ${PACKAGE_NAME} ${mld2p4_cv_version} has been configured as follows: PSBLAS library : ${PSBLAS_DIR} diff --git a/configure.ac b/configure.ac index 9aac2c57..904f7c45 100755 --- a/configure.ac +++ b/configure.ac @@ -495,6 +495,7 @@ if (( $pac_cv_psblas_major < 3 )) || else AC_MSG_NOTICE([Am configuring with PSBLAS version $pac_cv_psblas_major.$pac_cv_psblas_minor.$pac_cv_psblas_patchlevel.]) fi +AC_MSG_NOTICE([PSBLAS size of LPK "$pac_cv_psblas_sizeof_lp".]) ############################################################################### # Parachute rules for ar and ranlib ... (could cause problems) ############################################################################### @@ -629,7 +630,12 @@ AC_LANG([C]) PAC_CHECK_MUMPS -if test "x$mld2p4_cv_have_mumps" == "xyes" ; then +if test "x$pac_cv_psblas_sizeof_lp" == "x8" ; then + AC_MSG_NOTICE([PSBLAS defines PSB_LPK_ as $pac_cv_psblas_sizeof_lp. We cannot interface MUMPS. ]) + MUMPS_FLAGS="" + MUMPS_LIBS="" + mld2p4_cv_have_mumps="no"; +elif test "x$mld2p4_cv_have_mumps" == "xyes" ; then MUMPS_FLAGS="-DHave_MUMPS_ $MUMPS_INCLUDES" if test "x$pac_mumps_fmods_ok" == "xyes" ; then FDEFINES="$mld_cv_define_prepend-DHAVE_MUMPS_ $mld_cv_define_prepend-DHAVE_MUMPS_MODULES_ $MUMPS_MODULES $FDEFINES" diff --git a/examples/fileread/mld_cexample_1lev.f90 b/examples/fileread/mld_cexample_1lev.f90 index aee68054..57af6103 100644 --- a/examples/fileread/mld_cexample_1lev.f90 +++ b/examples/fileread/mld_cexample_1lev.f90 @@ -81,7 +81,7 @@ program mld_cexample_1lev ! other variables integer :: i,info,j,m_problem - integer(psb_long_int_k_) :: amatsize, precsize, descsize + integer(psb_epk_) :: amatsize, precsize, descsize integer :: ierr, ircode real(psb_spk_) :: resmx, resmxp real(psb_dpk_) :: t1, t2, tprec diff --git a/examples/fileread/mld_cexample_ml.f90 b/examples/fileread/mld_cexample_ml.f90 index 973aceb1..020aa47d 100644 --- a/examples/fileread/mld_cexample_ml.f90 +++ b/examples/fileread/mld_cexample_ml.f90 @@ -96,7 +96,7 @@ program mld_cexample_ml ! other variables integer :: choice integer :: i,info,j,m_problem - integer(psb_long_int_k_) :: amatsize, precsize, descsize + integer(psb_epk_) :: amatsize, precsize, descsize integer :: ierr, ircode real(psb_spk_) :: resmx, resmxp real(psb_dpk_) :: t1, t2, tprec diff --git a/examples/fileread/mld_dexample_1lev.f90 b/examples/fileread/mld_dexample_1lev.f90 index ae54ae7d..86df9b3d 100644 --- a/examples/fileread/mld_dexample_1lev.f90 +++ b/examples/fileread/mld_dexample_1lev.f90 @@ -81,7 +81,7 @@ program mld_dexample_1lev ! other variables integer :: i,info,j,m_problem - integer(psb_long_int_k_) :: amatsize, precsize, descsize + integer(psb_epk_) :: amatsize, precsize, descsize integer :: ierr, ircode real(psb_dpk_) :: resmx, resmxp real(psb_dpk_) :: t1, t2, tprec diff --git a/examples/fileread/mld_dexample_ml.f90 b/examples/fileread/mld_dexample_ml.f90 index fef3521d..ea79d145 100644 --- a/examples/fileread/mld_dexample_ml.f90 +++ b/examples/fileread/mld_dexample_ml.f90 @@ -96,7 +96,7 @@ program mld_dexample_ml ! other variables integer :: choice integer :: i,info,j,m_problem - integer(psb_long_int_k_) :: amatsize, precsize, descsize + integer(psb_epk_) :: amatsize, precsize, descsize integer :: ierr, ircode real(psb_dpk_) :: resmx, resmxp real(psb_dpk_) :: t1, t2, tprec diff --git a/examples/fileread/mld_sexample_1lev.f90 b/examples/fileread/mld_sexample_1lev.f90 index 064bf391..4e46617b 100644 --- a/examples/fileread/mld_sexample_1lev.f90 +++ b/examples/fileread/mld_sexample_1lev.f90 @@ -81,7 +81,7 @@ program mld_sexample_1lev ! other variables integer :: i,info,j,m_problem - integer(psb_long_int_k_) :: amatsize, precsize, descsize + integer(psb_epk_) :: amatsize, precsize, descsize integer :: ierr, ircode real(psb_spk_) :: resmx, resmxp real(psb_dpk_) :: t1, t2, tprec diff --git a/examples/fileread/mld_sexample_ml.f90 b/examples/fileread/mld_sexample_ml.f90 index 39bf62de..a3be4b1d 100644 --- a/examples/fileread/mld_sexample_ml.f90 +++ b/examples/fileread/mld_sexample_ml.f90 @@ -96,7 +96,7 @@ program mld_sexample_ml ! other variables integer :: choice integer :: i,info,j,m_problem - integer(psb_long_int_k_) :: amatsize, precsize, descsize + integer(psb_epk_) :: amatsize, precsize, descsize integer :: ierr, ircode real(psb_spk_) :: resmx, resmxp real(psb_dpk_) :: t1, t2, tprec diff --git a/examples/fileread/mld_zexample_1lev.f90 b/examples/fileread/mld_zexample_1lev.f90 index 7c695e8b..34eac8d5 100644 --- a/examples/fileread/mld_zexample_1lev.f90 +++ b/examples/fileread/mld_zexample_1lev.f90 @@ -81,7 +81,7 @@ program mld_zexample_1lev ! other variables integer :: i,info,j,m_problem - integer(psb_long_int_k_) :: amatsize, precsize, descsize + integer(psb_epk_) :: amatsize, precsize, descsize integer :: ierr, ircode real(psb_dpk_) :: resmx, resmxp real(psb_dpk_) :: t1, t2, tprec diff --git a/examples/fileread/mld_zexample_ml.f90 b/examples/fileread/mld_zexample_ml.f90 index e4c92d80..e2d9d258 100644 --- a/examples/fileread/mld_zexample_ml.f90 +++ b/examples/fileread/mld_zexample_ml.f90 @@ -96,7 +96,7 @@ program mld_zexample_ml ! other variables integer :: choice integer :: i,info,j,m_problem - integer(psb_long_int_k_) :: amatsize, precsize, descsize + integer(psb_epk_) :: amatsize, precsize, descsize integer :: ierr, ircode real(psb_dpk_) :: resmx, resmxp real(psb_dpk_) :: t1, t2, tprec diff --git a/examples/pdegen/mld_dexample_1lev.f90 b/examples/pdegen/mld_dexample_1lev.f90 index f4029ac5..c7681181 100644 --- a/examples/pdegen/mld_dexample_1lev.f90 +++ b/examples/pdegen/mld_dexample_1lev.f90 @@ -89,7 +89,7 @@ program mld_dexample_1lev ! other variables integer :: i,info,j - integer(psb_long_int_k_) :: amatsize, precsize, descsize + integer(psb_epk_) :: amatsize, precsize, descsize integer :: idim, nlev, ierr, ircode real(psb_dpk_) :: resmx, resmxp real(psb_dpk_) :: t1, t2, tprec diff --git a/examples/pdegen/mld_dexample_ml.f90 b/examples/pdegen/mld_dexample_ml.f90 index ce2debbb..5a5b53c2 100644 --- a/examples/pdegen/mld_dexample_ml.f90 +++ b/examples/pdegen/mld_dexample_ml.f90 @@ -108,7 +108,7 @@ program mld_dexample_ml ! other variables integer :: choice integer :: i,info,j - integer(psb_long_int_k_) :: amatsize, precsize, descsize + integer(psb_epk_) :: amatsize, precsize, descsize integer :: idim, ierr, ircode real(psb_dpk_) :: resmx, resmxp real(psb_dpk_) :: t1, t2, tprec diff --git a/examples/pdegen/mld_sexample_1lev.f90 b/examples/pdegen/mld_sexample_1lev.f90 index 848a8442..024f698b 100644 --- a/examples/pdegen/mld_sexample_1lev.f90 +++ b/examples/pdegen/mld_sexample_1lev.f90 @@ -89,7 +89,7 @@ program mld_sexample_1lev ! other variables integer :: i,info,j - integer(psb_long_int_k_) :: amatsize, precsize, descsize + integer(psb_epk_) :: amatsize, precsize, descsize integer :: idim, nlev, ierr, ircode real(psb_spk_) :: resmx, resmxp real(psb_dpk_) :: t1, t2, tprec diff --git a/examples/pdegen/mld_sexample_ml.f90 b/examples/pdegen/mld_sexample_ml.f90 index 522bc25a..22a04d1d 100644 --- a/examples/pdegen/mld_sexample_ml.f90 +++ b/examples/pdegen/mld_sexample_ml.f90 @@ -108,7 +108,7 @@ program mld_sexample_ml ! other variables integer :: choice integer :: i,info,j - integer(psb_long_int_k_) :: amatsize, precsize, descsize + integer(psb_epk_) :: amatsize, precsize, descsize integer :: idim, ierr, ircode real(psb_spk_) :: resmx, resmxp real(psb_dpk_) :: t1, t2, tprec diff --git a/mlprec/impl/aggregator/mld_c_dec_aggregator_mat_asb.f90 b/mlprec/impl/aggregator/mld_c_dec_aggregator_mat_asb.f90 index 2e9e6c4d..f6f0717f 100644 --- a/mlprec/impl/aggregator/mld_c_dec_aggregator_mat_asb.f90 +++ b/mlprec/impl/aggregator/mld_c_dec_aggregator_mat_asb.f90 @@ -143,23 +143,25 @@ subroutine mld_c_dec_aggregator_mat_asb(ag,parms,a,desc_a,ilaggr,nlaggr,ac,op_p type(mld_sml_parms), intent(inout) :: parms type(psb_cspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:), nlaggr(:) - type(psb_cspmat_type), intent(inout) :: op_prol - type(psb_cspmat_type), intent(out) :: ac,op_restr + integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) + type(psb_lcspmat_type), intent(inout) :: op_prol + type(psb_lcspmat_type), intent(out) :: ac,op_restr integer(psb_ipk_), intent(out) :: info ! Local variables - character(len=20) :: name - integer(psb_mpik_) :: ictxt, np, me - type(psb_c_coo_sparse_mat) :: acoo, bcoo - type(psb_c_csr_sparse_mat) :: acsr1 - integer(psb_ipk_) :: nzl,ntaggr - integer(psb_ipk_) :: err_act + character(len=20) :: name + integer(psb_mpk_) :: ictxt, np, me + type(psb_lc_coo_sparse_mat) :: acoo, bcoo + type(psb_lc_csr_sparse_mat) :: acsr1 + integer(psb_lpk_) :: nzl,ntaggr + integer(psb_ipk_) :: err_act integer(psb_ipk_) :: debug_level, debug_unit name='mld_c_dec_aggregator_mat_asb' - if (psb_get_errstatus().ne.0) return call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() info = psb_success_ diff --git a/mlprec/impl/aggregator/mld_c_dec_aggregator_tprol.f90 b/mlprec/impl/aggregator/mld_c_dec_aggregator_tprol.f90 index 17d3e5e4..7a62c5eb 100644 --- a/mlprec/impl/aggregator/mld_c_dec_aggregator_tprol.f90 +++ b/mlprec/impl/aggregator/mld_c_dec_aggregator_tprol.f90 @@ -81,20 +81,22 @@ subroutine mld_c_dec_aggregator_build_tprol(ag,parms,a,desc_a,ilaggr,nlaggr,op_ type(mld_sml_parms), intent(inout) :: parms type(psb_cspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) - type(psb_cspmat_type), intent(out) :: op_prol + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + type(psb_lcspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info ! Local variables - character(len=20) :: name - integer(psb_mpik_) :: ictxt, np, me - integer(psb_ipk_) :: err_act - integer(psb_ipk_) :: ntaggr - integer(psb_ipk_) :: debug_level, debug_unit + character(len=20) :: name + integer(psb_mpk_) :: ictxt, np, me + integer(psb_ipk_) :: err_act + integer(psb_lpk_) :: ntaggr + integer(psb_ipk_) :: debug_level, debug_unit name='mld_c_dec_aggregator_tprol' - if (psb_get_errstatus().ne.0) return call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() info = psb_success_ diff --git a/mlprec/impl/aggregator/mld_c_map_to_tprol.f90 b/mlprec/impl/aggregator/mld_c_map_to_tprol.f90 index 8a537c14..e7464638 100644 --- a/mlprec/impl/aggregator/mld_c_map_to_tprol.f90 +++ b/mlprec/impl/aggregator/mld_c_map_to_tprol.f90 @@ -87,22 +87,24 @@ subroutine mld_c_map_to_tprol(desc_a,ilaggr,nlaggr,op_prol,info) ! Arguments type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), allocatable, intent(inout) :: ilaggr(:),nlaggr(:) - type(psb_cspmat_type), intent(out) :: op_prol + integer(psb_lpk_), allocatable, intent(inout) :: ilaggr(:),nlaggr(:) + type(psb_lcspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info ! Local variables - integer(psb_ipk_) :: icnt,nlp,k,n,ia,isz,nr, naggr,i,j,m,naggrm1, naggrp1, ntaggr - type(psb_c_coo_sparse_mat) :: tmpcoo + integer(psb_lpk_) :: icnt,nlp,k,n,ia,isz,nr, naggr,i,j,m,naggrm1, naggrp1, ntaggr + type(psb_lc_coo_sparse_mat) :: tmpcoo integer(psb_ipk_) :: debug_level, debug_unit,err_act integer(psb_ipk_) :: ictxt,np,me - integer(psb_ipk_) :: nrow, ncol, n_ne + integer(psb_lpk_) :: nrow, ncol, n_ne character(len=20) :: name, ch_err - if(psb_get_errstatus() /= 0) return info=psb_success_ name = 'mld_map_to_tprol' call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() ! diff --git a/mlprec/impl/aggregator/mld_c_soc1_map_bld.f90 b/mlprec/impl/aggregator/mld_c_soc1_map_bld.f90 index 50720f18..23a13ceb 100644 --- a/mlprec/impl/aggregator/mld_c_soc1_map_bld.f90 +++ b/mlprec/impl/aggregator/mld_c_soc1_map_bld.f90 @@ -80,12 +80,13 @@ subroutine mld_c_soc1_map_bld(iorder,theta,a,desc_a,nlaggr,ilaggr,info) type(psb_cspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a real(psb_spk_), intent(in) :: theta - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) integer(psb_ipk_), intent(out) :: info ! Local variables - integer(psb_ipk_), allocatable :: ils(:), neigh(:), irow(:), icol(:),& - & ideg(:), idxs(:), tmpaggr(:) + integer(psb_ipk_), allocatable :: ils(:), neigh(:), irow(:), icol(:),& + & ideg(:), idxs(:) + integer(psb_lpk_), allocatable :: tmpaggr(:) complex(psb_spk_), allocatable :: val(:), diag(:) integer(psb_ipk_) :: icnt,nlp,k,n,ia,isz,nr, nc, naggr,i,j,m, nz, ilg, ii, ip type(psb_c_csr_sparse_mat) :: acsr @@ -96,10 +97,12 @@ subroutine mld_c_soc1_map_bld(iorder,theta,a,desc_a,nlaggr,ilaggr,info) integer(psb_ipk_) :: nrow, ncol, n_ne character(len=20) :: name, ch_err - if (psb_get_errstatus() /= 0) return info=psb_success_ name = 'mld_soc1_map_bld' call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() ! diff --git a/mlprec/impl/aggregator/mld_c_soc2_map_bld.f90 b/mlprec/impl/aggregator/mld_c_soc2_map_bld.f90 index 91fa785f..d3185a68 100644 --- a/mlprec/impl/aggregator/mld_c_soc2_map_bld.f90 +++ b/mlprec/impl/aggregator/mld_c_soc2_map_bld.f90 @@ -79,12 +79,13 @@ subroutine mld_c_soc2_map_bld(iorder,theta,a,desc_a,nlaggr,ilaggr,info) type(psb_cspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a real(psb_spk_), intent(in) :: theta - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) integer(psb_ipk_), intent(out) :: info ! Local variables integer(psb_ipk_), allocatable :: ils(:), neigh(:), irow(:), icol(:),& - & ideg(:), idxs(:), tmpaggr(:) + & ideg(:), idxs(:) + integer(psb_lpk_), allocatable :: tmpaggr(:) complex(psb_spk_), allocatable :: val(:), diag(:) integer(psb_ipk_) :: icnt,nlp,k,n,ia,isz,nr,nc,naggr,i,j,m, nz, ilg, ii, ip, ip1,nzcnt type(psb_c_csr_sparse_mat) :: acsr, muij, s_neigh @@ -96,10 +97,12 @@ subroutine mld_c_soc2_map_bld(iorder,theta,a,desc_a,nlaggr,ilaggr,info) integer(psb_ipk_) :: nrow, ncol, n_ne character(len=20) :: name, ch_err - if (psb_get_errstatus() /= 0) return info=psb_success_ name = 'mld_soc2_map_bld' call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() ! diff --git a/mlprec/impl/aggregator/mld_c_symdec_aggregator_tprol.f90 b/mlprec/impl/aggregator/mld_c_symdec_aggregator_tprol.f90 index cbd84b77..256223f6 100644 --- a/mlprec/impl/aggregator/mld_c_symdec_aggregator_tprol.f90 +++ b/mlprec/impl/aggregator/mld_c_symdec_aggregator_tprol.f90 @@ -85,21 +85,24 @@ subroutine mld_c_symdec_aggregator_build_tprol(ag,parms,a,desc_a,ilaggr,nlaggr, type(mld_sml_parms), intent(inout) :: parms type(psb_cspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) - type(psb_cspmat_type), intent(out) :: op_prol + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + type(psb_lcspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info ! Local variables type(psb_cspmat_type) :: atmp, atrans - character(len=20) :: name - integer(psb_mpik_) :: ictxt, np, me - integer(psb_ipk_) :: err_act - integer(psb_ipk_) :: ntaggr, nr - integer(psb_ipk_) :: debug_level, debug_unit + character(len=20) :: name + integer(psb_mpk_) :: ictxt, np, me + integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: nr + integer(psb_lpk_) :: ntaggr + integer(psb_ipk_) :: debug_level, debug_unit name='mld_c_symdec_aggregator_tprol' - if (psb_get_errstatus().ne.0) return call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() info = psb_success_ diff --git a/mlprec/impl/aggregator/mld_caggrmat_biz_asb.f90 b/mlprec/impl/aggregator/mld_caggrmat_biz_asb.f90 index 0b754d41..3d27c449 100644 --- a/mlprec/impl/aggregator/mld_caggrmat_biz_asb.f90 +++ b/mlprec/impl/aggregator/mld_caggrmat_biz_asb.f90 @@ -88,33 +88,35 @@ subroutine mld_caggrmat_biz_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr implicit none ! Arguments - type(psb_cspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:), nlaggr(:) - type(mld_sml_parms), intent(inout) :: parms - type(psb_cspmat_type), intent(inout) :: op_prol - type(psb_cspmat_type), intent(out) :: ac,op_restr - integer(psb_ipk_), intent(out) :: info + type(psb_cspmat_type), intent(in) :: a + type(psb_desc_type), intent(in) :: desc_a + integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) + type(mld_sml_parms), intent(inout) :: parms + type(psb_lcspmat_type), intent(inout) :: op_prol + type(psb_lcspmat_type), intent(out) :: ac,op_restr + integer(psb_ipk_), intent(out) :: info ! Local variables - integer(psb_ipk_) :: nrow, nglob, ncol, ntaggr, ip, ndx,& - & naggr, nzl,naggrm1,naggrp1, i, j, k, jd, icolF, nrw, err_act + integer(psb_lpk_) :: nrow, nglob, ncol, ntaggr, ip, & + & naggr, nzl,naggrm1,naggrp1, i, j, k, jd, icolF, nrw integer(psb_ipk_) ::ictxt, np, me character(len=20) :: name - type(psb_cspmat_type) :: am3, am4,tmp_prol - type(psb_c_coo_sparse_mat) :: tmpcoo - type(psb_c_csr_sparse_mat) :: acsr1, acsr2, acsr3, acsrf, ptilde + type(psb_lcspmat_type) :: am3, am4,tmp_prol, la + type(psb_lc_coo_sparse_mat) :: tmpcoo + type(psb_lc_csr_sparse_mat) :: acsr1, acsr2, acsr3, acsrf, ptilde complex(psb_spk_), allocatable :: adiag(:) integer(psb_ipk_) :: ierr(5) logical :: filter_mat - integer(psb_ipk_) :: debug_level, debug_unit + integer(psb_ipk_) :: debug_level, debug_unit, err_act integer(psb_ipk_), parameter :: ncmax=16 real(psb_spk_) :: anorm, omega, tmp, dg, theta name='mld_aggrmat_biz_asb' - if(psb_get_errstatus().ne.0) return info=psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() @@ -128,10 +130,8 @@ subroutine mld_caggrmat_biz_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr ncol = desc_a%get_local_cols() theta = parms%aggr_thresh - naggr = nlaggr(me+1) ntaggr = sum(nlaggr) - filter_mat = (parms%aggr_filter == mld_filter_mat_) ! naggr: number of local aggregates @@ -143,8 +143,8 @@ subroutine mld_caggrmat_biz_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr & call psb_realloc(ncol,adiag,info) if (info == psb_success_) & & call psb_halo(adiag,desc_a,info) - - if(info /= psb_success_) then + if (info == psb_success_) call a%cp_to_l(la) + if (info /= psb_success_) then call psb_errpush(psb_err_from_subroutine_,name,a_err='sp_getdiag') goto 9999 end if @@ -152,7 +152,7 @@ subroutine mld_caggrmat_biz_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr ! 1. Allocate Ptilde in sparse matrix form call op_prol%mv_to(tmpcoo) call ptilde%mv_from_coo(tmpcoo,info) - if (info == psb_success_) call a%cscnv(acsr3,info,dupl=psb_dupl_add_) + if (info == psb_success_) call la%cscnv(acsr3,info,dupl=psb_dupl_add_) if (info /= psb_success_) goto 9999 if (debug_level >= psb_debug_outer_) & @@ -163,9 +163,9 @@ subroutine mld_caggrmat_biz_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr ! ! Build the filtered matrix Af from A ! - if (info == psb_success_) call a%cscnv(acsrf,info,dupl=psb_dupl_add_) + if (info == psb_success_) call acsr3%cp_to_fmt(acsrf,info) - do i=1,nrow + do i=1, nrow tmp = czero jd = -1 do j=acsrf%irp(i),acsrf%irp(i+1)-1 @@ -271,17 +271,15 @@ subroutine mld_caggrmat_biz_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr ! Doing it this way means to consider diag(Af_i) ! ! - call psb_symbmm(acsrf,ptilde,acsr1,info) + call psb_spspmm(acsrf,ptilde,acsr1,info) if(info /= psb_success_) then - call psb_errpush(psb_err_from_subroutine_,name,a_err='symbmm 1') + call psb_errpush(psb_err_from_subroutine_,name,a_err='spspmm 1') goto 9999 end if - call psb_numbmm(acsrf,ptilde,acsr1) - if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& - & 'Done NUMBMM 1' + & 'Done SPSPMM 1' else ! @@ -307,17 +305,15 @@ subroutine mld_caggrmat_biz_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr ! Doing it this way means to consider diag(A_i) ! ! - call psb_symbmm(acsr3,ptilde,acsr1,info) + call psb_spspmm(acsr3,ptilde,acsr1,info) if(info /= psb_success_) then - call psb_errpush(psb_err_from_subroutine_,name,a_err='symbmm 1') + call psb_errpush(psb_err_from_subroutine_,name,a_err='spspmm 1') goto 9999 end if - call psb_numbmm(acsr3,ptilde,acsr1) - if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& - & 'Done NUMBMM 1' + & 'Done SPSPMM 1' end if call ptilde%free() @@ -331,16 +327,15 @@ subroutine mld_caggrmat_biz_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr goto 9999 end if - call psb_symbmm(a,tmp_prol,am3,info) + call psb_spspmm(la,tmp_prol,am3,info) if(info /= psb_success_) then - call psb_errpush(psb_err_from_subroutine_,name,a_err='symbmm 2') + call psb_errpush(psb_err_from_subroutine_,name,a_err='spspmm 2') goto 9999 end if - call psb_numbmm(a,tmp_prol,am3) if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& - & 'Done NUMBMM 2',parms%aggr_prol, mld_smooth_prol_ + & 'Done SPSPMM 2',parms%aggr_prol, mld_smooth_prol_ call tmp_prol%transp(op_restr) if (debug_level >= psb_debug_outer_) & @@ -353,23 +348,18 @@ subroutine mld_caggrmat_biz_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr goto 9999 end if - if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& - & 'starting symbmm 3' - call psb_symbmm(op_restr,am3,ac,info) - if (info == psb_success_) call psb_numbmm(op_restr,am3,ac) + & 'starting spspmm 3' + call psb_spspmm(op_restr,am3,ac,info) if (info == psb_success_) call am3%free() - if (info == psb_success_) call ac%cscnv(info,type='coo',dupl=psb_dupl_add_) + if (info == psb_success_) call ac%cscnv(info,type='csr',dupl=psb_dupl_add_) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,a_err='Build b = op_restr x am3') goto 9999 end if - - - if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& & 'Done smooth_aggregate ' diff --git a/mlprec/impl/aggregator/mld_caggrmat_minnrg_asb.f90 b/mlprec/impl/aggregator/mld_caggrmat_minnrg_asb.f90 index d1af7fa3..09e8298b 100644 --- a/mlprec/impl/aggregator/mld_caggrmat_minnrg_asb.f90 +++ b/mlprec/impl/aggregator/mld_caggrmat_minnrg_asb.f90 @@ -114,37 +114,38 @@ subroutine mld_caggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re ! Arguments type(psb_cspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:), nlaggr(:) - type(mld_sml_parms), intent(inout) :: parms - type(psb_cspmat_type), intent(inout) :: op_prol - type(psb_cspmat_type), intent(out) :: ac,op_restr + integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) + type(mld_sml_parms), intent(inout) :: parms + type(psb_lcspmat_type), intent(inout) :: op_prol + type(psb_lcspmat_type), intent(out) :: ac,op_restr integer(psb_ipk_), intent(out) :: info ! Local variables - integer(psb_ipk_), allocatable :: nzbr(:), idisp(:) - integer(psb_ipk_) :: nrow, nglob, ncol, ntaggr, nzac, ip, ndx,& - & naggr, nzl,naggrm1,naggrp1, i, j, k, jd, icolF, nrt, err_act + integer(psb_lpk_) :: nrow, nglob, ncol, ntaggr, nzac, ip, ndx,& + & naggr, nzl,naggrm1,naggrp1, i, j, k, jd, icolF, nrt integer(psb_ipk_) :: ictxt,np,me, icomm character(len=20) :: name - type(psb_cspmat_type) :: af, ptilde, rtilde, atran, atp, atdatp - type(psb_cspmat_type) :: am3,am4, ap, adap,atmp,rada, ra, atmp2, dap, dadap, da - type(psb_cspmat_type) :: dat, datp, datdatp, atmp3, tmp_prol - type(psb_c_coo_sparse_mat) :: tmpcoo - type(psb_c_csr_sparse_mat) :: acsr1, acsr2, acsr3, acsr, acsrf - type(psb_c_csc_sparse_mat) :: csc_dap, csc_dadap, csc_datp, csc_datdatp, acsc + type(psb_lcspmat_type) :: la, af, ptilde, rtilde, atran, atp, atdatp + type(psb_lcspmat_type) :: am3,am4, ap, adap,atmp,rada, ra, atmp2, dap, dadap, da + type(psb_lcspmat_type) :: dat, datp, datdatp, atmp3, tmp_prol + type(psb_lc_coo_sparse_mat) :: tmpcoo + type(psb_lc_csr_sparse_mat) :: acsr1, acsr2, acsr3, acsr, acsrf + type(psb_lc_csc_sparse_mat) :: csc_dap, csc_dadap, csc_datp, csc_datdatp, acsc complex(psb_spk_), allocatable :: adiag(:), adinv(:) complex(psb_spk_), allocatable :: omf(:), omp(:), omi(:), oden(:) logical :: filter_mat integer(psb_ipk_) :: ierr(5) - integer(psb_ipk_) :: debug_level, debug_unit + integer(psb_ipk_) :: debug_level, debug_unit, err_act integer(psb_ipk_), parameter :: ncmax=16 real(psb_spk_) :: anorm, theta complex(psb_spk_) :: tmp, alpha, beta, ommx name='mld_aggrmat_minnrg' - if(psb_get_errstatus().ne.0) return info=psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() @@ -163,13 +164,6 @@ subroutine mld_caggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re naggr = nlaggr(me+1) ntaggr = sum(nlaggr) - allocate(nzbr(np), idisp(np),stat=info) - if (info /= psb_success_) then - info=psb_err_alloc_request_; ierr(1)=2*np; - call psb_errpush(info,name,i_err=ierr,a_err='integer') - goto 9999 - end if - naggrm1 = sum(nlaggr(1:me)) naggrp1 = sum(nlaggr(1:me+1)) @@ -193,6 +187,11 @@ subroutine mld_caggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re & call psb_realloc(ncol,adiag,info) if (info == psb_success_) & & call psb_halo(adiag,desc_a,info) + if (info == psb_success_) call a%cp_to_l(la) + if (info /= psb_success_) then + call psb_errpush(psb_err_from_subroutine_,name,a_err='sp_getdiag') + goto 9999 + end if do i=1,size(adiag) if (adiag(i) /= czero) then @@ -202,10 +201,6 @@ subroutine mld_caggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re end if end do - if (info /= psb_success_) then - call psb_errpush(psb_err_from_subroutine_,name,a_err='sp_getdiag') - goto 9999 - end if ! 1. Allocate Ptilde in sparse matrix form @@ -213,8 +208,8 @@ subroutine mld_caggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re call ptilde%mv_from(tmpcoo) call ptilde%cscnv(info,type='csr') - if (info == psb_success_) call a%cscnv(am3,info,type='csr',dupl=psb_dupl_add_) - if (info == psb_success_) call a%cscnv(da,info,type='csr',dupl=psb_dupl_add_) + if (info == psb_success_) call la%cscnv(am3,info,type='csr',dupl=psb_dupl_add_) + if (info == psb_success_) call la%cscnv(da,info,type='csr',dupl=psb_dupl_add_) if (info /= psb_success_) then call psb_errpush(psb_err_from_subroutine_,name,a_err='spcnv') goto 9999 @@ -225,11 +220,10 @@ subroutine mld_caggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re call da%scal(adinv,info) - call psb_symbmm(da,ptilde,dap,info) - if (info == psb_success_) call psb_numbmm(da,ptilde,dap) + call psb_spspmm(da,ptilde,dap,info) if(info /= psb_success_) then - call psb_errpush(psb_err_from_subroutine_,name,a_err='symbmm 1') + call psb_errpush(psb_err_from_subroutine_,name,a_err='spspmm 1') goto 9999 end if @@ -240,8 +234,7 @@ subroutine mld_caggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re if (info == psb_success_) call psb_rwextd(ncol,atmp,info,b=am4) if (info == psb_success_) call am4%free() - call psb_symbmm(da,atmp,dadap,info) - call psb_numbmm(da,atmp,dadap) + call psb_spspmm(da,atmp,dadap,info) call atmp%free() ! !$ write(0,*) 'Columns of AP',psb_sp_get_ncols(ap) @@ -249,7 +242,6 @@ subroutine mld_caggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re call dap%mv_to(csc_dap) call dadap%mv_to(csc_dadap) - call csc_mat_col_prod(csc_dap,csc_dadap,omp,info) call csc_mat_col_prod(csc_dadap,csc_dadap,oden,info) call psb_sum(ictxt,omp) @@ -287,7 +279,7 @@ subroutine mld_caggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re ! ! Build the filtered matrix Af from A ! - call a%cscnv(acsrf,info,dupl=psb_dupl_add_) + call la%cscnv(acsrf,info,dupl=psb_dupl_add_) do i=1,nrow tmp = czero @@ -327,23 +319,14 @@ subroutine mld_caggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re call af%mv_from(acsrf) ! - ! Symbmm90 does the allocation for its result. - ! ! op_prol = (I-w*D*Af)Ptilde ! Doing it this way means to consider diag(Af_i) ! ! - call psb_symbmm(af,ptilde,op_prol,info) - if(info /= psb_success_) then - call psb_errpush(psb_err_from_subroutine_,name,a_err='symbmm 1') - goto 9999 - end if - - call psb_numbmm(af,ptilde,op_prol) - + call psb_spspmm(af,ptilde,op_prol,info) if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& - & 'Done NUMBMM 1' + & 'Done SPSPMM 1' else ! ! Build the smoothed prolongator using the original matrix @@ -363,19 +346,11 @@ subroutine mld_caggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re & write(debug_unit,*) me,' ',trim(name),& & 'Done gather, going for SYMBMM 1' ! - ! Symbmm90 does the allocation for its result. ! ! op_prol = (I-w*D*A)Ptilde ! ! - call psb_symbmm(am3,ptilde,op_prol,info) - if(info /= psb_success_) then - call psb_errpush(psb_err_from_subroutine_,name,a_err='symbmm 1') - goto 9999 - end if - - call psb_numbmm(am3,ptilde,op_prol) - + call psb_spspmm(am3,ptilde,op_prol,info) if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& & 'Done NUMBMM 1' @@ -387,11 +362,11 @@ subroutine mld_caggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re ! Ok, let's start over with the restrictor ! call ptilde%transc(rtilde) - call a%cscnv(atmp,info,type='csr') + call la%cscnv(atmp,info,type='csr') call psb_sphalo(atmp,desc_a,am4,info,& & colcnv=.true.,rowscale=.true.) nrt = am4%get_nrows() - call am4%csclip(atmp2,info,ione,nrt,ione,ncol) + call am4%csclip(atmp2,info,lone,nrt,lone,ncol) call atmp2%cscnv(info,type='CSR') if (info == psb_success_) call psb_rwextd(ncol,atmp,info,b=atmp2) call am4%free() @@ -400,13 +375,12 @@ subroutine mld_caggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re ! This is to compute the transpose. It ONLY works if the ! original A has a symmetric pattern. call atmp%transc(atmp2) - call atmp2%csclip(dat,info,ione,nrow,ione,ncol) + call atmp2%csclip(dat,info,lone,nrow,lone,ncol) call dat%cscnv(info,type='csr') call dat%scal(adinv,info) ! Now for the product. - call psb_symbmm(dat,ptilde,datp,info) - if (info == psb_success_) call psb_numbmm(dat,ptilde,datp) + call psb_spspmm(dat,ptilde,datp,info) call datp%clone(atmp2,info) call psb_sphalo(atmp2,desc_a,am4,info,& @@ -484,8 +458,7 @@ subroutine mld_caggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re call rtilde%mv_from(tmpcoo) call rtilde%cscnv(info,type='csr') - call psb_symbmm(rtilde,atmp,op_restr,info) - call psb_numbmm(rtilde,atmp,op_restr) + call psb_spspmm(rtilde,atmp,op_restr,info) ! ! Now we have to gather the halo of op_prol, and add it to itself @@ -527,16 +500,10 @@ subroutine mld_caggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re & write(debug_unit,*) me,' ',trim(name),& & 'starting sphalo/ rwxtd' - call psb_symbmm(a,tmp_prol,am3,info) - if(info /= psb_success_) then - call psb_errpush(psb_err_from_subroutine_,name,& - & a_err='symbmm 2') - goto 9999 - end if - call psb_numbmm(a,tmp_prol,am3) + call psb_spspmm(la,tmp_prol,am3,info) if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& - & 'Done NUMBMM 2' + & 'Done SPSPMM 2' call psb_sphalo(am3,desc_a,am4,info,& & colcnv=.false.,rowscale=.true.) @@ -552,8 +519,7 @@ subroutine mld_caggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re & write(debug_unit,*) me,' ',trim(name),& & 'Done sphalo/ rwxtd' - call psb_symbmm(op_restr,am3,ac,info) - if (info == psb_success_) call psb_numbmm(op_restr,am3,ac) + call psb_spspmm(op_restr,am3,ac,info) if (info == psb_success_) call am3%free() if (info == psb_success_) call ac%cscnv(info,type='coo',dupl=psb_dupl_add_) @@ -581,11 +547,11 @@ contains subroutine csc_mat_col_prod(a,b,v,info) implicit none - type(psb_c_csc_sparse_mat), intent(in) :: a, b + type(psb_lc_csc_sparse_mat), intent(in) :: a, b complex(psb_spk_), intent(out) :: v(:) integer(psb_ipk_), intent(out) :: info - integer(psb_ipk_) :: i,j,k, nr, nc,iap,nra,ibp,nrb + integer(psb_lpk_) :: i,j,k, nr, nc,iap,nra,ibp,nrb info = psb_success_ nc = a%get_ncols() @@ -609,11 +575,11 @@ contains subroutine csr_mat_row_prod(a,b,v,info) implicit none - type(psb_c_csr_sparse_mat), intent(in) :: a, b + type(psb_lc_csr_sparse_mat), intent(in) :: a, b complex(psb_spk_), intent(out) :: v(:) integer(psb_ipk_), intent(out) :: info - integer(psb_ipk_) :: i,j,k, nr, nc,iap,nca,ibp,ncb + integer(psb_lpk_) :: i,j,k, nr, nc,iap,nca,ibp,ncb info = psb_success_ nr = a%get_nrows() @@ -637,12 +603,12 @@ contains function sparse_srtd_dot(nv1,iv1,v1,nv2,iv2,v2) result(dot) implicit none - integer(psb_ipk_), intent(in) :: nv1,nv2 - integer(psb_ipk_), intent(in) :: iv1(:), iv2(:) + integer(psb_lpk_), intent(in) :: nv1,nv2 + integer(psb_lpk_), intent(in) :: iv1(:), iv2(:) complex(psb_spk_), intent(in) :: v1(:),v2(:) complex(psb_spk_) :: dot - integer(psb_ipk_) :: i,j,k, ip1, ip2 + integer(psb_lpk_) :: i,j,k, ip1, ip2 dot = czero ip1 = 1 @@ -665,7 +631,7 @@ contains end function sparse_srtd_dot subroutine local_dump(me,mat,name,header) - type(psb_cspmat_type), intent(in) :: mat + type(psb_lcspmat_type), intent(in) :: mat integer(psb_ipk_), intent(in) :: me character(len=*), intent(in) :: name character(len=*), intent(in) :: header diff --git a/mlprec/impl/aggregator/mld_caggrmat_nosmth_asb.f90 b/mlprec/impl/aggregator/mld_caggrmat_nosmth_asb.f90 index 6b5953ec..4224e209 100644 --- a/mlprec/impl/aggregator/mld_caggrmat_nosmth_asb.f90 +++ b/mlprec/impl/aggregator/mld_caggrmat_nosmth_asb.f90 @@ -106,28 +106,30 @@ subroutine mld_caggrmat_nosmth_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re ! Arguments type(psb_cspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:), nlaggr(:) + integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) type(mld_sml_parms), intent(inout) :: parms - type(psb_cspmat_type), intent(inout) :: op_prol - type(psb_cspmat_type), intent(out) :: ac,op_restr + type(psb_lcspmat_type), intent(inout) :: op_prol + type(psb_lcspmat_type), intent(out) :: ac,op_restr integer(psb_ipk_), intent(out) :: info ! Local variables integer(psb_ipk_) :: err_act - integer(psb_ipk_) :: ictxt,np,me, icomm, ndx, minfo + integer(psb_ipk_) :: ictxt, np, me, icomm, minfo character(len=20) :: name - integer(psb_ipk_) :: ierr(5) - type(psb_c_coo_sparse_mat) :: ac_coo, tmpcoo - type(psb_c_csr_sparse_mat) :: acsr1, acsr2 + integer(psb_ipk_) :: ierr(5) + type(psb_lcspmat_type) :: la + type(psb_lc_coo_sparse_mat) :: ac_coo, tmpcoo + type(psb_lc_csr_sparse_mat) :: acsr1, acsr2 integer(psb_ipk_) :: debug_level, debug_unit - integer(psb_ipk_) :: nrow, nglob, ncol, ntaggr, nzl, ip, & + integer(psb_lpk_) :: nrow, nglob, ncol, ntaggr, nzl, ip, & & naggr, nzt, naggrm1, naggrp1, i, k - name='mld_aggrmat_nosmth_asb' - if(psb_get_errstatus().ne.0) return - info=psb_success_ + name = 'mld_aggrmat_nosmth_asb' + info = psb_success_ call psb_erractionsave(err_act) - + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if ictxt = desc_a%get_context() icomm = desc_a%get_mpic() @@ -136,24 +138,23 @@ subroutine mld_caggrmat_nosmth_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re nrow = desc_a%get_local_rows() ncol = desc_a%get_local_cols() - naggr = nlaggr(me+1) ntaggr = sum(nlaggr) naggrm1 = sum(nlaggr(1:me)) naggrp1 = sum(nlaggr(1:me+1)) - + call op_prol%cp_to(tmpcoo) call op_prol%cscnv(info,type='csr',dupl=psb_dupl_add_) call tmpcoo%transp() - nzl = tmpcoo%get_nzeros() - i=0 ! ! Now we have to fix this. The only rows of tmpcoo/op_restr that are correct ! are those corresponding to "local" aggregates, i.e. indices in ilaggr(:) ! - do k=1, nzl + nzl = tmpcoo%get_nzeros() + i = 0 + do k = 1, nzl if ((naggrm1 < tmpcoo%ia(k)) .and.(tmpcoo%ia(k) <= naggrp1)) then i = i+1 tmpcoo%val(i) = tmpcoo%val(k) @@ -168,11 +169,11 @@ subroutine mld_caggrmat_nosmth_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re if (info /= psb_success_) goto 9999 - call a%cp_to(ac_coo) - + call a%cp_to_l(la) + call la%mv_to(ac_coo) nzt = ac_coo%get_nzeros() - k = 0 - do i=1, nzt + k = 0 + do i = 1, nzt k = k + 1 ac_coo%ia(k) = ilaggr(ac_coo%ia(i)) ac_coo%ja(k) = ilaggr(ac_coo%ja(i)) diff --git a/mlprec/impl/aggregator/mld_caggrmat_smth_asb.f90 b/mlprec/impl/aggregator/mld_caggrmat_smth_asb.f90 index c4ee3bcc..38cd9c66 100644 --- a/mlprec/impl/aggregator/mld_caggrmat_smth_asb.f90 +++ b/mlprec/impl/aggregator/mld_caggrmat_smth_asb.f90 @@ -65,14 +65,7 @@ ! specified by the user through mld_cprecinit and mld_zprecset. ! On output from this routine the entries of AC, op_prol, op_restr ! are still in "global numbering" mode; this is fixed in the calling routine -! mld_c_lev_aggrmat_asb. -! -! For more details see -! M. Brezina and P. Vanek, A black-box iterative solver based on a -! two-level Schwarz method, Computing, 63 (1999), 233-263. -! P. D'Ambra, D. di Serafino and S. Filippone, On the development of -! PSBLAS-based parallel two-level Schwarz preconditioners, Appl. Num. Math. -! 57 (2007), 1181-1196. +! aggregator%mat_asb. ! ! ! Arguments: @@ -117,37 +110,38 @@ subroutine mld_caggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_rest implicit none ! Arguments - type(psb_cspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:), nlaggr(:) - type(mld_sml_parms), intent(inout) :: parms - type(psb_cspmat_type), intent(inout) :: op_prol - type(psb_cspmat_type), intent(out) :: ac,op_restr - integer(psb_ipk_), intent(out) :: info + type(psb_cspmat_type), intent(in) :: a + type(psb_desc_type), intent(in) :: desc_a + integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) + type(mld_sml_parms), intent(inout) :: parms + type(psb_lcspmat_type), intent(inout) :: op_prol + type(psb_lcspmat_type), intent(out) :: ac,op_restr + integer(psb_ipk_), intent(out) :: info ! Local variables - integer(psb_ipk_) :: nrow, nglob, ncol, ntaggr, ip, ndx,& - & naggr, nzl,naggrm1,naggrp1, i, j, k, jd, icolF, nrw, err_act - integer(psb_ipk_) ::ictxt, np, me + integer(psb_lpk_) :: nrow, nglob, ncol, ntaggr, ip, & + & naggr, nzl,naggrm1,naggrp1, i, j, k, jd, icolF, nrw + integer(psb_ipk_) :: ictxt, np, me character(len=20) :: name - type(psb_cspmat_type) :: am3, am4, tmp_prol - type(psb_c_coo_sparse_mat) :: tmpcoo - type(psb_c_csr_sparse_mat) :: acsr1, acsr2, acsr3, acsrf, ptilde + type(psb_lcspmat_type) :: la, am3, am4, tmp_prol + type(psb_lc_coo_sparse_mat) :: tmpcoo + type(psb_lc_csr_sparse_mat) :: acsr1, acsr2, acsr3, acsrf, ptilde complex(psb_spk_), allocatable :: adiag(:) integer(psb_ipk_) :: ierr(5) logical :: filter_mat - integer(psb_ipk_) :: debug_level, debug_unit + integer(psb_ipk_) :: debug_level, debug_unit, err_act integer(psb_ipk_), parameter :: ncmax=16 real(psb_spk_) :: anorm, omega, tmp, dg, theta name='mld_aggrmat_smth_asb' - if(psb_get_errstatus().ne.0) return info=psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() - ictxt = desc_a%get_context() ictxt = desc_a%get_context() call psb_info(ictxt, me, np) @@ -176,6 +170,7 @@ subroutine mld_caggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_rest & call psb_realloc(ncol,adiag,info) if (info == psb_success_) & & call psb_halo(adiag,desc_a,info) + if (info == psb_success_) call a%cp_to_l(la) if(info /= psb_success_) then call psb_errpush(psb_err_from_subroutine_,name,a_err='sp_getdiag') @@ -185,7 +180,7 @@ subroutine mld_caggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_rest ! 1. Allocate Ptilde in sparse matrix form call op_prol%mv_to(tmpcoo) call ptilde%mv_from_coo(tmpcoo,info) - if (info == psb_success_) call a%cscnv(acsr3,info,dupl=psb_dupl_add_) + if (info == psb_success_) call la%cscnv(acsr3,info,dupl=psb_dupl_add_) if (info /= psb_success_) goto 9999 if (debug_level >= psb_debug_outer_) & @@ -198,7 +193,7 @@ subroutine mld_caggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_rest ! if (info == psb_success_) call acsr3%cp_to_fmt(acsrf,info) - do i=1,nrow + do i=1, nrow tmp = czero jd = -1 do j=acsrf%irp(i),acsrf%irp(i+1)-1 @@ -342,7 +337,7 @@ subroutine mld_caggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_rest goto 9999 end if - call psb_spspmm(a,tmp_prol,am3,info) + call psb_spspmm(la,tmp_prol,am3,info) if(info /= psb_success_) then call psb_errpush(psb_err_from_subroutine_,name,a_err='spspmm 2') goto 9999 diff --git a/mlprec/impl/aggregator/mld_d_dec_aggregator_mat_asb.f90 b/mlprec/impl/aggregator/mld_d_dec_aggregator_mat_asb.f90 index 8389339f..4004c189 100644 --- a/mlprec/impl/aggregator/mld_d_dec_aggregator_mat_asb.f90 +++ b/mlprec/impl/aggregator/mld_d_dec_aggregator_mat_asb.f90 @@ -143,23 +143,25 @@ subroutine mld_d_dec_aggregator_mat_asb(ag,parms,a,desc_a,ilaggr,nlaggr,ac,op_p type(mld_dml_parms), intent(inout) :: parms type(psb_dspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:), nlaggr(:) - type(psb_dspmat_type), intent(inout) :: op_prol - type(psb_dspmat_type), intent(out) :: ac,op_restr + integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) + type(psb_ldspmat_type), intent(inout) :: op_prol + type(psb_ldspmat_type), intent(out) :: ac,op_restr integer(psb_ipk_), intent(out) :: info ! Local variables - character(len=20) :: name - integer(psb_mpik_) :: ictxt, np, me - type(psb_d_coo_sparse_mat) :: acoo, bcoo - type(psb_d_csr_sparse_mat) :: acsr1 - integer(psb_ipk_) :: nzl,ntaggr - integer(psb_ipk_) :: err_act + character(len=20) :: name + integer(psb_mpk_) :: ictxt, np, me + type(psb_ld_coo_sparse_mat) :: acoo, bcoo + type(psb_ld_csr_sparse_mat) :: acsr1 + integer(psb_lpk_) :: nzl,ntaggr + integer(psb_ipk_) :: err_act integer(psb_ipk_) :: debug_level, debug_unit name='mld_d_dec_aggregator_mat_asb' - if (psb_get_errstatus().ne.0) return call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() info = psb_success_ diff --git a/mlprec/impl/aggregator/mld_d_dec_aggregator_tprol.f90 b/mlprec/impl/aggregator/mld_d_dec_aggregator_tprol.f90 index 90adfb92..d38e021d 100644 --- a/mlprec/impl/aggregator/mld_d_dec_aggregator_tprol.f90 +++ b/mlprec/impl/aggregator/mld_d_dec_aggregator_tprol.f90 @@ -81,20 +81,22 @@ subroutine mld_d_dec_aggregator_build_tprol(ag,parms,a,desc_a,ilaggr,nlaggr,op_ type(mld_dml_parms), intent(inout) :: parms type(psb_dspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) - type(psb_dspmat_type), intent(out) :: op_prol + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + type(psb_ldspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info ! Local variables - character(len=20) :: name - integer(psb_mpik_) :: ictxt, np, me - integer(psb_ipk_) :: err_act - integer(psb_ipk_) :: ntaggr - integer(psb_ipk_) :: debug_level, debug_unit + character(len=20) :: name + integer(psb_mpk_) :: ictxt, np, me + integer(psb_ipk_) :: err_act + integer(psb_lpk_) :: ntaggr + integer(psb_ipk_) :: debug_level, debug_unit name='mld_d_dec_aggregator_tprol' - if (psb_get_errstatus().ne.0) return call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() info = psb_success_ diff --git a/mlprec/impl/aggregator/mld_d_map_to_tprol.f90 b/mlprec/impl/aggregator/mld_d_map_to_tprol.f90 index f930fc80..dd8b1447 100644 --- a/mlprec/impl/aggregator/mld_d_map_to_tprol.f90 +++ b/mlprec/impl/aggregator/mld_d_map_to_tprol.f90 @@ -87,22 +87,24 @@ subroutine mld_d_map_to_tprol(desc_a,ilaggr,nlaggr,op_prol,info) ! Arguments type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), allocatable, intent(inout) :: ilaggr(:),nlaggr(:) - type(psb_dspmat_type), intent(out) :: op_prol + integer(psb_lpk_), allocatable, intent(inout) :: ilaggr(:),nlaggr(:) + type(psb_ldspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info ! Local variables - integer(psb_ipk_) :: icnt,nlp,k,n,ia,isz,nr, naggr,i,j,m,naggrm1, naggrp1, ntaggr - type(psb_d_coo_sparse_mat) :: tmpcoo + integer(psb_lpk_) :: icnt,nlp,k,n,ia,isz,nr, naggr,i,j,m,naggrm1, naggrp1, ntaggr + type(psb_ld_coo_sparse_mat) :: tmpcoo integer(psb_ipk_) :: debug_level, debug_unit,err_act integer(psb_ipk_) :: ictxt,np,me - integer(psb_ipk_) :: nrow, ncol, n_ne + integer(psb_lpk_) :: nrow, ncol, n_ne character(len=20) :: name, ch_err - if(psb_get_errstatus() /= 0) return info=psb_success_ name = 'mld_map_to_tprol' call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() ! diff --git a/mlprec/impl/aggregator/mld_d_soc1_map_bld.f90 b/mlprec/impl/aggregator/mld_d_soc1_map_bld.f90 index e3a956df..ab0d570d 100644 --- a/mlprec/impl/aggregator/mld_d_soc1_map_bld.f90 +++ b/mlprec/impl/aggregator/mld_d_soc1_map_bld.f90 @@ -80,12 +80,13 @@ subroutine mld_d_soc1_map_bld(iorder,theta,a,desc_a,nlaggr,ilaggr,info) type(psb_dspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a real(psb_dpk_), intent(in) :: theta - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) integer(psb_ipk_), intent(out) :: info ! Local variables - integer(psb_ipk_), allocatable :: ils(:), neigh(:), irow(:), icol(:),& - & ideg(:), idxs(:), tmpaggr(:) + integer(psb_ipk_), allocatable :: ils(:), neigh(:), irow(:), icol(:),& + & ideg(:), idxs(:) + integer(psb_lpk_), allocatable :: tmpaggr(:) real(psb_dpk_), allocatable :: val(:), diag(:) integer(psb_ipk_) :: icnt,nlp,k,n,ia,isz,nr, nc, naggr,i,j,m, nz, ilg, ii, ip type(psb_d_csr_sparse_mat) :: acsr @@ -96,10 +97,12 @@ subroutine mld_d_soc1_map_bld(iorder,theta,a,desc_a,nlaggr,ilaggr,info) integer(psb_ipk_) :: nrow, ncol, n_ne character(len=20) :: name, ch_err - if (psb_get_errstatus() /= 0) return info=psb_success_ name = 'mld_soc1_map_bld' call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() ! diff --git a/mlprec/impl/aggregator/mld_d_soc2_map_bld.f90 b/mlprec/impl/aggregator/mld_d_soc2_map_bld.f90 index 777e8e32..ae9c5346 100644 --- a/mlprec/impl/aggregator/mld_d_soc2_map_bld.f90 +++ b/mlprec/impl/aggregator/mld_d_soc2_map_bld.f90 @@ -79,12 +79,13 @@ subroutine mld_d_soc2_map_bld(iorder,theta,a,desc_a,nlaggr,ilaggr,info) type(psb_dspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a real(psb_dpk_), intent(in) :: theta - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) integer(psb_ipk_), intent(out) :: info ! Local variables integer(psb_ipk_), allocatable :: ils(:), neigh(:), irow(:), icol(:),& - & ideg(:), idxs(:), tmpaggr(:) + & ideg(:), idxs(:) + integer(psb_lpk_), allocatable :: tmpaggr(:) real(psb_dpk_), allocatable :: val(:), diag(:) integer(psb_ipk_) :: icnt,nlp,k,n,ia,isz,nr,nc,naggr,i,j,m, nz, ilg, ii, ip, ip1,nzcnt type(psb_d_csr_sparse_mat) :: acsr, muij, s_neigh @@ -96,10 +97,12 @@ subroutine mld_d_soc2_map_bld(iorder,theta,a,desc_a,nlaggr,ilaggr,info) integer(psb_ipk_) :: nrow, ncol, n_ne character(len=20) :: name, ch_err - if (psb_get_errstatus() /= 0) return info=psb_success_ name = 'mld_soc2_map_bld' call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() ! diff --git a/mlprec/impl/aggregator/mld_d_symdec_aggregator_tprol.f90 b/mlprec/impl/aggregator/mld_d_symdec_aggregator_tprol.f90 index 04a4174b..12466c00 100644 --- a/mlprec/impl/aggregator/mld_d_symdec_aggregator_tprol.f90 +++ b/mlprec/impl/aggregator/mld_d_symdec_aggregator_tprol.f90 @@ -85,21 +85,24 @@ subroutine mld_d_symdec_aggregator_build_tprol(ag,parms,a,desc_a,ilaggr,nlaggr, type(mld_dml_parms), intent(inout) :: parms type(psb_dspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) - type(psb_dspmat_type), intent(out) :: op_prol + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + type(psb_ldspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info ! Local variables type(psb_dspmat_type) :: atmp, atrans - character(len=20) :: name - integer(psb_mpik_) :: ictxt, np, me - integer(psb_ipk_) :: err_act - integer(psb_ipk_) :: ntaggr, nr - integer(psb_ipk_) :: debug_level, debug_unit + character(len=20) :: name + integer(psb_mpk_) :: ictxt, np, me + integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: nr + integer(psb_lpk_) :: ntaggr + integer(psb_ipk_) :: debug_level, debug_unit name='mld_d_symdec_aggregator_tprol' - if (psb_get_errstatus().ne.0) return call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() info = psb_success_ diff --git a/mlprec/impl/aggregator/mld_daggrmat_biz_asb.f90 b/mlprec/impl/aggregator/mld_daggrmat_biz_asb.f90 index e15ec223..d1bb1233 100644 --- a/mlprec/impl/aggregator/mld_daggrmat_biz_asb.f90 +++ b/mlprec/impl/aggregator/mld_daggrmat_biz_asb.f90 @@ -88,33 +88,35 @@ subroutine mld_daggrmat_biz_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr implicit none ! Arguments - type(psb_dspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:), nlaggr(:) - type(mld_dml_parms), intent(inout) :: parms - type(psb_dspmat_type), intent(inout) :: op_prol - type(psb_dspmat_type), intent(out) :: ac,op_restr - integer(psb_ipk_), intent(out) :: info + type(psb_dspmat_type), intent(in) :: a + type(psb_desc_type), intent(in) :: desc_a + integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) + type(mld_dml_parms), intent(inout) :: parms + type(psb_ldspmat_type), intent(inout) :: op_prol + type(psb_ldspmat_type), intent(out) :: ac,op_restr + integer(psb_ipk_), intent(out) :: info ! Local variables - integer(psb_ipk_) :: nrow, nglob, ncol, ntaggr, ip, ndx,& - & naggr, nzl,naggrm1,naggrp1, i, j, k, jd, icolF, nrw, err_act + integer(psb_lpk_) :: nrow, nglob, ncol, ntaggr, ip, & + & naggr, nzl,naggrm1,naggrp1, i, j, k, jd, icolF, nrw integer(psb_ipk_) ::ictxt, np, me character(len=20) :: name - type(psb_dspmat_type) :: am3, am4,tmp_prol - type(psb_d_coo_sparse_mat) :: tmpcoo - type(psb_d_csr_sparse_mat) :: acsr1, acsr2, acsr3, acsrf, ptilde + type(psb_ldspmat_type) :: am3, am4,tmp_prol, la + type(psb_ld_coo_sparse_mat) :: tmpcoo + type(psb_ld_csr_sparse_mat) :: acsr1, acsr2, acsr3, acsrf, ptilde real(psb_dpk_), allocatable :: adiag(:) integer(psb_ipk_) :: ierr(5) logical :: filter_mat - integer(psb_ipk_) :: debug_level, debug_unit + integer(psb_ipk_) :: debug_level, debug_unit, err_act integer(psb_ipk_), parameter :: ncmax=16 real(psb_dpk_) :: anorm, omega, tmp, dg, theta name='mld_aggrmat_biz_asb' - if(psb_get_errstatus().ne.0) return info=psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() @@ -128,10 +130,8 @@ subroutine mld_daggrmat_biz_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr ncol = desc_a%get_local_cols() theta = parms%aggr_thresh - naggr = nlaggr(me+1) ntaggr = sum(nlaggr) - filter_mat = (parms%aggr_filter == mld_filter_mat_) ! naggr: number of local aggregates @@ -143,8 +143,8 @@ subroutine mld_daggrmat_biz_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr & call psb_realloc(ncol,adiag,info) if (info == psb_success_) & & call psb_halo(adiag,desc_a,info) - - if(info /= psb_success_) then + if (info == psb_success_) call a%cp_to_l(la) + if (info /= psb_success_) then call psb_errpush(psb_err_from_subroutine_,name,a_err='sp_getdiag') goto 9999 end if @@ -152,7 +152,7 @@ subroutine mld_daggrmat_biz_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr ! 1. Allocate Ptilde in sparse matrix form call op_prol%mv_to(tmpcoo) call ptilde%mv_from_coo(tmpcoo,info) - if (info == psb_success_) call a%cscnv(acsr3,info,dupl=psb_dupl_add_) + if (info == psb_success_) call la%cscnv(acsr3,info,dupl=psb_dupl_add_) if (info /= psb_success_) goto 9999 if (debug_level >= psb_debug_outer_) & @@ -163,9 +163,9 @@ subroutine mld_daggrmat_biz_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr ! ! Build the filtered matrix Af from A ! - if (info == psb_success_) call a%cscnv(acsrf,info,dupl=psb_dupl_add_) + if (info == psb_success_) call acsr3%cp_to_fmt(acsrf,info) - do i=1,nrow + do i=1, nrow tmp = dzero jd = -1 do j=acsrf%irp(i),acsrf%irp(i+1)-1 @@ -271,17 +271,15 @@ subroutine mld_daggrmat_biz_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr ! Doing it this way means to consider diag(Af_i) ! ! - call psb_symbmm(acsrf,ptilde,acsr1,info) + call psb_spspmm(acsrf,ptilde,acsr1,info) if(info /= psb_success_) then - call psb_errpush(psb_err_from_subroutine_,name,a_err='symbmm 1') + call psb_errpush(psb_err_from_subroutine_,name,a_err='spspmm 1') goto 9999 end if - call psb_numbmm(acsrf,ptilde,acsr1) - if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& - & 'Done NUMBMM 1' + & 'Done SPSPMM 1' else ! @@ -307,17 +305,15 @@ subroutine mld_daggrmat_biz_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr ! Doing it this way means to consider diag(A_i) ! ! - call psb_symbmm(acsr3,ptilde,acsr1,info) + call psb_spspmm(acsr3,ptilde,acsr1,info) if(info /= psb_success_) then - call psb_errpush(psb_err_from_subroutine_,name,a_err='symbmm 1') + call psb_errpush(psb_err_from_subroutine_,name,a_err='spspmm 1') goto 9999 end if - call psb_numbmm(acsr3,ptilde,acsr1) - if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& - & 'Done NUMBMM 1' + & 'Done SPSPMM 1' end if call ptilde%free() @@ -331,16 +327,15 @@ subroutine mld_daggrmat_biz_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr goto 9999 end if - call psb_symbmm(a,tmp_prol,am3,info) + call psb_spspmm(la,tmp_prol,am3,info) if(info /= psb_success_) then - call psb_errpush(psb_err_from_subroutine_,name,a_err='symbmm 2') + call psb_errpush(psb_err_from_subroutine_,name,a_err='spspmm 2') goto 9999 end if - call psb_numbmm(a,tmp_prol,am3) if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& - & 'Done NUMBMM 2',parms%aggr_prol, mld_smooth_prol_ + & 'Done SPSPMM 2',parms%aggr_prol, mld_smooth_prol_ call tmp_prol%transp(op_restr) if (debug_level >= psb_debug_outer_) & @@ -353,23 +348,18 @@ subroutine mld_daggrmat_biz_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr goto 9999 end if - if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& - & 'starting symbmm 3' - call psb_symbmm(op_restr,am3,ac,info) - if (info == psb_success_) call psb_numbmm(op_restr,am3,ac) + & 'starting spspmm 3' + call psb_spspmm(op_restr,am3,ac,info) if (info == psb_success_) call am3%free() - if (info == psb_success_) call ac%cscnv(info,type='coo',dupl=psb_dupl_add_) + if (info == psb_success_) call ac%cscnv(info,type='csr',dupl=psb_dupl_add_) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,a_err='Build b = op_restr x am3') goto 9999 end if - - - if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& & 'Done smooth_aggregate ' diff --git a/mlprec/impl/aggregator/mld_daggrmat_minnrg_asb.f90 b/mlprec/impl/aggregator/mld_daggrmat_minnrg_asb.f90 index e200c0bc..1b33ae3b 100644 --- a/mlprec/impl/aggregator/mld_daggrmat_minnrg_asb.f90 +++ b/mlprec/impl/aggregator/mld_daggrmat_minnrg_asb.f90 @@ -114,37 +114,38 @@ subroutine mld_daggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re ! Arguments type(psb_dspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:), nlaggr(:) - type(mld_dml_parms), intent(inout) :: parms - type(psb_dspmat_type), intent(inout) :: op_prol - type(psb_dspmat_type), intent(out) :: ac,op_restr + integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) + type(mld_dml_parms), intent(inout) :: parms + type(psb_ldspmat_type), intent(inout) :: op_prol + type(psb_ldspmat_type), intent(out) :: ac,op_restr integer(psb_ipk_), intent(out) :: info ! Local variables - integer(psb_ipk_), allocatable :: nzbr(:), idisp(:) - integer(psb_ipk_) :: nrow, nglob, ncol, ntaggr, nzac, ip, ndx,& - & naggr, nzl,naggrm1,naggrp1, i, j, k, jd, icolF, nrt, err_act + integer(psb_lpk_) :: nrow, nglob, ncol, ntaggr, nzac, ip, ndx,& + & naggr, nzl,naggrm1,naggrp1, i, j, k, jd, icolF, nrt integer(psb_ipk_) :: ictxt,np,me, icomm character(len=20) :: name - type(psb_dspmat_type) :: af, ptilde, rtilde, atran, atp, atdatp - type(psb_dspmat_type) :: am3,am4, ap, adap,atmp,rada, ra, atmp2, dap, dadap, da - type(psb_dspmat_type) :: dat, datp, datdatp, atmp3, tmp_prol - type(psb_d_coo_sparse_mat) :: tmpcoo - type(psb_d_csr_sparse_mat) :: acsr1, acsr2, acsr3, acsr, acsrf - type(psb_d_csc_sparse_mat) :: csc_dap, csc_dadap, csc_datp, csc_datdatp, acsc + type(psb_ldspmat_type) :: la, af, ptilde, rtilde, atran, atp, atdatp + type(psb_ldspmat_type) :: am3,am4, ap, adap,atmp,rada, ra, atmp2, dap, dadap, da + type(psb_ldspmat_type) :: dat, datp, datdatp, atmp3, tmp_prol + type(psb_ld_coo_sparse_mat) :: tmpcoo + type(psb_ld_csr_sparse_mat) :: acsr1, acsr2, acsr3, acsr, acsrf + type(psb_ld_csc_sparse_mat) :: csc_dap, csc_dadap, csc_datp, csc_datdatp, acsc real(psb_dpk_), allocatable :: adiag(:), adinv(:) real(psb_dpk_), allocatable :: omf(:), omp(:), omi(:), oden(:) logical :: filter_mat integer(psb_ipk_) :: ierr(5) - integer(psb_ipk_) :: debug_level, debug_unit + integer(psb_ipk_) :: debug_level, debug_unit, err_act integer(psb_ipk_), parameter :: ncmax=16 real(psb_dpk_) :: anorm, theta real(psb_dpk_) :: tmp, alpha, beta, ommx name='mld_aggrmat_minnrg' - if(psb_get_errstatus().ne.0) return info=psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() @@ -163,13 +164,6 @@ subroutine mld_daggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re naggr = nlaggr(me+1) ntaggr = sum(nlaggr) - allocate(nzbr(np), idisp(np),stat=info) - if (info /= psb_success_) then - info=psb_err_alloc_request_; ierr(1)=2*np; - call psb_errpush(info,name,i_err=ierr,a_err='integer') - goto 9999 - end if - naggrm1 = sum(nlaggr(1:me)) naggrp1 = sum(nlaggr(1:me+1)) @@ -193,6 +187,11 @@ subroutine mld_daggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re & call psb_realloc(ncol,adiag,info) if (info == psb_success_) & & call psb_halo(adiag,desc_a,info) + if (info == psb_success_) call a%cp_to_l(la) + if (info /= psb_success_) then + call psb_errpush(psb_err_from_subroutine_,name,a_err='sp_getdiag') + goto 9999 + end if do i=1,size(adiag) if (adiag(i) /= dzero) then @@ -202,10 +201,6 @@ subroutine mld_daggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re end if end do - if (info /= psb_success_) then - call psb_errpush(psb_err_from_subroutine_,name,a_err='sp_getdiag') - goto 9999 - end if ! 1. Allocate Ptilde in sparse matrix form @@ -213,8 +208,8 @@ subroutine mld_daggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re call ptilde%mv_from(tmpcoo) call ptilde%cscnv(info,type='csr') - if (info == psb_success_) call a%cscnv(am3,info,type='csr',dupl=psb_dupl_add_) - if (info == psb_success_) call a%cscnv(da,info,type='csr',dupl=psb_dupl_add_) + if (info == psb_success_) call la%cscnv(am3,info,type='csr',dupl=psb_dupl_add_) + if (info == psb_success_) call la%cscnv(da,info,type='csr',dupl=psb_dupl_add_) if (info /= psb_success_) then call psb_errpush(psb_err_from_subroutine_,name,a_err='spcnv') goto 9999 @@ -225,11 +220,10 @@ subroutine mld_daggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re call da%scal(adinv,info) - call psb_symbmm(da,ptilde,dap,info) - if (info == psb_success_) call psb_numbmm(da,ptilde,dap) + call psb_spspmm(da,ptilde,dap,info) if(info /= psb_success_) then - call psb_errpush(psb_err_from_subroutine_,name,a_err='symbmm 1') + call psb_errpush(psb_err_from_subroutine_,name,a_err='spspmm 1') goto 9999 end if @@ -240,8 +234,7 @@ subroutine mld_daggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re if (info == psb_success_) call psb_rwextd(ncol,atmp,info,b=am4) if (info == psb_success_) call am4%free() - call psb_symbmm(da,atmp,dadap,info) - call psb_numbmm(da,atmp,dadap) + call psb_spspmm(da,atmp,dadap,info) call atmp%free() ! !$ write(0,*) 'Columns of AP',psb_sp_get_ncols(ap) @@ -249,7 +242,6 @@ subroutine mld_daggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re call dap%mv_to(csc_dap) call dadap%mv_to(csc_dadap) - call csc_mat_col_prod(csc_dap,csc_dadap,omp,info) call csc_mat_col_prod(csc_dadap,csc_dadap,oden,info) call psb_sum(ictxt,omp) @@ -287,7 +279,7 @@ subroutine mld_daggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re ! ! Build the filtered matrix Af from A ! - call a%cscnv(acsrf,info,dupl=psb_dupl_add_) + call la%cscnv(acsrf,info,dupl=psb_dupl_add_) do i=1,nrow tmp = dzero @@ -327,23 +319,14 @@ subroutine mld_daggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re call af%mv_from(acsrf) ! - ! Symbmm90 does the allocation for its result. - ! ! op_prol = (I-w*D*Af)Ptilde ! Doing it this way means to consider diag(Af_i) ! ! - call psb_symbmm(af,ptilde,op_prol,info) - if(info /= psb_success_) then - call psb_errpush(psb_err_from_subroutine_,name,a_err='symbmm 1') - goto 9999 - end if - - call psb_numbmm(af,ptilde,op_prol) - + call psb_spspmm(af,ptilde,op_prol,info) if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& - & 'Done NUMBMM 1' + & 'Done SPSPMM 1' else ! ! Build the smoothed prolongator using the original matrix @@ -363,19 +346,11 @@ subroutine mld_daggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re & write(debug_unit,*) me,' ',trim(name),& & 'Done gather, going for SYMBMM 1' ! - ! Symbmm90 does the allocation for its result. ! ! op_prol = (I-w*D*A)Ptilde ! ! - call psb_symbmm(am3,ptilde,op_prol,info) - if(info /= psb_success_) then - call psb_errpush(psb_err_from_subroutine_,name,a_err='symbmm 1') - goto 9999 - end if - - call psb_numbmm(am3,ptilde,op_prol) - + call psb_spspmm(am3,ptilde,op_prol,info) if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& & 'Done NUMBMM 1' @@ -387,11 +362,11 @@ subroutine mld_daggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re ! Ok, let's start over with the restrictor ! call ptilde%transc(rtilde) - call a%cscnv(atmp,info,type='csr') + call la%cscnv(atmp,info,type='csr') call psb_sphalo(atmp,desc_a,am4,info,& & colcnv=.true.,rowscale=.true.) nrt = am4%get_nrows() - call am4%csclip(atmp2,info,ione,nrt,ione,ncol) + call am4%csclip(atmp2,info,lone,nrt,lone,ncol) call atmp2%cscnv(info,type='CSR') if (info == psb_success_) call psb_rwextd(ncol,atmp,info,b=atmp2) call am4%free() @@ -400,13 +375,12 @@ subroutine mld_daggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re ! This is to compute the transpose. It ONLY works if the ! original A has a symmetric pattern. call atmp%transc(atmp2) - call atmp2%csclip(dat,info,ione,nrow,ione,ncol) + call atmp2%csclip(dat,info,lone,nrow,lone,ncol) call dat%cscnv(info,type='csr') call dat%scal(adinv,info) ! Now for the product. - call psb_symbmm(dat,ptilde,datp,info) - if (info == psb_success_) call psb_numbmm(dat,ptilde,datp) + call psb_spspmm(dat,ptilde,datp,info) call datp%clone(atmp2,info) call psb_sphalo(atmp2,desc_a,am4,info,& @@ -484,8 +458,7 @@ subroutine mld_daggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re call rtilde%mv_from(tmpcoo) call rtilde%cscnv(info,type='csr') - call psb_symbmm(rtilde,atmp,op_restr,info) - call psb_numbmm(rtilde,atmp,op_restr) + call psb_spspmm(rtilde,atmp,op_restr,info) ! ! Now we have to gather the halo of op_prol, and add it to itself @@ -527,16 +500,10 @@ subroutine mld_daggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re & write(debug_unit,*) me,' ',trim(name),& & 'starting sphalo/ rwxtd' - call psb_symbmm(a,tmp_prol,am3,info) - if(info /= psb_success_) then - call psb_errpush(psb_err_from_subroutine_,name,& - & a_err='symbmm 2') - goto 9999 - end if - call psb_numbmm(a,tmp_prol,am3) + call psb_spspmm(la,tmp_prol,am3,info) if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& - & 'Done NUMBMM 2' + & 'Done SPSPMM 2' call psb_sphalo(am3,desc_a,am4,info,& & colcnv=.false.,rowscale=.true.) @@ -552,8 +519,7 @@ subroutine mld_daggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re & write(debug_unit,*) me,' ',trim(name),& & 'Done sphalo/ rwxtd' - call psb_symbmm(op_restr,am3,ac,info) - if (info == psb_success_) call psb_numbmm(op_restr,am3,ac) + call psb_spspmm(op_restr,am3,ac,info) if (info == psb_success_) call am3%free() if (info == psb_success_) call ac%cscnv(info,type='coo',dupl=psb_dupl_add_) @@ -581,11 +547,11 @@ contains subroutine csc_mat_col_prod(a,b,v,info) implicit none - type(psb_d_csc_sparse_mat), intent(in) :: a, b + type(psb_ld_csc_sparse_mat), intent(in) :: a, b real(psb_dpk_), intent(out) :: v(:) integer(psb_ipk_), intent(out) :: info - integer(psb_ipk_) :: i,j,k, nr, nc,iap,nra,ibp,nrb + integer(psb_lpk_) :: i,j,k, nr, nc,iap,nra,ibp,nrb info = psb_success_ nc = a%get_ncols() @@ -609,11 +575,11 @@ contains subroutine csr_mat_row_prod(a,b,v,info) implicit none - type(psb_d_csr_sparse_mat), intent(in) :: a, b + type(psb_ld_csr_sparse_mat), intent(in) :: a, b real(psb_dpk_), intent(out) :: v(:) integer(psb_ipk_), intent(out) :: info - integer(psb_ipk_) :: i,j,k, nr, nc,iap,nca,ibp,ncb + integer(psb_lpk_) :: i,j,k, nr, nc,iap,nca,ibp,ncb info = psb_success_ nr = a%get_nrows() @@ -637,12 +603,12 @@ contains function sparse_srtd_dot(nv1,iv1,v1,nv2,iv2,v2) result(dot) implicit none - integer(psb_ipk_), intent(in) :: nv1,nv2 - integer(psb_ipk_), intent(in) :: iv1(:), iv2(:) + integer(psb_lpk_), intent(in) :: nv1,nv2 + integer(psb_lpk_), intent(in) :: iv1(:), iv2(:) real(psb_dpk_), intent(in) :: v1(:),v2(:) real(psb_dpk_) :: dot - integer(psb_ipk_) :: i,j,k, ip1, ip2 + integer(psb_lpk_) :: i,j,k, ip1, ip2 dot = dzero ip1 = 1 @@ -665,7 +631,7 @@ contains end function sparse_srtd_dot subroutine local_dump(me,mat,name,header) - type(psb_dspmat_type), intent(in) :: mat + type(psb_ldspmat_type), intent(in) :: mat integer(psb_ipk_), intent(in) :: me character(len=*), intent(in) :: name character(len=*), intent(in) :: header diff --git a/mlprec/impl/aggregator/mld_daggrmat_nosmth_asb.f90 b/mlprec/impl/aggregator/mld_daggrmat_nosmth_asb.f90 index daa320a3..15bbb30a 100644 --- a/mlprec/impl/aggregator/mld_daggrmat_nosmth_asb.f90 +++ b/mlprec/impl/aggregator/mld_daggrmat_nosmth_asb.f90 @@ -106,28 +106,30 @@ subroutine mld_daggrmat_nosmth_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re ! Arguments type(psb_dspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:), nlaggr(:) + integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) type(mld_dml_parms), intent(inout) :: parms - type(psb_dspmat_type), intent(inout) :: op_prol - type(psb_dspmat_type), intent(out) :: ac,op_restr + type(psb_ldspmat_type), intent(inout) :: op_prol + type(psb_ldspmat_type), intent(out) :: ac,op_restr integer(psb_ipk_), intent(out) :: info ! Local variables integer(psb_ipk_) :: err_act - integer(psb_ipk_) :: ictxt,np,me, icomm, ndx, minfo + integer(psb_ipk_) :: ictxt, np, me, icomm, minfo character(len=20) :: name - integer(psb_ipk_) :: ierr(5) - type(psb_d_coo_sparse_mat) :: ac_coo, tmpcoo - type(psb_d_csr_sparse_mat) :: acsr1, acsr2 + integer(psb_ipk_) :: ierr(5) + type(psb_ldspmat_type) :: la + type(psb_ld_coo_sparse_mat) :: ac_coo, tmpcoo + type(psb_ld_csr_sparse_mat) :: acsr1, acsr2 integer(psb_ipk_) :: debug_level, debug_unit - integer(psb_ipk_) :: nrow, nglob, ncol, ntaggr, nzl, ip, & + integer(psb_lpk_) :: nrow, nglob, ncol, ntaggr, nzl, ip, & & naggr, nzt, naggrm1, naggrp1, i, k - name='mld_aggrmat_nosmth_asb' - if(psb_get_errstatus().ne.0) return - info=psb_success_ + name = 'mld_aggrmat_nosmth_asb' + info = psb_success_ call psb_erractionsave(err_act) - + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if ictxt = desc_a%get_context() icomm = desc_a%get_mpic() @@ -136,24 +138,23 @@ subroutine mld_daggrmat_nosmth_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re nrow = desc_a%get_local_rows() ncol = desc_a%get_local_cols() - naggr = nlaggr(me+1) ntaggr = sum(nlaggr) naggrm1 = sum(nlaggr(1:me)) naggrp1 = sum(nlaggr(1:me+1)) - + call op_prol%cp_to(tmpcoo) call op_prol%cscnv(info,type='csr',dupl=psb_dupl_add_) call tmpcoo%transp() - nzl = tmpcoo%get_nzeros() - i=0 ! ! Now we have to fix this. The only rows of tmpcoo/op_restr that are correct ! are those corresponding to "local" aggregates, i.e. indices in ilaggr(:) ! - do k=1, nzl + nzl = tmpcoo%get_nzeros() + i = 0 + do k = 1, nzl if ((naggrm1 < tmpcoo%ia(k)) .and.(tmpcoo%ia(k) <= naggrp1)) then i = i+1 tmpcoo%val(i) = tmpcoo%val(k) @@ -168,11 +169,11 @@ subroutine mld_daggrmat_nosmth_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re if (info /= psb_success_) goto 9999 - call a%cp_to(ac_coo) - + call a%cp_to_l(la) + call la%mv_to(ac_coo) nzt = ac_coo%get_nzeros() - k = 0 - do i=1, nzt + k = 0 + do i = 1, nzt k = k + 1 ac_coo%ia(k) = ilaggr(ac_coo%ia(i)) ac_coo%ja(k) = ilaggr(ac_coo%ja(i)) diff --git a/mlprec/impl/aggregator/mld_daggrmat_smth_asb.f90 b/mlprec/impl/aggregator/mld_daggrmat_smth_asb.f90 index 7a147832..82ea1464 100644 --- a/mlprec/impl/aggregator/mld_daggrmat_smth_asb.f90 +++ b/mlprec/impl/aggregator/mld_daggrmat_smth_asb.f90 @@ -65,14 +65,7 @@ ! specified by the user through mld_dprecinit and mld_zprecset. ! On output from this routine the entries of AC, op_prol, op_restr ! are still in "global numbering" mode; this is fixed in the calling routine -! mld_d_lev_aggrmat_asb. -! -! For more details see -! M. Brezina and P. Vanek, A black-box iterative solver based on a -! two-level Schwarz method, Computing, 63 (1999), 233-263. -! P. D'Ambra, D. di Serafino and S. Filippone, On the development of -! PSBLAS-based parallel two-level Schwarz preconditioners, Appl. Num. Math. -! 57 (2007), 1181-1196. +! aggregator%mat_asb. ! ! ! Arguments: @@ -117,37 +110,38 @@ subroutine mld_daggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_rest implicit none ! Arguments - type(psb_dspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:), nlaggr(:) - type(mld_dml_parms), intent(inout) :: parms - type(psb_dspmat_type), intent(inout) :: op_prol - type(psb_dspmat_type), intent(out) :: ac,op_restr - integer(psb_ipk_), intent(out) :: info + type(psb_dspmat_type), intent(in) :: a + type(psb_desc_type), intent(in) :: desc_a + integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) + type(mld_dml_parms), intent(inout) :: parms + type(psb_ldspmat_type), intent(inout) :: op_prol + type(psb_ldspmat_type), intent(out) :: ac,op_restr + integer(psb_ipk_), intent(out) :: info ! Local variables - integer(psb_ipk_) :: nrow, nglob, ncol, ntaggr, ip, ndx,& - & naggr, nzl,naggrm1,naggrp1, i, j, k, jd, icolF, nrw, err_act - integer(psb_ipk_) ::ictxt, np, me + integer(psb_lpk_) :: nrow, nglob, ncol, ntaggr, ip, & + & naggr, nzl,naggrm1,naggrp1, i, j, k, jd, icolF, nrw + integer(psb_ipk_) :: ictxt, np, me character(len=20) :: name - type(psb_dspmat_type) :: am3, am4, tmp_prol - type(psb_d_coo_sparse_mat) :: tmpcoo - type(psb_d_csr_sparse_mat) :: acsr1, acsr2, acsr3, acsrf, ptilde + type(psb_ldspmat_type) :: la, am3, am4, tmp_prol + type(psb_ld_coo_sparse_mat) :: tmpcoo + type(psb_ld_csr_sparse_mat) :: acsr1, acsr2, acsr3, acsrf, ptilde real(psb_dpk_), allocatable :: adiag(:) integer(psb_ipk_) :: ierr(5) logical :: filter_mat - integer(psb_ipk_) :: debug_level, debug_unit + integer(psb_ipk_) :: debug_level, debug_unit, err_act integer(psb_ipk_), parameter :: ncmax=16 real(psb_dpk_) :: anorm, omega, tmp, dg, theta name='mld_aggrmat_smth_asb' - if(psb_get_errstatus().ne.0) return info=psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() - ictxt = desc_a%get_context() ictxt = desc_a%get_context() call psb_info(ictxt, me, np) @@ -176,6 +170,7 @@ subroutine mld_daggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_rest & call psb_realloc(ncol,adiag,info) if (info == psb_success_) & & call psb_halo(adiag,desc_a,info) + if (info == psb_success_) call a%cp_to_l(la) if(info /= psb_success_) then call psb_errpush(psb_err_from_subroutine_,name,a_err='sp_getdiag') @@ -185,7 +180,7 @@ subroutine mld_daggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_rest ! 1. Allocate Ptilde in sparse matrix form call op_prol%mv_to(tmpcoo) call ptilde%mv_from_coo(tmpcoo,info) - if (info == psb_success_) call a%cscnv(acsr3,info,dupl=psb_dupl_add_) + if (info == psb_success_) call la%cscnv(acsr3,info,dupl=psb_dupl_add_) if (info /= psb_success_) goto 9999 if (debug_level >= psb_debug_outer_) & @@ -198,7 +193,7 @@ subroutine mld_daggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_rest ! if (info == psb_success_) call acsr3%cp_to_fmt(acsrf,info) - do i=1,nrow + do i=1, nrow tmp = dzero jd = -1 do j=acsrf%irp(i),acsrf%irp(i+1)-1 @@ -342,7 +337,7 @@ subroutine mld_daggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_rest goto 9999 end if - call psb_spspmm(a,tmp_prol,am3,info) + call psb_spspmm(la,tmp_prol,am3,info) if(info /= psb_success_) then call psb_errpush(psb_err_from_subroutine_,name,a_err='spspmm 2') goto 9999 diff --git a/mlprec/impl/aggregator/mld_s_dec_aggregator_mat_asb.f90 b/mlprec/impl/aggregator/mld_s_dec_aggregator_mat_asb.f90 index f4030c0e..38160c08 100644 --- a/mlprec/impl/aggregator/mld_s_dec_aggregator_mat_asb.f90 +++ b/mlprec/impl/aggregator/mld_s_dec_aggregator_mat_asb.f90 @@ -143,23 +143,25 @@ subroutine mld_s_dec_aggregator_mat_asb(ag,parms,a,desc_a,ilaggr,nlaggr,ac,op_p type(mld_sml_parms), intent(inout) :: parms type(psb_sspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:), nlaggr(:) - type(psb_sspmat_type), intent(inout) :: op_prol - type(psb_sspmat_type), intent(out) :: ac,op_restr + integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) + type(psb_lsspmat_type), intent(inout) :: op_prol + type(psb_lsspmat_type), intent(out) :: ac,op_restr integer(psb_ipk_), intent(out) :: info ! Local variables - character(len=20) :: name - integer(psb_mpik_) :: ictxt, np, me - type(psb_s_coo_sparse_mat) :: acoo, bcoo - type(psb_s_csr_sparse_mat) :: acsr1 - integer(psb_ipk_) :: nzl,ntaggr - integer(psb_ipk_) :: err_act + character(len=20) :: name + integer(psb_mpk_) :: ictxt, np, me + type(psb_ls_coo_sparse_mat) :: acoo, bcoo + type(psb_ls_csr_sparse_mat) :: acsr1 + integer(psb_lpk_) :: nzl,ntaggr + integer(psb_ipk_) :: err_act integer(psb_ipk_) :: debug_level, debug_unit name='mld_s_dec_aggregator_mat_asb' - if (psb_get_errstatus().ne.0) return call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() info = psb_success_ diff --git a/mlprec/impl/aggregator/mld_s_dec_aggregator_tprol.f90 b/mlprec/impl/aggregator/mld_s_dec_aggregator_tprol.f90 index 69b7f647..8ab80eb3 100644 --- a/mlprec/impl/aggregator/mld_s_dec_aggregator_tprol.f90 +++ b/mlprec/impl/aggregator/mld_s_dec_aggregator_tprol.f90 @@ -81,20 +81,22 @@ subroutine mld_s_dec_aggregator_build_tprol(ag,parms,a,desc_a,ilaggr,nlaggr,op_ type(mld_sml_parms), intent(inout) :: parms type(psb_sspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) - type(psb_sspmat_type), intent(out) :: op_prol + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + type(psb_lsspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info ! Local variables - character(len=20) :: name - integer(psb_mpik_) :: ictxt, np, me - integer(psb_ipk_) :: err_act - integer(psb_ipk_) :: ntaggr - integer(psb_ipk_) :: debug_level, debug_unit + character(len=20) :: name + integer(psb_mpk_) :: ictxt, np, me + integer(psb_ipk_) :: err_act + integer(psb_lpk_) :: ntaggr + integer(psb_ipk_) :: debug_level, debug_unit name='mld_s_dec_aggregator_tprol' - if (psb_get_errstatus().ne.0) return call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() info = psb_success_ diff --git a/mlprec/impl/aggregator/mld_s_map_to_tprol.f90 b/mlprec/impl/aggregator/mld_s_map_to_tprol.f90 index e7cb7f83..ee1bc70e 100644 --- a/mlprec/impl/aggregator/mld_s_map_to_tprol.f90 +++ b/mlprec/impl/aggregator/mld_s_map_to_tprol.f90 @@ -87,22 +87,24 @@ subroutine mld_s_map_to_tprol(desc_a,ilaggr,nlaggr,op_prol,info) ! Arguments type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), allocatable, intent(inout) :: ilaggr(:),nlaggr(:) - type(psb_sspmat_type), intent(out) :: op_prol + integer(psb_lpk_), allocatable, intent(inout) :: ilaggr(:),nlaggr(:) + type(psb_lsspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info ! Local variables - integer(psb_ipk_) :: icnt,nlp,k,n,ia,isz,nr, naggr,i,j,m,naggrm1, naggrp1, ntaggr - type(psb_s_coo_sparse_mat) :: tmpcoo + integer(psb_lpk_) :: icnt,nlp,k,n,ia,isz,nr, naggr,i,j,m,naggrm1, naggrp1, ntaggr + type(psb_ls_coo_sparse_mat) :: tmpcoo integer(psb_ipk_) :: debug_level, debug_unit,err_act integer(psb_ipk_) :: ictxt,np,me - integer(psb_ipk_) :: nrow, ncol, n_ne + integer(psb_lpk_) :: nrow, ncol, n_ne character(len=20) :: name, ch_err - if(psb_get_errstatus() /= 0) return info=psb_success_ name = 'mld_map_to_tprol' call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() ! diff --git a/mlprec/impl/aggregator/mld_s_soc1_map_bld.f90 b/mlprec/impl/aggregator/mld_s_soc1_map_bld.f90 index fe1de847..ef0f0045 100644 --- a/mlprec/impl/aggregator/mld_s_soc1_map_bld.f90 +++ b/mlprec/impl/aggregator/mld_s_soc1_map_bld.f90 @@ -80,12 +80,13 @@ subroutine mld_s_soc1_map_bld(iorder,theta,a,desc_a,nlaggr,ilaggr,info) type(psb_sspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a real(psb_spk_), intent(in) :: theta - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) integer(psb_ipk_), intent(out) :: info ! Local variables - integer(psb_ipk_), allocatable :: ils(:), neigh(:), irow(:), icol(:),& - & ideg(:), idxs(:), tmpaggr(:) + integer(psb_ipk_), allocatable :: ils(:), neigh(:), irow(:), icol(:),& + & ideg(:), idxs(:) + integer(psb_lpk_), allocatable :: tmpaggr(:) real(psb_spk_), allocatable :: val(:), diag(:) integer(psb_ipk_) :: icnt,nlp,k,n,ia,isz,nr, nc, naggr,i,j,m, nz, ilg, ii, ip type(psb_s_csr_sparse_mat) :: acsr @@ -96,10 +97,12 @@ subroutine mld_s_soc1_map_bld(iorder,theta,a,desc_a,nlaggr,ilaggr,info) integer(psb_ipk_) :: nrow, ncol, n_ne character(len=20) :: name, ch_err - if (psb_get_errstatus() /= 0) return info=psb_success_ name = 'mld_soc1_map_bld' call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() ! diff --git a/mlprec/impl/aggregator/mld_s_soc2_map_bld.f90 b/mlprec/impl/aggregator/mld_s_soc2_map_bld.f90 index 49f2ab5c..682fb25c 100644 --- a/mlprec/impl/aggregator/mld_s_soc2_map_bld.f90 +++ b/mlprec/impl/aggregator/mld_s_soc2_map_bld.f90 @@ -79,12 +79,13 @@ subroutine mld_s_soc2_map_bld(iorder,theta,a,desc_a,nlaggr,ilaggr,info) type(psb_sspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a real(psb_spk_), intent(in) :: theta - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) integer(psb_ipk_), intent(out) :: info ! Local variables integer(psb_ipk_), allocatable :: ils(:), neigh(:), irow(:), icol(:),& - & ideg(:), idxs(:), tmpaggr(:) + & ideg(:), idxs(:) + integer(psb_lpk_), allocatable :: tmpaggr(:) real(psb_spk_), allocatable :: val(:), diag(:) integer(psb_ipk_) :: icnt,nlp,k,n,ia,isz,nr,nc,naggr,i,j,m, nz, ilg, ii, ip, ip1,nzcnt type(psb_s_csr_sparse_mat) :: acsr, muij, s_neigh @@ -96,10 +97,12 @@ subroutine mld_s_soc2_map_bld(iorder,theta,a,desc_a,nlaggr,ilaggr,info) integer(psb_ipk_) :: nrow, ncol, n_ne character(len=20) :: name, ch_err - if (psb_get_errstatus() /= 0) return info=psb_success_ name = 'mld_soc2_map_bld' call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() ! diff --git a/mlprec/impl/aggregator/mld_s_symdec_aggregator_tprol.f90 b/mlprec/impl/aggregator/mld_s_symdec_aggregator_tprol.f90 index ec9fc187..7f493c55 100644 --- a/mlprec/impl/aggregator/mld_s_symdec_aggregator_tprol.f90 +++ b/mlprec/impl/aggregator/mld_s_symdec_aggregator_tprol.f90 @@ -85,21 +85,24 @@ subroutine mld_s_symdec_aggregator_build_tprol(ag,parms,a,desc_a,ilaggr,nlaggr, type(mld_sml_parms), intent(inout) :: parms type(psb_sspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) - type(psb_sspmat_type), intent(out) :: op_prol + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + type(psb_lsspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info ! Local variables type(psb_sspmat_type) :: atmp, atrans - character(len=20) :: name - integer(psb_mpik_) :: ictxt, np, me - integer(psb_ipk_) :: err_act - integer(psb_ipk_) :: ntaggr, nr - integer(psb_ipk_) :: debug_level, debug_unit + character(len=20) :: name + integer(psb_mpk_) :: ictxt, np, me + integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: nr + integer(psb_lpk_) :: ntaggr + integer(psb_ipk_) :: debug_level, debug_unit name='mld_s_symdec_aggregator_tprol' - if (psb_get_errstatus().ne.0) return call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() info = psb_success_ diff --git a/mlprec/impl/aggregator/mld_saggrmat_biz_asb.f90 b/mlprec/impl/aggregator/mld_saggrmat_biz_asb.f90 index e29b2f50..d7027abf 100644 --- a/mlprec/impl/aggregator/mld_saggrmat_biz_asb.f90 +++ b/mlprec/impl/aggregator/mld_saggrmat_biz_asb.f90 @@ -88,33 +88,35 @@ subroutine mld_saggrmat_biz_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr implicit none ! Arguments - type(psb_sspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:), nlaggr(:) - type(mld_sml_parms), intent(inout) :: parms - type(psb_sspmat_type), intent(inout) :: op_prol - type(psb_sspmat_type), intent(out) :: ac,op_restr - integer(psb_ipk_), intent(out) :: info + type(psb_sspmat_type), intent(in) :: a + type(psb_desc_type), intent(in) :: desc_a + integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) + type(mld_sml_parms), intent(inout) :: parms + type(psb_lsspmat_type), intent(inout) :: op_prol + type(psb_lsspmat_type), intent(out) :: ac,op_restr + integer(psb_ipk_), intent(out) :: info ! Local variables - integer(psb_ipk_) :: nrow, nglob, ncol, ntaggr, ip, ndx,& - & naggr, nzl,naggrm1,naggrp1, i, j, k, jd, icolF, nrw, err_act + integer(psb_lpk_) :: nrow, nglob, ncol, ntaggr, ip, & + & naggr, nzl,naggrm1,naggrp1, i, j, k, jd, icolF, nrw integer(psb_ipk_) ::ictxt, np, me character(len=20) :: name - type(psb_sspmat_type) :: am3, am4,tmp_prol - type(psb_s_coo_sparse_mat) :: tmpcoo - type(psb_s_csr_sparse_mat) :: acsr1, acsr2, acsr3, acsrf, ptilde + type(psb_lsspmat_type) :: am3, am4,tmp_prol, la + type(psb_ls_coo_sparse_mat) :: tmpcoo + type(psb_ls_csr_sparse_mat) :: acsr1, acsr2, acsr3, acsrf, ptilde real(psb_spk_), allocatable :: adiag(:) integer(psb_ipk_) :: ierr(5) logical :: filter_mat - integer(psb_ipk_) :: debug_level, debug_unit + integer(psb_ipk_) :: debug_level, debug_unit, err_act integer(psb_ipk_), parameter :: ncmax=16 real(psb_spk_) :: anorm, omega, tmp, dg, theta name='mld_aggrmat_biz_asb' - if(psb_get_errstatus().ne.0) return info=psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() @@ -128,10 +130,8 @@ subroutine mld_saggrmat_biz_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr ncol = desc_a%get_local_cols() theta = parms%aggr_thresh - naggr = nlaggr(me+1) ntaggr = sum(nlaggr) - filter_mat = (parms%aggr_filter == mld_filter_mat_) ! naggr: number of local aggregates @@ -143,8 +143,8 @@ subroutine mld_saggrmat_biz_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr & call psb_realloc(ncol,adiag,info) if (info == psb_success_) & & call psb_halo(adiag,desc_a,info) - - if(info /= psb_success_) then + if (info == psb_success_) call a%cp_to_l(la) + if (info /= psb_success_) then call psb_errpush(psb_err_from_subroutine_,name,a_err='sp_getdiag') goto 9999 end if @@ -152,7 +152,7 @@ subroutine mld_saggrmat_biz_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr ! 1. Allocate Ptilde in sparse matrix form call op_prol%mv_to(tmpcoo) call ptilde%mv_from_coo(tmpcoo,info) - if (info == psb_success_) call a%cscnv(acsr3,info,dupl=psb_dupl_add_) + if (info == psb_success_) call la%cscnv(acsr3,info,dupl=psb_dupl_add_) if (info /= psb_success_) goto 9999 if (debug_level >= psb_debug_outer_) & @@ -163,9 +163,9 @@ subroutine mld_saggrmat_biz_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr ! ! Build the filtered matrix Af from A ! - if (info == psb_success_) call a%cscnv(acsrf,info,dupl=psb_dupl_add_) + if (info == psb_success_) call acsr3%cp_to_fmt(acsrf,info) - do i=1,nrow + do i=1, nrow tmp = szero jd = -1 do j=acsrf%irp(i),acsrf%irp(i+1)-1 @@ -271,17 +271,15 @@ subroutine mld_saggrmat_biz_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr ! Doing it this way means to consider diag(Af_i) ! ! - call psb_symbmm(acsrf,ptilde,acsr1,info) + call psb_spspmm(acsrf,ptilde,acsr1,info) if(info /= psb_success_) then - call psb_errpush(psb_err_from_subroutine_,name,a_err='symbmm 1') + call psb_errpush(psb_err_from_subroutine_,name,a_err='spspmm 1') goto 9999 end if - call psb_numbmm(acsrf,ptilde,acsr1) - if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& - & 'Done NUMBMM 1' + & 'Done SPSPMM 1' else ! @@ -307,17 +305,15 @@ subroutine mld_saggrmat_biz_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr ! Doing it this way means to consider diag(A_i) ! ! - call psb_symbmm(acsr3,ptilde,acsr1,info) + call psb_spspmm(acsr3,ptilde,acsr1,info) if(info /= psb_success_) then - call psb_errpush(psb_err_from_subroutine_,name,a_err='symbmm 1') + call psb_errpush(psb_err_from_subroutine_,name,a_err='spspmm 1') goto 9999 end if - call psb_numbmm(acsr3,ptilde,acsr1) - if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& - & 'Done NUMBMM 1' + & 'Done SPSPMM 1' end if call ptilde%free() @@ -331,16 +327,15 @@ subroutine mld_saggrmat_biz_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr goto 9999 end if - call psb_symbmm(a,tmp_prol,am3,info) + call psb_spspmm(la,tmp_prol,am3,info) if(info /= psb_success_) then - call psb_errpush(psb_err_from_subroutine_,name,a_err='symbmm 2') + call psb_errpush(psb_err_from_subroutine_,name,a_err='spspmm 2') goto 9999 end if - call psb_numbmm(a,tmp_prol,am3) if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& - & 'Done NUMBMM 2',parms%aggr_prol, mld_smooth_prol_ + & 'Done SPSPMM 2',parms%aggr_prol, mld_smooth_prol_ call tmp_prol%transp(op_restr) if (debug_level >= psb_debug_outer_) & @@ -353,23 +348,18 @@ subroutine mld_saggrmat_biz_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr goto 9999 end if - if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& - & 'starting symbmm 3' - call psb_symbmm(op_restr,am3,ac,info) - if (info == psb_success_) call psb_numbmm(op_restr,am3,ac) + & 'starting spspmm 3' + call psb_spspmm(op_restr,am3,ac,info) if (info == psb_success_) call am3%free() - if (info == psb_success_) call ac%cscnv(info,type='coo',dupl=psb_dupl_add_) + if (info == psb_success_) call ac%cscnv(info,type='csr',dupl=psb_dupl_add_) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,a_err='Build b = op_restr x am3') goto 9999 end if - - - if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& & 'Done smooth_aggregate ' diff --git a/mlprec/impl/aggregator/mld_saggrmat_minnrg_asb.f90 b/mlprec/impl/aggregator/mld_saggrmat_minnrg_asb.f90 index 1c6caabf..0f293e00 100644 --- a/mlprec/impl/aggregator/mld_saggrmat_minnrg_asb.f90 +++ b/mlprec/impl/aggregator/mld_saggrmat_minnrg_asb.f90 @@ -114,37 +114,38 @@ subroutine mld_saggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re ! Arguments type(psb_sspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:), nlaggr(:) - type(mld_sml_parms), intent(inout) :: parms - type(psb_sspmat_type), intent(inout) :: op_prol - type(psb_sspmat_type), intent(out) :: ac,op_restr + integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) + type(mld_sml_parms), intent(inout) :: parms + type(psb_lsspmat_type), intent(inout) :: op_prol + type(psb_lsspmat_type), intent(out) :: ac,op_restr integer(psb_ipk_), intent(out) :: info ! Local variables - integer(psb_ipk_), allocatable :: nzbr(:), idisp(:) - integer(psb_ipk_) :: nrow, nglob, ncol, ntaggr, nzac, ip, ndx,& - & naggr, nzl,naggrm1,naggrp1, i, j, k, jd, icolF, nrt, err_act + integer(psb_lpk_) :: nrow, nglob, ncol, ntaggr, nzac, ip, ndx,& + & naggr, nzl,naggrm1,naggrp1, i, j, k, jd, icolF, nrt integer(psb_ipk_) :: ictxt,np,me, icomm character(len=20) :: name - type(psb_sspmat_type) :: af, ptilde, rtilde, atran, atp, atdatp - type(psb_sspmat_type) :: am3,am4, ap, adap,atmp,rada, ra, atmp2, dap, dadap, da - type(psb_sspmat_type) :: dat, datp, datdatp, atmp3, tmp_prol - type(psb_s_coo_sparse_mat) :: tmpcoo - type(psb_s_csr_sparse_mat) :: acsr1, acsr2, acsr3, acsr, acsrf - type(psb_s_csc_sparse_mat) :: csc_dap, csc_dadap, csc_datp, csc_datdatp, acsc + type(psb_lsspmat_type) :: la, af, ptilde, rtilde, atran, atp, atdatp + type(psb_lsspmat_type) :: am3,am4, ap, adap,atmp,rada, ra, atmp2, dap, dadap, da + type(psb_lsspmat_type) :: dat, datp, datdatp, atmp3, tmp_prol + type(psb_ls_coo_sparse_mat) :: tmpcoo + type(psb_ls_csr_sparse_mat) :: acsr1, acsr2, acsr3, acsr, acsrf + type(psb_ls_csc_sparse_mat) :: csc_dap, csc_dadap, csc_datp, csc_datdatp, acsc real(psb_spk_), allocatable :: adiag(:), adinv(:) real(psb_spk_), allocatable :: omf(:), omp(:), omi(:), oden(:) logical :: filter_mat integer(psb_ipk_) :: ierr(5) - integer(psb_ipk_) :: debug_level, debug_unit + integer(psb_ipk_) :: debug_level, debug_unit, err_act integer(psb_ipk_), parameter :: ncmax=16 real(psb_spk_) :: anorm, theta real(psb_spk_) :: tmp, alpha, beta, ommx name='mld_aggrmat_minnrg' - if(psb_get_errstatus().ne.0) return info=psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() @@ -163,13 +164,6 @@ subroutine mld_saggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re naggr = nlaggr(me+1) ntaggr = sum(nlaggr) - allocate(nzbr(np), idisp(np),stat=info) - if (info /= psb_success_) then - info=psb_err_alloc_request_; ierr(1)=2*np; - call psb_errpush(info,name,i_err=ierr,a_err='integer') - goto 9999 - end if - naggrm1 = sum(nlaggr(1:me)) naggrp1 = sum(nlaggr(1:me+1)) @@ -193,6 +187,11 @@ subroutine mld_saggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re & call psb_realloc(ncol,adiag,info) if (info == psb_success_) & & call psb_halo(adiag,desc_a,info) + if (info == psb_success_) call a%cp_to_l(la) + if (info /= psb_success_) then + call psb_errpush(psb_err_from_subroutine_,name,a_err='sp_getdiag') + goto 9999 + end if do i=1,size(adiag) if (adiag(i) /= szero) then @@ -202,10 +201,6 @@ subroutine mld_saggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re end if end do - if (info /= psb_success_) then - call psb_errpush(psb_err_from_subroutine_,name,a_err='sp_getdiag') - goto 9999 - end if ! 1. Allocate Ptilde in sparse matrix form @@ -213,8 +208,8 @@ subroutine mld_saggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re call ptilde%mv_from(tmpcoo) call ptilde%cscnv(info,type='csr') - if (info == psb_success_) call a%cscnv(am3,info,type='csr',dupl=psb_dupl_add_) - if (info == psb_success_) call a%cscnv(da,info,type='csr',dupl=psb_dupl_add_) + if (info == psb_success_) call la%cscnv(am3,info,type='csr',dupl=psb_dupl_add_) + if (info == psb_success_) call la%cscnv(da,info,type='csr',dupl=psb_dupl_add_) if (info /= psb_success_) then call psb_errpush(psb_err_from_subroutine_,name,a_err='spcnv') goto 9999 @@ -225,11 +220,10 @@ subroutine mld_saggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re call da%scal(adinv,info) - call psb_symbmm(da,ptilde,dap,info) - if (info == psb_success_) call psb_numbmm(da,ptilde,dap) + call psb_spspmm(da,ptilde,dap,info) if(info /= psb_success_) then - call psb_errpush(psb_err_from_subroutine_,name,a_err='symbmm 1') + call psb_errpush(psb_err_from_subroutine_,name,a_err='spspmm 1') goto 9999 end if @@ -240,8 +234,7 @@ subroutine mld_saggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re if (info == psb_success_) call psb_rwextd(ncol,atmp,info,b=am4) if (info == psb_success_) call am4%free() - call psb_symbmm(da,atmp,dadap,info) - call psb_numbmm(da,atmp,dadap) + call psb_spspmm(da,atmp,dadap,info) call atmp%free() ! !$ write(0,*) 'Columns of AP',psb_sp_get_ncols(ap) @@ -249,7 +242,6 @@ subroutine mld_saggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re call dap%mv_to(csc_dap) call dadap%mv_to(csc_dadap) - call csc_mat_col_prod(csc_dap,csc_dadap,omp,info) call csc_mat_col_prod(csc_dadap,csc_dadap,oden,info) call psb_sum(ictxt,omp) @@ -287,7 +279,7 @@ subroutine mld_saggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re ! ! Build the filtered matrix Af from A ! - call a%cscnv(acsrf,info,dupl=psb_dupl_add_) + call la%cscnv(acsrf,info,dupl=psb_dupl_add_) do i=1,nrow tmp = szero @@ -327,23 +319,14 @@ subroutine mld_saggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re call af%mv_from(acsrf) ! - ! Symbmm90 does the allocation for its result. - ! ! op_prol = (I-w*D*Af)Ptilde ! Doing it this way means to consider diag(Af_i) ! ! - call psb_symbmm(af,ptilde,op_prol,info) - if(info /= psb_success_) then - call psb_errpush(psb_err_from_subroutine_,name,a_err='symbmm 1') - goto 9999 - end if - - call psb_numbmm(af,ptilde,op_prol) - + call psb_spspmm(af,ptilde,op_prol,info) if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& - & 'Done NUMBMM 1' + & 'Done SPSPMM 1' else ! ! Build the smoothed prolongator using the original matrix @@ -363,19 +346,11 @@ subroutine mld_saggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re & write(debug_unit,*) me,' ',trim(name),& & 'Done gather, going for SYMBMM 1' ! - ! Symbmm90 does the allocation for its result. ! ! op_prol = (I-w*D*A)Ptilde ! ! - call psb_symbmm(am3,ptilde,op_prol,info) - if(info /= psb_success_) then - call psb_errpush(psb_err_from_subroutine_,name,a_err='symbmm 1') - goto 9999 - end if - - call psb_numbmm(am3,ptilde,op_prol) - + call psb_spspmm(am3,ptilde,op_prol,info) if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& & 'Done NUMBMM 1' @@ -387,11 +362,11 @@ subroutine mld_saggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re ! Ok, let's start over with the restrictor ! call ptilde%transc(rtilde) - call a%cscnv(atmp,info,type='csr') + call la%cscnv(atmp,info,type='csr') call psb_sphalo(atmp,desc_a,am4,info,& & colcnv=.true.,rowscale=.true.) nrt = am4%get_nrows() - call am4%csclip(atmp2,info,ione,nrt,ione,ncol) + call am4%csclip(atmp2,info,lone,nrt,lone,ncol) call atmp2%cscnv(info,type='CSR') if (info == psb_success_) call psb_rwextd(ncol,atmp,info,b=atmp2) call am4%free() @@ -400,13 +375,12 @@ subroutine mld_saggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re ! This is to compute the transpose. It ONLY works if the ! original A has a symmetric pattern. call atmp%transc(atmp2) - call atmp2%csclip(dat,info,ione,nrow,ione,ncol) + call atmp2%csclip(dat,info,lone,nrow,lone,ncol) call dat%cscnv(info,type='csr') call dat%scal(adinv,info) ! Now for the product. - call psb_symbmm(dat,ptilde,datp,info) - if (info == psb_success_) call psb_numbmm(dat,ptilde,datp) + call psb_spspmm(dat,ptilde,datp,info) call datp%clone(atmp2,info) call psb_sphalo(atmp2,desc_a,am4,info,& @@ -484,8 +458,7 @@ subroutine mld_saggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re call rtilde%mv_from(tmpcoo) call rtilde%cscnv(info,type='csr') - call psb_symbmm(rtilde,atmp,op_restr,info) - call psb_numbmm(rtilde,atmp,op_restr) + call psb_spspmm(rtilde,atmp,op_restr,info) ! ! Now we have to gather the halo of op_prol, and add it to itself @@ -527,16 +500,10 @@ subroutine mld_saggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re & write(debug_unit,*) me,' ',trim(name),& & 'starting sphalo/ rwxtd' - call psb_symbmm(a,tmp_prol,am3,info) - if(info /= psb_success_) then - call psb_errpush(psb_err_from_subroutine_,name,& - & a_err='symbmm 2') - goto 9999 - end if - call psb_numbmm(a,tmp_prol,am3) + call psb_spspmm(la,tmp_prol,am3,info) if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& - & 'Done NUMBMM 2' + & 'Done SPSPMM 2' call psb_sphalo(am3,desc_a,am4,info,& & colcnv=.false.,rowscale=.true.) @@ -552,8 +519,7 @@ subroutine mld_saggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re & write(debug_unit,*) me,' ',trim(name),& & 'Done sphalo/ rwxtd' - call psb_symbmm(op_restr,am3,ac,info) - if (info == psb_success_) call psb_numbmm(op_restr,am3,ac) + call psb_spspmm(op_restr,am3,ac,info) if (info == psb_success_) call am3%free() if (info == psb_success_) call ac%cscnv(info,type='coo',dupl=psb_dupl_add_) @@ -581,11 +547,11 @@ contains subroutine csc_mat_col_prod(a,b,v,info) implicit none - type(psb_s_csc_sparse_mat), intent(in) :: a, b + type(psb_ls_csc_sparse_mat), intent(in) :: a, b real(psb_spk_), intent(out) :: v(:) integer(psb_ipk_), intent(out) :: info - integer(psb_ipk_) :: i,j,k, nr, nc,iap,nra,ibp,nrb + integer(psb_lpk_) :: i,j,k, nr, nc,iap,nra,ibp,nrb info = psb_success_ nc = a%get_ncols() @@ -609,11 +575,11 @@ contains subroutine csr_mat_row_prod(a,b,v,info) implicit none - type(psb_s_csr_sparse_mat), intent(in) :: a, b + type(psb_ls_csr_sparse_mat), intent(in) :: a, b real(psb_spk_), intent(out) :: v(:) integer(psb_ipk_), intent(out) :: info - integer(psb_ipk_) :: i,j,k, nr, nc,iap,nca,ibp,ncb + integer(psb_lpk_) :: i,j,k, nr, nc,iap,nca,ibp,ncb info = psb_success_ nr = a%get_nrows() @@ -637,12 +603,12 @@ contains function sparse_srtd_dot(nv1,iv1,v1,nv2,iv2,v2) result(dot) implicit none - integer(psb_ipk_), intent(in) :: nv1,nv2 - integer(psb_ipk_), intent(in) :: iv1(:), iv2(:) + integer(psb_lpk_), intent(in) :: nv1,nv2 + integer(psb_lpk_), intent(in) :: iv1(:), iv2(:) real(psb_spk_), intent(in) :: v1(:),v2(:) real(psb_spk_) :: dot - integer(psb_ipk_) :: i,j,k, ip1, ip2 + integer(psb_lpk_) :: i,j,k, ip1, ip2 dot = szero ip1 = 1 @@ -665,7 +631,7 @@ contains end function sparse_srtd_dot subroutine local_dump(me,mat,name,header) - type(psb_sspmat_type), intent(in) :: mat + type(psb_lsspmat_type), intent(in) :: mat integer(psb_ipk_), intent(in) :: me character(len=*), intent(in) :: name character(len=*), intent(in) :: header diff --git a/mlprec/impl/aggregator/mld_saggrmat_nosmth_asb.f90 b/mlprec/impl/aggregator/mld_saggrmat_nosmth_asb.f90 index dc0cfebf..e588982c 100644 --- a/mlprec/impl/aggregator/mld_saggrmat_nosmth_asb.f90 +++ b/mlprec/impl/aggregator/mld_saggrmat_nosmth_asb.f90 @@ -106,28 +106,30 @@ subroutine mld_saggrmat_nosmth_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re ! Arguments type(psb_sspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:), nlaggr(:) + integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) type(mld_sml_parms), intent(inout) :: parms - type(psb_sspmat_type), intent(inout) :: op_prol - type(psb_sspmat_type), intent(out) :: ac,op_restr + type(psb_lsspmat_type), intent(inout) :: op_prol + type(psb_lsspmat_type), intent(out) :: ac,op_restr integer(psb_ipk_), intent(out) :: info ! Local variables integer(psb_ipk_) :: err_act - integer(psb_ipk_) :: ictxt,np,me, icomm, ndx, minfo + integer(psb_ipk_) :: ictxt, np, me, icomm, minfo character(len=20) :: name - integer(psb_ipk_) :: ierr(5) - type(psb_s_coo_sparse_mat) :: ac_coo, tmpcoo - type(psb_s_csr_sparse_mat) :: acsr1, acsr2 + integer(psb_ipk_) :: ierr(5) + type(psb_lsspmat_type) :: la + type(psb_ls_coo_sparse_mat) :: ac_coo, tmpcoo + type(psb_ls_csr_sparse_mat) :: acsr1, acsr2 integer(psb_ipk_) :: debug_level, debug_unit - integer(psb_ipk_) :: nrow, nglob, ncol, ntaggr, nzl, ip, & + integer(psb_lpk_) :: nrow, nglob, ncol, ntaggr, nzl, ip, & & naggr, nzt, naggrm1, naggrp1, i, k - name='mld_aggrmat_nosmth_asb' - if(psb_get_errstatus().ne.0) return - info=psb_success_ + name = 'mld_aggrmat_nosmth_asb' + info = psb_success_ call psb_erractionsave(err_act) - + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if ictxt = desc_a%get_context() icomm = desc_a%get_mpic() @@ -136,24 +138,23 @@ subroutine mld_saggrmat_nosmth_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re nrow = desc_a%get_local_rows() ncol = desc_a%get_local_cols() - naggr = nlaggr(me+1) ntaggr = sum(nlaggr) naggrm1 = sum(nlaggr(1:me)) naggrp1 = sum(nlaggr(1:me+1)) - + call op_prol%cp_to(tmpcoo) call op_prol%cscnv(info,type='csr',dupl=psb_dupl_add_) call tmpcoo%transp() - nzl = tmpcoo%get_nzeros() - i=0 ! ! Now we have to fix this. The only rows of tmpcoo/op_restr that are correct ! are those corresponding to "local" aggregates, i.e. indices in ilaggr(:) ! - do k=1, nzl + nzl = tmpcoo%get_nzeros() + i = 0 + do k = 1, nzl if ((naggrm1 < tmpcoo%ia(k)) .and.(tmpcoo%ia(k) <= naggrp1)) then i = i+1 tmpcoo%val(i) = tmpcoo%val(k) @@ -168,11 +169,11 @@ subroutine mld_saggrmat_nosmth_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re if (info /= psb_success_) goto 9999 - call a%cp_to(ac_coo) - + call a%cp_to_l(la) + call la%mv_to(ac_coo) nzt = ac_coo%get_nzeros() - k = 0 - do i=1, nzt + k = 0 + do i = 1, nzt k = k + 1 ac_coo%ia(k) = ilaggr(ac_coo%ia(i)) ac_coo%ja(k) = ilaggr(ac_coo%ja(i)) diff --git a/mlprec/impl/aggregator/mld_saggrmat_smth_asb.f90 b/mlprec/impl/aggregator/mld_saggrmat_smth_asb.f90 index e2c52d7f..3cb3dd15 100644 --- a/mlprec/impl/aggregator/mld_saggrmat_smth_asb.f90 +++ b/mlprec/impl/aggregator/mld_saggrmat_smth_asb.f90 @@ -65,14 +65,7 @@ ! specified by the user through mld_sprecinit and mld_zprecset. ! On output from this routine the entries of AC, op_prol, op_restr ! are still in "global numbering" mode; this is fixed in the calling routine -! mld_s_lev_aggrmat_asb. -! -! For more details see -! M. Brezina and P. Vanek, A black-box iterative solver based on a -! two-level Schwarz method, Computing, 63 (1999), 233-263. -! P. D'Ambra, D. di Serafino and S. Filippone, On the development of -! PSBLAS-based parallel two-level Schwarz preconditioners, Appl. Num. Math. -! 57 (2007), 1181-1196. +! aggregator%mat_asb. ! ! ! Arguments: @@ -117,37 +110,38 @@ subroutine mld_saggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_rest implicit none ! Arguments - type(psb_sspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:), nlaggr(:) - type(mld_sml_parms), intent(inout) :: parms - type(psb_sspmat_type), intent(inout) :: op_prol - type(psb_sspmat_type), intent(out) :: ac,op_restr - integer(psb_ipk_), intent(out) :: info + type(psb_sspmat_type), intent(in) :: a + type(psb_desc_type), intent(in) :: desc_a + integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) + type(mld_sml_parms), intent(inout) :: parms + type(psb_lsspmat_type), intent(inout) :: op_prol + type(psb_lsspmat_type), intent(out) :: ac,op_restr + integer(psb_ipk_), intent(out) :: info ! Local variables - integer(psb_ipk_) :: nrow, nglob, ncol, ntaggr, ip, ndx,& - & naggr, nzl,naggrm1,naggrp1, i, j, k, jd, icolF, nrw, err_act - integer(psb_ipk_) ::ictxt, np, me + integer(psb_lpk_) :: nrow, nglob, ncol, ntaggr, ip, & + & naggr, nzl,naggrm1,naggrp1, i, j, k, jd, icolF, nrw + integer(psb_ipk_) :: ictxt, np, me character(len=20) :: name - type(psb_sspmat_type) :: am3, am4, tmp_prol - type(psb_s_coo_sparse_mat) :: tmpcoo - type(psb_s_csr_sparse_mat) :: acsr1, acsr2, acsr3, acsrf, ptilde + type(psb_lsspmat_type) :: la, am3, am4, tmp_prol + type(psb_ls_coo_sparse_mat) :: tmpcoo + type(psb_ls_csr_sparse_mat) :: acsr1, acsr2, acsr3, acsrf, ptilde real(psb_spk_), allocatable :: adiag(:) integer(psb_ipk_) :: ierr(5) logical :: filter_mat - integer(psb_ipk_) :: debug_level, debug_unit + integer(psb_ipk_) :: debug_level, debug_unit, err_act integer(psb_ipk_), parameter :: ncmax=16 real(psb_spk_) :: anorm, omega, tmp, dg, theta name='mld_aggrmat_smth_asb' - if(psb_get_errstatus().ne.0) return info=psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() - ictxt = desc_a%get_context() ictxt = desc_a%get_context() call psb_info(ictxt, me, np) @@ -176,6 +170,7 @@ subroutine mld_saggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_rest & call psb_realloc(ncol,adiag,info) if (info == psb_success_) & & call psb_halo(adiag,desc_a,info) + if (info == psb_success_) call a%cp_to_l(la) if(info /= psb_success_) then call psb_errpush(psb_err_from_subroutine_,name,a_err='sp_getdiag') @@ -185,7 +180,7 @@ subroutine mld_saggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_rest ! 1. Allocate Ptilde in sparse matrix form call op_prol%mv_to(tmpcoo) call ptilde%mv_from_coo(tmpcoo,info) - if (info == psb_success_) call a%cscnv(acsr3,info,dupl=psb_dupl_add_) + if (info == psb_success_) call la%cscnv(acsr3,info,dupl=psb_dupl_add_) if (info /= psb_success_) goto 9999 if (debug_level >= psb_debug_outer_) & @@ -198,7 +193,7 @@ subroutine mld_saggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_rest ! if (info == psb_success_) call acsr3%cp_to_fmt(acsrf,info) - do i=1,nrow + do i=1, nrow tmp = szero jd = -1 do j=acsrf%irp(i),acsrf%irp(i+1)-1 @@ -342,7 +337,7 @@ subroutine mld_saggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_rest goto 9999 end if - call psb_spspmm(a,tmp_prol,am3,info) + call psb_spspmm(la,tmp_prol,am3,info) if(info /= psb_success_) then call psb_errpush(psb_err_from_subroutine_,name,a_err='spspmm 2') goto 9999 diff --git a/mlprec/impl/aggregator/mld_z_dec_aggregator_mat_asb.f90 b/mlprec/impl/aggregator/mld_z_dec_aggregator_mat_asb.f90 index 88b5391c..a709179d 100644 --- a/mlprec/impl/aggregator/mld_z_dec_aggregator_mat_asb.f90 +++ b/mlprec/impl/aggregator/mld_z_dec_aggregator_mat_asb.f90 @@ -143,23 +143,25 @@ subroutine mld_z_dec_aggregator_mat_asb(ag,parms,a,desc_a,ilaggr,nlaggr,ac,op_p type(mld_dml_parms), intent(inout) :: parms type(psb_zspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:), nlaggr(:) - type(psb_zspmat_type), intent(inout) :: op_prol - type(psb_zspmat_type), intent(out) :: ac,op_restr + integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) + type(psb_lzspmat_type), intent(inout) :: op_prol + type(psb_lzspmat_type), intent(out) :: ac,op_restr integer(psb_ipk_), intent(out) :: info ! Local variables - character(len=20) :: name - integer(psb_mpik_) :: ictxt, np, me - type(psb_z_coo_sparse_mat) :: acoo, bcoo - type(psb_z_csr_sparse_mat) :: acsr1 - integer(psb_ipk_) :: nzl,ntaggr - integer(psb_ipk_) :: err_act + character(len=20) :: name + integer(psb_mpk_) :: ictxt, np, me + type(psb_lz_coo_sparse_mat) :: acoo, bcoo + type(psb_lz_csr_sparse_mat) :: acsr1 + integer(psb_lpk_) :: nzl,ntaggr + integer(psb_ipk_) :: err_act integer(psb_ipk_) :: debug_level, debug_unit name='mld_z_dec_aggregator_mat_asb' - if (psb_get_errstatus().ne.0) return call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() info = psb_success_ diff --git a/mlprec/impl/aggregator/mld_z_dec_aggregator_tprol.f90 b/mlprec/impl/aggregator/mld_z_dec_aggregator_tprol.f90 index 4c7b5b5b..ccd0dcbc 100644 --- a/mlprec/impl/aggregator/mld_z_dec_aggregator_tprol.f90 +++ b/mlprec/impl/aggregator/mld_z_dec_aggregator_tprol.f90 @@ -81,20 +81,22 @@ subroutine mld_z_dec_aggregator_build_tprol(ag,parms,a,desc_a,ilaggr,nlaggr,op_ type(mld_dml_parms), intent(inout) :: parms type(psb_zspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) - type(psb_zspmat_type), intent(out) :: op_prol + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + type(psb_lzspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info ! Local variables - character(len=20) :: name - integer(psb_mpik_) :: ictxt, np, me - integer(psb_ipk_) :: err_act - integer(psb_ipk_) :: ntaggr - integer(psb_ipk_) :: debug_level, debug_unit + character(len=20) :: name + integer(psb_mpk_) :: ictxt, np, me + integer(psb_ipk_) :: err_act + integer(psb_lpk_) :: ntaggr + integer(psb_ipk_) :: debug_level, debug_unit name='mld_z_dec_aggregator_tprol' - if (psb_get_errstatus().ne.0) return call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() info = psb_success_ diff --git a/mlprec/impl/aggregator/mld_z_map_to_tprol.f90 b/mlprec/impl/aggregator/mld_z_map_to_tprol.f90 index 540fb0ad..0a757ea1 100644 --- a/mlprec/impl/aggregator/mld_z_map_to_tprol.f90 +++ b/mlprec/impl/aggregator/mld_z_map_to_tprol.f90 @@ -87,22 +87,24 @@ subroutine mld_z_map_to_tprol(desc_a,ilaggr,nlaggr,op_prol,info) ! Arguments type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), allocatable, intent(inout) :: ilaggr(:),nlaggr(:) - type(psb_zspmat_type), intent(out) :: op_prol + integer(psb_lpk_), allocatable, intent(inout) :: ilaggr(:),nlaggr(:) + type(psb_lzspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info ! Local variables - integer(psb_ipk_) :: icnt,nlp,k,n,ia,isz,nr, naggr,i,j,m,naggrm1, naggrp1, ntaggr - type(psb_z_coo_sparse_mat) :: tmpcoo + integer(psb_lpk_) :: icnt,nlp,k,n,ia,isz,nr, naggr,i,j,m,naggrm1, naggrp1, ntaggr + type(psb_lz_coo_sparse_mat) :: tmpcoo integer(psb_ipk_) :: debug_level, debug_unit,err_act integer(psb_ipk_) :: ictxt,np,me - integer(psb_ipk_) :: nrow, ncol, n_ne + integer(psb_lpk_) :: nrow, ncol, n_ne character(len=20) :: name, ch_err - if(psb_get_errstatus() /= 0) return info=psb_success_ name = 'mld_map_to_tprol' call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() ! diff --git a/mlprec/impl/aggregator/mld_z_soc1_map_bld.f90 b/mlprec/impl/aggregator/mld_z_soc1_map_bld.f90 index 29c16647..4496683b 100644 --- a/mlprec/impl/aggregator/mld_z_soc1_map_bld.f90 +++ b/mlprec/impl/aggregator/mld_z_soc1_map_bld.f90 @@ -80,12 +80,13 @@ subroutine mld_z_soc1_map_bld(iorder,theta,a,desc_a,nlaggr,ilaggr,info) type(psb_zspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a real(psb_dpk_), intent(in) :: theta - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) integer(psb_ipk_), intent(out) :: info ! Local variables - integer(psb_ipk_), allocatable :: ils(:), neigh(:), irow(:), icol(:),& - & ideg(:), idxs(:), tmpaggr(:) + integer(psb_ipk_), allocatable :: ils(:), neigh(:), irow(:), icol(:),& + & ideg(:), idxs(:) + integer(psb_lpk_), allocatable :: tmpaggr(:) complex(psb_dpk_), allocatable :: val(:), diag(:) integer(psb_ipk_) :: icnt,nlp,k,n,ia,isz,nr, nc, naggr,i,j,m, nz, ilg, ii, ip type(psb_z_csr_sparse_mat) :: acsr @@ -96,10 +97,12 @@ subroutine mld_z_soc1_map_bld(iorder,theta,a,desc_a,nlaggr,ilaggr,info) integer(psb_ipk_) :: nrow, ncol, n_ne character(len=20) :: name, ch_err - if (psb_get_errstatus() /= 0) return info=psb_success_ name = 'mld_soc1_map_bld' call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() ! diff --git a/mlprec/impl/aggregator/mld_z_soc2_map_bld.f90 b/mlprec/impl/aggregator/mld_z_soc2_map_bld.f90 index 255cb8d6..d7a78662 100644 --- a/mlprec/impl/aggregator/mld_z_soc2_map_bld.f90 +++ b/mlprec/impl/aggregator/mld_z_soc2_map_bld.f90 @@ -79,12 +79,13 @@ subroutine mld_z_soc2_map_bld(iorder,theta,a,desc_a,nlaggr,ilaggr,info) type(psb_zspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a real(psb_dpk_), intent(in) :: theta - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) integer(psb_ipk_), intent(out) :: info ! Local variables integer(psb_ipk_), allocatable :: ils(:), neigh(:), irow(:), icol(:),& - & ideg(:), idxs(:), tmpaggr(:) + & ideg(:), idxs(:) + integer(psb_lpk_), allocatable :: tmpaggr(:) complex(psb_dpk_), allocatable :: val(:), diag(:) integer(psb_ipk_) :: icnt,nlp,k,n,ia,isz,nr,nc,naggr,i,j,m, nz, ilg, ii, ip, ip1,nzcnt type(psb_z_csr_sparse_mat) :: acsr, muij, s_neigh @@ -96,10 +97,12 @@ subroutine mld_z_soc2_map_bld(iorder,theta,a,desc_a,nlaggr,ilaggr,info) integer(psb_ipk_) :: nrow, ncol, n_ne character(len=20) :: name, ch_err - if (psb_get_errstatus() /= 0) return info=psb_success_ name = 'mld_soc2_map_bld' call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() ! diff --git a/mlprec/impl/aggregator/mld_z_symdec_aggregator_tprol.f90 b/mlprec/impl/aggregator/mld_z_symdec_aggregator_tprol.f90 index 12dd1e53..17c5c962 100644 --- a/mlprec/impl/aggregator/mld_z_symdec_aggregator_tprol.f90 +++ b/mlprec/impl/aggregator/mld_z_symdec_aggregator_tprol.f90 @@ -85,21 +85,24 @@ subroutine mld_z_symdec_aggregator_build_tprol(ag,parms,a,desc_a,ilaggr,nlaggr, type(mld_dml_parms), intent(inout) :: parms type(psb_zspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) - type(psb_zspmat_type), intent(out) :: op_prol + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + type(psb_lzspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info ! Local variables type(psb_zspmat_type) :: atmp, atrans - character(len=20) :: name - integer(psb_mpik_) :: ictxt, np, me - integer(psb_ipk_) :: err_act - integer(psb_ipk_) :: ntaggr, nr - integer(psb_ipk_) :: debug_level, debug_unit + character(len=20) :: name + integer(psb_mpk_) :: ictxt, np, me + integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: nr + integer(psb_lpk_) :: ntaggr + integer(psb_ipk_) :: debug_level, debug_unit name='mld_z_symdec_aggregator_tprol' - if (psb_get_errstatus().ne.0) return call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() info = psb_success_ diff --git a/mlprec/impl/aggregator/mld_zaggrmat_biz_asb.f90 b/mlprec/impl/aggregator/mld_zaggrmat_biz_asb.f90 index 76ad6564..d39b9c26 100644 --- a/mlprec/impl/aggregator/mld_zaggrmat_biz_asb.f90 +++ b/mlprec/impl/aggregator/mld_zaggrmat_biz_asb.f90 @@ -88,33 +88,35 @@ subroutine mld_zaggrmat_biz_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr implicit none ! Arguments - type(psb_zspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:), nlaggr(:) - type(mld_dml_parms), intent(inout) :: parms - type(psb_zspmat_type), intent(inout) :: op_prol - type(psb_zspmat_type), intent(out) :: ac,op_restr - integer(psb_ipk_), intent(out) :: info + type(psb_zspmat_type), intent(in) :: a + type(psb_desc_type), intent(in) :: desc_a + integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) + type(mld_dml_parms), intent(inout) :: parms + type(psb_lzspmat_type), intent(inout) :: op_prol + type(psb_lzspmat_type), intent(out) :: ac,op_restr + integer(psb_ipk_), intent(out) :: info ! Local variables - integer(psb_ipk_) :: nrow, nglob, ncol, ntaggr, ip, ndx,& - & naggr, nzl,naggrm1,naggrp1, i, j, k, jd, icolF, nrw, err_act + integer(psb_lpk_) :: nrow, nglob, ncol, ntaggr, ip, & + & naggr, nzl,naggrm1,naggrp1, i, j, k, jd, icolF, nrw integer(psb_ipk_) ::ictxt, np, me character(len=20) :: name - type(psb_zspmat_type) :: am3, am4,tmp_prol - type(psb_z_coo_sparse_mat) :: tmpcoo - type(psb_z_csr_sparse_mat) :: acsr1, acsr2, acsr3, acsrf, ptilde + type(psb_lzspmat_type) :: am3, am4,tmp_prol, la + type(psb_lz_coo_sparse_mat) :: tmpcoo + type(psb_lz_csr_sparse_mat) :: acsr1, acsr2, acsr3, acsrf, ptilde complex(psb_dpk_), allocatable :: adiag(:) integer(psb_ipk_) :: ierr(5) logical :: filter_mat - integer(psb_ipk_) :: debug_level, debug_unit + integer(psb_ipk_) :: debug_level, debug_unit, err_act integer(psb_ipk_), parameter :: ncmax=16 real(psb_dpk_) :: anorm, omega, tmp, dg, theta name='mld_aggrmat_biz_asb' - if(psb_get_errstatus().ne.0) return info=psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() @@ -128,10 +130,8 @@ subroutine mld_zaggrmat_biz_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr ncol = desc_a%get_local_cols() theta = parms%aggr_thresh - naggr = nlaggr(me+1) ntaggr = sum(nlaggr) - filter_mat = (parms%aggr_filter == mld_filter_mat_) ! naggr: number of local aggregates @@ -143,8 +143,8 @@ subroutine mld_zaggrmat_biz_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr & call psb_realloc(ncol,adiag,info) if (info == psb_success_) & & call psb_halo(adiag,desc_a,info) - - if(info /= psb_success_) then + if (info == psb_success_) call a%cp_to_l(la) + if (info /= psb_success_) then call psb_errpush(psb_err_from_subroutine_,name,a_err='sp_getdiag') goto 9999 end if @@ -152,7 +152,7 @@ subroutine mld_zaggrmat_biz_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr ! 1. Allocate Ptilde in sparse matrix form call op_prol%mv_to(tmpcoo) call ptilde%mv_from_coo(tmpcoo,info) - if (info == psb_success_) call a%cscnv(acsr3,info,dupl=psb_dupl_add_) + if (info == psb_success_) call la%cscnv(acsr3,info,dupl=psb_dupl_add_) if (info /= psb_success_) goto 9999 if (debug_level >= psb_debug_outer_) & @@ -163,9 +163,9 @@ subroutine mld_zaggrmat_biz_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr ! ! Build the filtered matrix Af from A ! - if (info == psb_success_) call a%cscnv(acsrf,info,dupl=psb_dupl_add_) + if (info == psb_success_) call acsr3%cp_to_fmt(acsrf,info) - do i=1,nrow + do i=1, nrow tmp = zzero jd = -1 do j=acsrf%irp(i),acsrf%irp(i+1)-1 @@ -271,17 +271,15 @@ subroutine mld_zaggrmat_biz_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr ! Doing it this way means to consider diag(Af_i) ! ! - call psb_symbmm(acsrf,ptilde,acsr1,info) + call psb_spspmm(acsrf,ptilde,acsr1,info) if(info /= psb_success_) then - call psb_errpush(psb_err_from_subroutine_,name,a_err='symbmm 1') + call psb_errpush(psb_err_from_subroutine_,name,a_err='spspmm 1') goto 9999 end if - call psb_numbmm(acsrf,ptilde,acsr1) - if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& - & 'Done NUMBMM 1' + & 'Done SPSPMM 1' else ! @@ -307,17 +305,15 @@ subroutine mld_zaggrmat_biz_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr ! Doing it this way means to consider diag(A_i) ! ! - call psb_symbmm(acsr3,ptilde,acsr1,info) + call psb_spspmm(acsr3,ptilde,acsr1,info) if(info /= psb_success_) then - call psb_errpush(psb_err_from_subroutine_,name,a_err='symbmm 1') + call psb_errpush(psb_err_from_subroutine_,name,a_err='spspmm 1') goto 9999 end if - call psb_numbmm(acsr3,ptilde,acsr1) - if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& - & 'Done NUMBMM 1' + & 'Done SPSPMM 1' end if call ptilde%free() @@ -331,16 +327,15 @@ subroutine mld_zaggrmat_biz_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr goto 9999 end if - call psb_symbmm(a,tmp_prol,am3,info) + call psb_spspmm(la,tmp_prol,am3,info) if(info /= psb_success_) then - call psb_errpush(psb_err_from_subroutine_,name,a_err='symbmm 2') + call psb_errpush(psb_err_from_subroutine_,name,a_err='spspmm 2') goto 9999 end if - call psb_numbmm(a,tmp_prol,am3) if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& - & 'Done NUMBMM 2',parms%aggr_prol, mld_smooth_prol_ + & 'Done SPSPMM 2',parms%aggr_prol, mld_smooth_prol_ call tmp_prol%transp(op_restr) if (debug_level >= psb_debug_outer_) & @@ -353,23 +348,18 @@ subroutine mld_zaggrmat_biz_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr goto 9999 end if - if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& - & 'starting symbmm 3' - call psb_symbmm(op_restr,am3,ac,info) - if (info == psb_success_) call psb_numbmm(op_restr,am3,ac) + & 'starting spspmm 3' + call psb_spspmm(op_restr,am3,ac,info) if (info == psb_success_) call am3%free() - if (info == psb_success_) call ac%cscnv(info,type='coo',dupl=psb_dupl_add_) + if (info == psb_success_) call ac%cscnv(info,type='csr',dupl=psb_dupl_add_) if (info /= psb_success_) then call psb_errpush(psb_err_internal_error_,name,a_err='Build b = op_restr x am3') goto 9999 end if - - - if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& & 'Done smooth_aggregate ' diff --git a/mlprec/impl/aggregator/mld_zaggrmat_minnrg_asb.f90 b/mlprec/impl/aggregator/mld_zaggrmat_minnrg_asb.f90 index 8505f61c..8f121c6a 100644 --- a/mlprec/impl/aggregator/mld_zaggrmat_minnrg_asb.f90 +++ b/mlprec/impl/aggregator/mld_zaggrmat_minnrg_asb.f90 @@ -114,37 +114,38 @@ subroutine mld_zaggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re ! Arguments type(psb_zspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:), nlaggr(:) - type(mld_dml_parms), intent(inout) :: parms - type(psb_zspmat_type), intent(inout) :: op_prol - type(psb_zspmat_type), intent(out) :: ac,op_restr + integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) + type(mld_dml_parms), intent(inout) :: parms + type(psb_lzspmat_type), intent(inout) :: op_prol + type(psb_lzspmat_type), intent(out) :: ac,op_restr integer(psb_ipk_), intent(out) :: info ! Local variables - integer(psb_ipk_), allocatable :: nzbr(:), idisp(:) - integer(psb_ipk_) :: nrow, nglob, ncol, ntaggr, nzac, ip, ndx,& - & naggr, nzl,naggrm1,naggrp1, i, j, k, jd, icolF, nrt, err_act + integer(psb_lpk_) :: nrow, nglob, ncol, ntaggr, nzac, ip, ndx,& + & naggr, nzl,naggrm1,naggrp1, i, j, k, jd, icolF, nrt integer(psb_ipk_) :: ictxt,np,me, icomm character(len=20) :: name - type(psb_zspmat_type) :: af, ptilde, rtilde, atran, atp, atdatp - type(psb_zspmat_type) :: am3,am4, ap, adap,atmp,rada, ra, atmp2, dap, dadap, da - type(psb_zspmat_type) :: dat, datp, datdatp, atmp3, tmp_prol - type(psb_z_coo_sparse_mat) :: tmpcoo - type(psb_z_csr_sparse_mat) :: acsr1, acsr2, acsr3, acsr, acsrf - type(psb_z_csc_sparse_mat) :: csc_dap, csc_dadap, csc_datp, csc_datdatp, acsc + type(psb_lzspmat_type) :: la, af, ptilde, rtilde, atran, atp, atdatp + type(psb_lzspmat_type) :: am3,am4, ap, adap,atmp,rada, ra, atmp2, dap, dadap, da + type(psb_lzspmat_type) :: dat, datp, datdatp, atmp3, tmp_prol + type(psb_lz_coo_sparse_mat) :: tmpcoo + type(psb_lz_csr_sparse_mat) :: acsr1, acsr2, acsr3, acsr, acsrf + type(psb_lz_csc_sparse_mat) :: csc_dap, csc_dadap, csc_datp, csc_datdatp, acsc complex(psb_dpk_), allocatable :: adiag(:), adinv(:) complex(psb_dpk_), allocatable :: omf(:), omp(:), omi(:), oden(:) logical :: filter_mat integer(psb_ipk_) :: ierr(5) - integer(psb_ipk_) :: debug_level, debug_unit + integer(psb_ipk_) :: debug_level, debug_unit, err_act integer(psb_ipk_), parameter :: ncmax=16 real(psb_dpk_) :: anorm, theta complex(psb_dpk_) :: tmp, alpha, beta, ommx name='mld_aggrmat_minnrg' - if(psb_get_errstatus().ne.0) return info=psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() @@ -163,13 +164,6 @@ subroutine mld_zaggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re naggr = nlaggr(me+1) ntaggr = sum(nlaggr) - allocate(nzbr(np), idisp(np),stat=info) - if (info /= psb_success_) then - info=psb_err_alloc_request_; ierr(1)=2*np; - call psb_errpush(info,name,i_err=ierr,a_err='integer') - goto 9999 - end if - naggrm1 = sum(nlaggr(1:me)) naggrp1 = sum(nlaggr(1:me+1)) @@ -193,6 +187,11 @@ subroutine mld_zaggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re & call psb_realloc(ncol,adiag,info) if (info == psb_success_) & & call psb_halo(adiag,desc_a,info) + if (info == psb_success_) call a%cp_to_l(la) + if (info /= psb_success_) then + call psb_errpush(psb_err_from_subroutine_,name,a_err='sp_getdiag') + goto 9999 + end if do i=1,size(adiag) if (adiag(i) /= zzero) then @@ -202,10 +201,6 @@ subroutine mld_zaggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re end if end do - if (info /= psb_success_) then - call psb_errpush(psb_err_from_subroutine_,name,a_err='sp_getdiag') - goto 9999 - end if ! 1. Allocate Ptilde in sparse matrix form @@ -213,8 +208,8 @@ subroutine mld_zaggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re call ptilde%mv_from(tmpcoo) call ptilde%cscnv(info,type='csr') - if (info == psb_success_) call a%cscnv(am3,info,type='csr',dupl=psb_dupl_add_) - if (info == psb_success_) call a%cscnv(da,info,type='csr',dupl=psb_dupl_add_) + if (info == psb_success_) call la%cscnv(am3,info,type='csr',dupl=psb_dupl_add_) + if (info == psb_success_) call la%cscnv(da,info,type='csr',dupl=psb_dupl_add_) if (info /= psb_success_) then call psb_errpush(psb_err_from_subroutine_,name,a_err='spcnv') goto 9999 @@ -225,11 +220,10 @@ subroutine mld_zaggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re call da%scal(adinv,info) - call psb_symbmm(da,ptilde,dap,info) - if (info == psb_success_) call psb_numbmm(da,ptilde,dap) + call psb_spspmm(da,ptilde,dap,info) if(info /= psb_success_) then - call psb_errpush(psb_err_from_subroutine_,name,a_err='symbmm 1') + call psb_errpush(psb_err_from_subroutine_,name,a_err='spspmm 1') goto 9999 end if @@ -240,8 +234,7 @@ subroutine mld_zaggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re if (info == psb_success_) call psb_rwextd(ncol,atmp,info,b=am4) if (info == psb_success_) call am4%free() - call psb_symbmm(da,atmp,dadap,info) - call psb_numbmm(da,atmp,dadap) + call psb_spspmm(da,atmp,dadap,info) call atmp%free() ! !$ write(0,*) 'Columns of AP',psb_sp_get_ncols(ap) @@ -249,7 +242,6 @@ subroutine mld_zaggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re call dap%mv_to(csc_dap) call dadap%mv_to(csc_dadap) - call csc_mat_col_prod(csc_dap,csc_dadap,omp,info) call csc_mat_col_prod(csc_dadap,csc_dadap,oden,info) call psb_sum(ictxt,omp) @@ -287,7 +279,7 @@ subroutine mld_zaggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re ! ! Build the filtered matrix Af from A ! - call a%cscnv(acsrf,info,dupl=psb_dupl_add_) + call la%cscnv(acsrf,info,dupl=psb_dupl_add_) do i=1,nrow tmp = zzero @@ -327,23 +319,14 @@ subroutine mld_zaggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re call af%mv_from(acsrf) ! - ! Symbmm90 does the allocation for its result. - ! ! op_prol = (I-w*D*Af)Ptilde ! Doing it this way means to consider diag(Af_i) ! ! - call psb_symbmm(af,ptilde,op_prol,info) - if(info /= psb_success_) then - call psb_errpush(psb_err_from_subroutine_,name,a_err='symbmm 1') - goto 9999 - end if - - call psb_numbmm(af,ptilde,op_prol) - + call psb_spspmm(af,ptilde,op_prol,info) if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& - & 'Done NUMBMM 1' + & 'Done SPSPMM 1' else ! ! Build the smoothed prolongator using the original matrix @@ -363,19 +346,11 @@ subroutine mld_zaggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re & write(debug_unit,*) me,' ',trim(name),& & 'Done gather, going for SYMBMM 1' ! - ! Symbmm90 does the allocation for its result. ! ! op_prol = (I-w*D*A)Ptilde ! ! - call psb_symbmm(am3,ptilde,op_prol,info) - if(info /= psb_success_) then - call psb_errpush(psb_err_from_subroutine_,name,a_err='symbmm 1') - goto 9999 - end if - - call psb_numbmm(am3,ptilde,op_prol) - + call psb_spspmm(am3,ptilde,op_prol,info) if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& & 'Done NUMBMM 1' @@ -387,11 +362,11 @@ subroutine mld_zaggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re ! Ok, let's start over with the restrictor ! call ptilde%transc(rtilde) - call a%cscnv(atmp,info,type='csr') + call la%cscnv(atmp,info,type='csr') call psb_sphalo(atmp,desc_a,am4,info,& & colcnv=.true.,rowscale=.true.) nrt = am4%get_nrows() - call am4%csclip(atmp2,info,ione,nrt,ione,ncol) + call am4%csclip(atmp2,info,lone,nrt,lone,ncol) call atmp2%cscnv(info,type='CSR') if (info == psb_success_) call psb_rwextd(ncol,atmp,info,b=atmp2) call am4%free() @@ -400,13 +375,12 @@ subroutine mld_zaggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re ! This is to compute the transpose. It ONLY works if the ! original A has a symmetric pattern. call atmp%transc(atmp2) - call atmp2%csclip(dat,info,ione,nrow,ione,ncol) + call atmp2%csclip(dat,info,lone,nrow,lone,ncol) call dat%cscnv(info,type='csr') call dat%scal(adinv,info) ! Now for the product. - call psb_symbmm(dat,ptilde,datp,info) - if (info == psb_success_) call psb_numbmm(dat,ptilde,datp) + call psb_spspmm(dat,ptilde,datp,info) call datp%clone(atmp2,info) call psb_sphalo(atmp2,desc_a,am4,info,& @@ -484,8 +458,7 @@ subroutine mld_zaggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re call rtilde%mv_from(tmpcoo) call rtilde%cscnv(info,type='csr') - call psb_symbmm(rtilde,atmp,op_restr,info) - call psb_numbmm(rtilde,atmp,op_restr) + call psb_spspmm(rtilde,atmp,op_restr,info) ! ! Now we have to gather the halo of op_prol, and add it to itself @@ -527,16 +500,10 @@ subroutine mld_zaggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re & write(debug_unit,*) me,' ',trim(name),& & 'starting sphalo/ rwxtd' - call psb_symbmm(a,tmp_prol,am3,info) - if(info /= psb_success_) then - call psb_errpush(psb_err_from_subroutine_,name,& - & a_err='symbmm 2') - goto 9999 - end if - call psb_numbmm(a,tmp_prol,am3) + call psb_spspmm(la,tmp_prol,am3,info) if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& - & 'Done NUMBMM 2' + & 'Done SPSPMM 2' call psb_sphalo(am3,desc_a,am4,info,& & colcnv=.false.,rowscale=.true.) @@ -552,8 +519,7 @@ subroutine mld_zaggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re & write(debug_unit,*) me,' ',trim(name),& & 'Done sphalo/ rwxtd' - call psb_symbmm(op_restr,am3,ac,info) - if (info == psb_success_) call psb_numbmm(op_restr,am3,ac) + call psb_spspmm(op_restr,am3,ac,info) if (info == psb_success_) call am3%free() if (info == psb_success_) call ac%cscnv(info,type='coo',dupl=psb_dupl_add_) @@ -581,11 +547,11 @@ contains subroutine csc_mat_col_prod(a,b,v,info) implicit none - type(psb_z_csc_sparse_mat), intent(in) :: a, b + type(psb_lz_csc_sparse_mat), intent(in) :: a, b complex(psb_dpk_), intent(out) :: v(:) integer(psb_ipk_), intent(out) :: info - integer(psb_ipk_) :: i,j,k, nr, nc,iap,nra,ibp,nrb + integer(psb_lpk_) :: i,j,k, nr, nc,iap,nra,ibp,nrb info = psb_success_ nc = a%get_ncols() @@ -609,11 +575,11 @@ contains subroutine csr_mat_row_prod(a,b,v,info) implicit none - type(psb_z_csr_sparse_mat), intent(in) :: a, b + type(psb_lz_csr_sparse_mat), intent(in) :: a, b complex(psb_dpk_), intent(out) :: v(:) integer(psb_ipk_), intent(out) :: info - integer(psb_ipk_) :: i,j,k, nr, nc,iap,nca,ibp,ncb + integer(psb_lpk_) :: i,j,k, nr, nc,iap,nca,ibp,ncb info = psb_success_ nr = a%get_nrows() @@ -637,12 +603,12 @@ contains function sparse_srtd_dot(nv1,iv1,v1,nv2,iv2,v2) result(dot) implicit none - integer(psb_ipk_), intent(in) :: nv1,nv2 - integer(psb_ipk_), intent(in) :: iv1(:), iv2(:) + integer(psb_lpk_), intent(in) :: nv1,nv2 + integer(psb_lpk_), intent(in) :: iv1(:), iv2(:) complex(psb_dpk_), intent(in) :: v1(:),v2(:) complex(psb_dpk_) :: dot - integer(psb_ipk_) :: i,j,k, ip1, ip2 + integer(psb_lpk_) :: i,j,k, ip1, ip2 dot = zzero ip1 = 1 @@ -665,7 +631,7 @@ contains end function sparse_srtd_dot subroutine local_dump(me,mat,name,header) - type(psb_zspmat_type), intent(in) :: mat + type(psb_lzspmat_type), intent(in) :: mat integer(psb_ipk_), intent(in) :: me character(len=*), intent(in) :: name character(len=*), intent(in) :: header diff --git a/mlprec/impl/aggregator/mld_zaggrmat_nosmth_asb.f90 b/mlprec/impl/aggregator/mld_zaggrmat_nosmth_asb.f90 index d6905cb0..30a8502b 100644 --- a/mlprec/impl/aggregator/mld_zaggrmat_nosmth_asb.f90 +++ b/mlprec/impl/aggregator/mld_zaggrmat_nosmth_asb.f90 @@ -106,28 +106,30 @@ subroutine mld_zaggrmat_nosmth_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re ! Arguments type(psb_zspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:), nlaggr(:) + integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) type(mld_dml_parms), intent(inout) :: parms - type(psb_zspmat_type), intent(inout) :: op_prol - type(psb_zspmat_type), intent(out) :: ac,op_restr + type(psb_lzspmat_type), intent(inout) :: op_prol + type(psb_lzspmat_type), intent(out) :: ac,op_restr integer(psb_ipk_), intent(out) :: info ! Local variables integer(psb_ipk_) :: err_act - integer(psb_ipk_) :: ictxt,np,me, icomm, ndx, minfo + integer(psb_ipk_) :: ictxt, np, me, icomm, minfo character(len=20) :: name - integer(psb_ipk_) :: ierr(5) - type(psb_z_coo_sparse_mat) :: ac_coo, tmpcoo - type(psb_z_csr_sparse_mat) :: acsr1, acsr2 + integer(psb_ipk_) :: ierr(5) + type(psb_lzspmat_type) :: la + type(psb_lz_coo_sparse_mat) :: ac_coo, tmpcoo + type(psb_lz_csr_sparse_mat) :: acsr1, acsr2 integer(psb_ipk_) :: debug_level, debug_unit - integer(psb_ipk_) :: nrow, nglob, ncol, ntaggr, nzl, ip, & + integer(psb_lpk_) :: nrow, nglob, ncol, ntaggr, nzl, ip, & & naggr, nzt, naggrm1, naggrp1, i, k - name='mld_aggrmat_nosmth_asb' - if(psb_get_errstatus().ne.0) return - info=psb_success_ + name = 'mld_aggrmat_nosmth_asb' + info = psb_success_ call psb_erractionsave(err_act) - + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if ictxt = desc_a%get_context() icomm = desc_a%get_mpic() @@ -136,24 +138,23 @@ subroutine mld_zaggrmat_nosmth_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re nrow = desc_a%get_local_rows() ncol = desc_a%get_local_cols() - naggr = nlaggr(me+1) ntaggr = sum(nlaggr) naggrm1 = sum(nlaggr(1:me)) naggrp1 = sum(nlaggr(1:me+1)) - + call op_prol%cp_to(tmpcoo) call op_prol%cscnv(info,type='csr',dupl=psb_dupl_add_) call tmpcoo%transp() - nzl = tmpcoo%get_nzeros() - i=0 ! ! Now we have to fix this. The only rows of tmpcoo/op_restr that are correct ! are those corresponding to "local" aggregates, i.e. indices in ilaggr(:) ! - do k=1, nzl + nzl = tmpcoo%get_nzeros() + i = 0 + do k = 1, nzl if ((naggrm1 < tmpcoo%ia(k)) .and.(tmpcoo%ia(k) <= naggrp1)) then i = i+1 tmpcoo%val(i) = tmpcoo%val(k) @@ -168,11 +169,11 @@ subroutine mld_zaggrmat_nosmth_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_re if (info /= psb_success_) goto 9999 - call a%cp_to(ac_coo) - + call a%cp_to_l(la) + call la%mv_to(ac_coo) nzt = ac_coo%get_nzeros() - k = 0 - do i=1, nzt + k = 0 + do i = 1, nzt k = k + 1 ac_coo%ia(k) = ilaggr(ac_coo%ia(i)) ac_coo%ja(k) = ilaggr(ac_coo%ja(i)) diff --git a/mlprec/impl/aggregator/mld_zaggrmat_smth_asb.f90 b/mlprec/impl/aggregator/mld_zaggrmat_smth_asb.f90 index 02f2ebe6..41dd3d06 100644 --- a/mlprec/impl/aggregator/mld_zaggrmat_smth_asb.f90 +++ b/mlprec/impl/aggregator/mld_zaggrmat_smth_asb.f90 @@ -65,14 +65,7 @@ ! specified by the user through mld_zprecinit and mld_zprecset. ! On output from this routine the entries of AC, op_prol, op_restr ! are still in "global numbering" mode; this is fixed in the calling routine -! mld_z_lev_aggrmat_asb. -! -! For more details see -! M. Brezina and P. Vanek, A black-box iterative solver based on a -! two-level Schwarz method, Computing, 63 (1999), 233-263. -! P. D'Ambra, D. di Serafino and S. Filippone, On the development of -! PSBLAS-based parallel two-level Schwarz preconditioners, Appl. Num. Math. -! 57 (2007), 1181-1196. +! aggregator%mat_asb. ! ! ! Arguments: @@ -117,37 +110,38 @@ subroutine mld_zaggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_rest implicit none ! Arguments - type(psb_zspmat_type), intent(in) :: a - type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:), nlaggr(:) - type(mld_dml_parms), intent(inout) :: parms - type(psb_zspmat_type), intent(inout) :: op_prol - type(psb_zspmat_type), intent(out) :: ac,op_restr - integer(psb_ipk_), intent(out) :: info + type(psb_zspmat_type), intent(in) :: a + type(psb_desc_type), intent(in) :: desc_a + integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) + type(mld_dml_parms), intent(inout) :: parms + type(psb_lzspmat_type), intent(inout) :: op_prol + type(psb_lzspmat_type), intent(out) :: ac,op_restr + integer(psb_ipk_), intent(out) :: info ! Local variables - integer(psb_ipk_) :: nrow, nglob, ncol, ntaggr, ip, ndx,& - & naggr, nzl,naggrm1,naggrp1, i, j, k, jd, icolF, nrw, err_act - integer(psb_ipk_) ::ictxt, np, me + integer(psb_lpk_) :: nrow, nglob, ncol, ntaggr, ip, & + & naggr, nzl,naggrm1,naggrp1, i, j, k, jd, icolF, nrw + integer(psb_ipk_) :: ictxt, np, me character(len=20) :: name - type(psb_zspmat_type) :: am3, am4, tmp_prol - type(psb_z_coo_sparse_mat) :: tmpcoo - type(psb_z_csr_sparse_mat) :: acsr1, acsr2, acsr3, acsrf, ptilde + type(psb_lzspmat_type) :: la, am3, am4, tmp_prol + type(psb_lz_coo_sparse_mat) :: tmpcoo + type(psb_lz_csr_sparse_mat) :: acsr1, acsr2, acsr3, acsrf, ptilde complex(psb_dpk_), allocatable :: adiag(:) integer(psb_ipk_) :: ierr(5) logical :: filter_mat - integer(psb_ipk_) :: debug_level, debug_unit + integer(psb_ipk_) :: debug_level, debug_unit, err_act integer(psb_ipk_), parameter :: ncmax=16 real(psb_dpk_) :: anorm, omega, tmp, dg, theta name='mld_aggrmat_smth_asb' - if(psb_get_errstatus().ne.0) return info=psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() - ictxt = desc_a%get_context() ictxt = desc_a%get_context() call psb_info(ictxt, me, np) @@ -176,6 +170,7 @@ subroutine mld_zaggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_rest & call psb_realloc(ncol,adiag,info) if (info == psb_success_) & & call psb_halo(adiag,desc_a,info) + if (info == psb_success_) call a%cp_to_l(la) if(info /= psb_success_) then call psb_errpush(psb_err_from_subroutine_,name,a_err='sp_getdiag') @@ -185,7 +180,7 @@ subroutine mld_zaggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_rest ! 1. Allocate Ptilde in sparse matrix form call op_prol%mv_to(tmpcoo) call ptilde%mv_from_coo(tmpcoo,info) - if (info == psb_success_) call a%cscnv(acsr3,info,dupl=psb_dupl_add_) + if (info == psb_success_) call la%cscnv(acsr3,info,dupl=psb_dupl_add_) if (info /= psb_success_) goto 9999 if (debug_level >= psb_debug_outer_) & @@ -198,7 +193,7 @@ subroutine mld_zaggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_rest ! if (info == psb_success_) call acsr3%cp_to_fmt(acsrf,info) - do i=1,nrow + do i=1, nrow tmp = zzero jd = -1 do j=acsrf%irp(i),acsrf%irp(i+1)-1 @@ -342,7 +337,7 @@ subroutine mld_zaggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_rest goto 9999 end if - call psb_spspmm(a,tmp_prol,am3,info) + call psb_spspmm(la,tmp_prol,am3,info) if(info /= psb_success_) then call psb_errpush(psb_err_from_subroutine_,name,a_err='spspmm 2') goto 9999 diff --git a/mlprec/impl/level/mld_c_base_onelev_build.f90 b/mlprec/impl/level/mld_c_base_onelev_build.f90 index bc3c3a15..c8c2d08b 100644 --- a/mlprec/impl/level/mld_c_base_onelev_build.f90 +++ b/mlprec/impl/level/mld_c_base_onelev_build.f90 @@ -53,10 +53,12 @@ subroutine mld_c_base_onelev_build(lv,info,amold,vmold,imold) character(len=20) :: name, ch_err name = 'mld_onelev_build' - if (psb_get_errstatus().ne.0) return info=psb_success_ err=0 call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() if (.not.associated(lv%base_desc)) then diff --git a/mlprec/impl/level/mld_c_base_onelev_mat_asb.f90 b/mlprec/impl/level/mld_c_base_onelev_mat_asb.f90 index b02df225..958e44c9 100644 --- a/mlprec/impl/level/mld_c_base_onelev_mat_asb.f90 +++ b/mlprec/impl/level/mld_c_base_onelev_mat_asb.f90 @@ -95,24 +95,29 @@ subroutine mld_c_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) class(mld_c_onelev_type), intent(inout), target :: lv type(psb_cspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:),nlaggr(:) - type(psb_cspmat_type), intent(inout) :: op_prol + integer(psb_lpk_), intent(inout) :: nlaggr(:) + integer(psb_lpk_), intent(inout) :: ilaggr(:) + type(psb_lcspmat_type), intent(inout) :: op_prol integer(psb_ipk_), intent(out) :: info ! Local variables character(len=24) :: name - integer(psb_mpik_) :: ictxt, np, me + integer(psb_ipk_) :: ictxt, np, me integer(psb_ipk_) :: err_act - type(psb_cspmat_type) :: ac, op_restr - type(psb_c_coo_sparse_mat) :: acoo, bcoo - type(psb_c_csr_sparse_mat) :: acsr1 - integer(psb_ipk_) :: nzl, ntaggr + type(psb_lcspmat_type) :: lac, lac1, op_restr + type(psb_cspmat_type) :: ac, iop_restr, iop_prol + type(psb_lc_coo_sparse_mat) :: acoo, bcoo + type(psb_lc_csr_sparse_mat) :: acsr1 + integer(psb_lpk_) :: ntaggr, nr, nc + integer(psb_ipk_) :: nzl, inl integer(psb_ipk_) :: debug_level, debug_unit name='mld_c_onelev_mat_asb' - if (psb_get_errstatus().ne.0) return call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() info = psb_success_ @@ -137,7 +142,7 @@ subroutine mld_c_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) ! the mapping defined by mld_aggrmap_bld and applying the aggregation ! algorithm specified by lv%iprcparm(mld_aggr_prol_) ! - call lv%aggr%mat_asb(lv%parms,a,desc_a,ilaggr,nlaggr,ac,op_prol,op_restr,info) + call lv%aggr%mat_asb(lv%parms,a,desc_a,ilaggr,nlaggr,lac,op_prol,op_restr,info) if(info /= psb_success_) then call psb_errpush(psb_err_from_subroutine_,name,a_err='mld_aggrmat_asb') @@ -153,10 +158,16 @@ subroutine mld_c_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) case(mld_distr_mat_) - call ac%mv_to(bcoo) + call lac%mv_to(bcoo) nzl = bcoo%get_nzeros() - - if (info == psb_success_) call psb_cdall(ictxt,lv%desc_ac,info,nl=nlaggr(me+1)) + inl = nlaggr(me+1) + if (inl < nlaggr(me+1)) then + info = psb_err_bad_int_cnv_ + call psb_errpush(info,name,& + & l_err=(/nlaggr(me+1),inl*1_psb_lpk_/)) + goto 9999 + end if + if (info == psb_success_) call psb_cdall(ictxt,lv%desc_ac,info,nl=inl) if (info == psb_success_) call psb_cdins(nzl,bcoo%ia,bcoo%ja,lv%desc_ac,info) if (info == psb_success_) call psb_cdasb(lv%desc_ac,info) if (info == psb_success_) call psb_glob_to_loc(bcoo%ia(1:nzl),lv%desc_ac,info,iact='I') @@ -169,7 +180,8 @@ subroutine mld_c_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& & 'Assembld aux descr. distr.' - call lv%ac%mv_from(bcoo) + call lac%mv_from(bcoo) + call lv%ac%mv_from_l(lac) call lv%ac%set_nrows(lv%desc_ac%get_local_rows()) call lv%ac%set_ncols(lv%desc_ac%get_local_cols()) @@ -190,7 +202,8 @@ subroutine mld_c_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) end if call op_prol%mv_from(acsr1) endif - call op_prol%set_ncols(lv%desc_ac%get_local_cols()) + nc = lv%desc_ac%get_local_cols() + call op_prol%set_ncols(nc) if (np>1) then call op_restr%cscnv(info,type='coo',dupl=psb_dupl_add_) @@ -209,7 +222,8 @@ subroutine mld_c_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) ! ! Clip to local rows. ! - call op_restr%set_nrows(lv%desc_ac%get_local_rows()) + nr = lv%desc_ac%get_local_rows() + call op_restr%set_nrows(nr) if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& @@ -218,11 +232,12 @@ subroutine mld_c_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) case(mld_repl_mat_) ! ! + call psb_cdall(ictxt,lv%desc_ac,info,mg=ntaggr,repl=.true.) if (info == psb_success_) call psb_cdasb(lv%desc_ac,info) if (info == psb_success_) & - & call psb_gather(lv%ac,ac,lv%desc_ac,info,dupl=psb_dupl_add_,keeploc=.false.) - + & call psb_gather(lac1,lac,lv%desc_ac,info,dupl=psb_dupl_add_,keeploc=.false.) + call lv%ac%mv_from_l(lac1) if (info /= psb_success_) goto 9999 case default @@ -242,11 +257,12 @@ subroutine mld_c_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) ! op_restr => PR^T i.e. restriction operator ! op_prol => PR i.e. prolongation operator ! - + call iop_restr%mv_from_l(op_restr) + call iop_prol%mv_from_l(op_prol) lv%map = psb_linmap(psb_map_aggr_,desc_a,& - & lv%desc_ac,op_restr,op_prol,ilaggr,nlaggr) - if (info == psb_success_) call op_prol%free() - if (info == psb_success_) call op_restr%free() + & lv%desc_ac,iop_restr,iop_prol,ilaggr,nlaggr) + if (info == psb_success_) call iop_prol%free() + if (info == psb_success_) call iop_restr%free() if(info /= psb_success_) then call psb_errpush(psb_err_from_subroutine_,name,a_err='sp_Free') goto 9999 diff --git a/mlprec/impl/level/mld_d_base_onelev_build.f90 b/mlprec/impl/level/mld_d_base_onelev_build.f90 index 11e7fb5d..61f13ee9 100644 --- a/mlprec/impl/level/mld_d_base_onelev_build.f90 +++ b/mlprec/impl/level/mld_d_base_onelev_build.f90 @@ -53,10 +53,12 @@ subroutine mld_d_base_onelev_build(lv,info,amold,vmold,imold) character(len=20) :: name, ch_err name = 'mld_onelev_build' - if (psb_get_errstatus().ne.0) return info=psb_success_ err=0 call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() if (.not.associated(lv%base_desc)) then diff --git a/mlprec/impl/level/mld_d_base_onelev_mat_asb.f90 b/mlprec/impl/level/mld_d_base_onelev_mat_asb.f90 index 95b09136..f8282108 100644 --- a/mlprec/impl/level/mld_d_base_onelev_mat_asb.f90 +++ b/mlprec/impl/level/mld_d_base_onelev_mat_asb.f90 @@ -95,24 +95,29 @@ subroutine mld_d_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) class(mld_d_onelev_type), intent(inout), target :: lv type(psb_dspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:),nlaggr(:) - type(psb_dspmat_type), intent(inout) :: op_prol + integer(psb_lpk_), intent(inout) :: nlaggr(:) + integer(psb_lpk_), intent(inout) :: ilaggr(:) + type(psb_ldspmat_type), intent(inout) :: op_prol integer(psb_ipk_), intent(out) :: info ! Local variables character(len=24) :: name - integer(psb_mpik_) :: ictxt, np, me + integer(psb_ipk_) :: ictxt, np, me integer(psb_ipk_) :: err_act - type(psb_dspmat_type) :: ac, op_restr - type(psb_d_coo_sparse_mat) :: acoo, bcoo - type(psb_d_csr_sparse_mat) :: acsr1 - integer(psb_ipk_) :: nzl, ntaggr + type(psb_ldspmat_type) :: lac, lac1, op_restr + type(psb_dspmat_type) :: ac, iop_restr, iop_prol + type(psb_ld_coo_sparse_mat) :: acoo, bcoo + type(psb_ld_csr_sparse_mat) :: acsr1 + integer(psb_lpk_) :: ntaggr, nr, nc + integer(psb_ipk_) :: nzl, inl integer(psb_ipk_) :: debug_level, debug_unit name='mld_d_onelev_mat_asb' - if (psb_get_errstatus().ne.0) return call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() info = psb_success_ @@ -137,7 +142,7 @@ subroutine mld_d_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) ! the mapping defined by mld_aggrmap_bld and applying the aggregation ! algorithm specified by lv%iprcparm(mld_aggr_prol_) ! - call lv%aggr%mat_asb(lv%parms,a,desc_a,ilaggr,nlaggr,ac,op_prol,op_restr,info) + call lv%aggr%mat_asb(lv%parms,a,desc_a,ilaggr,nlaggr,lac,op_prol,op_restr,info) if(info /= psb_success_) then call psb_errpush(psb_err_from_subroutine_,name,a_err='mld_aggrmat_asb') @@ -153,10 +158,16 @@ subroutine mld_d_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) case(mld_distr_mat_) - call ac%mv_to(bcoo) + call lac%mv_to(bcoo) nzl = bcoo%get_nzeros() - - if (info == psb_success_) call psb_cdall(ictxt,lv%desc_ac,info,nl=nlaggr(me+1)) + inl = nlaggr(me+1) + if (inl < nlaggr(me+1)) then + info = psb_err_bad_int_cnv_ + call psb_errpush(info,name,& + & l_err=(/nlaggr(me+1),inl*1_psb_lpk_/)) + goto 9999 + end if + if (info == psb_success_) call psb_cdall(ictxt,lv%desc_ac,info,nl=inl) if (info == psb_success_) call psb_cdins(nzl,bcoo%ia,bcoo%ja,lv%desc_ac,info) if (info == psb_success_) call psb_cdasb(lv%desc_ac,info) if (info == psb_success_) call psb_glob_to_loc(bcoo%ia(1:nzl),lv%desc_ac,info,iact='I') @@ -169,7 +180,8 @@ subroutine mld_d_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& & 'Assembld aux descr. distr.' - call lv%ac%mv_from(bcoo) + call lac%mv_from(bcoo) + call lv%ac%mv_from_l(lac) call lv%ac%set_nrows(lv%desc_ac%get_local_rows()) call lv%ac%set_ncols(lv%desc_ac%get_local_cols()) @@ -190,7 +202,8 @@ subroutine mld_d_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) end if call op_prol%mv_from(acsr1) endif - call op_prol%set_ncols(lv%desc_ac%get_local_cols()) + nc = lv%desc_ac%get_local_cols() + call op_prol%set_ncols(nc) if (np>1) then call op_restr%cscnv(info,type='coo',dupl=psb_dupl_add_) @@ -209,7 +222,8 @@ subroutine mld_d_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) ! ! Clip to local rows. ! - call op_restr%set_nrows(lv%desc_ac%get_local_rows()) + nr = lv%desc_ac%get_local_rows() + call op_restr%set_nrows(nr) if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& @@ -218,11 +232,12 @@ subroutine mld_d_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) case(mld_repl_mat_) ! ! + call psb_cdall(ictxt,lv%desc_ac,info,mg=ntaggr,repl=.true.) if (info == psb_success_) call psb_cdasb(lv%desc_ac,info) if (info == psb_success_) & - & call psb_gather(lv%ac,ac,lv%desc_ac,info,dupl=psb_dupl_add_,keeploc=.false.) - + & call psb_gather(lac1,lac,lv%desc_ac,info,dupl=psb_dupl_add_,keeploc=.false.) + call lv%ac%mv_from_l(lac1) if (info /= psb_success_) goto 9999 case default @@ -242,11 +257,12 @@ subroutine mld_d_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) ! op_restr => PR^T i.e. restriction operator ! op_prol => PR i.e. prolongation operator ! - + call iop_restr%mv_from_l(op_restr) + call iop_prol%mv_from_l(op_prol) lv%map = psb_linmap(psb_map_aggr_,desc_a,& - & lv%desc_ac,op_restr,op_prol,ilaggr,nlaggr) - if (info == psb_success_) call op_prol%free() - if (info == psb_success_) call op_restr%free() + & lv%desc_ac,iop_restr,iop_prol,ilaggr,nlaggr) + if (info == psb_success_) call iop_prol%free() + if (info == psb_success_) call iop_restr%free() if(info /= psb_success_) then call psb_errpush(psb_err_from_subroutine_,name,a_err='sp_Free') goto 9999 diff --git a/mlprec/impl/level/mld_s_base_onelev_build.f90 b/mlprec/impl/level/mld_s_base_onelev_build.f90 index 3e71496d..8f3acfd0 100644 --- a/mlprec/impl/level/mld_s_base_onelev_build.f90 +++ b/mlprec/impl/level/mld_s_base_onelev_build.f90 @@ -53,10 +53,12 @@ subroutine mld_s_base_onelev_build(lv,info,amold,vmold,imold) character(len=20) :: name, ch_err name = 'mld_onelev_build' - if (psb_get_errstatus().ne.0) return info=psb_success_ err=0 call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() if (.not.associated(lv%base_desc)) then diff --git a/mlprec/impl/level/mld_s_base_onelev_mat_asb.f90 b/mlprec/impl/level/mld_s_base_onelev_mat_asb.f90 index be91ae19..48c05088 100644 --- a/mlprec/impl/level/mld_s_base_onelev_mat_asb.f90 +++ b/mlprec/impl/level/mld_s_base_onelev_mat_asb.f90 @@ -95,24 +95,29 @@ subroutine mld_s_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) class(mld_s_onelev_type), intent(inout), target :: lv type(psb_sspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:),nlaggr(:) - type(psb_sspmat_type), intent(inout) :: op_prol + integer(psb_lpk_), intent(inout) :: nlaggr(:) + integer(psb_lpk_), intent(inout) :: ilaggr(:) + type(psb_lsspmat_type), intent(inout) :: op_prol integer(psb_ipk_), intent(out) :: info ! Local variables character(len=24) :: name - integer(psb_mpik_) :: ictxt, np, me + integer(psb_ipk_) :: ictxt, np, me integer(psb_ipk_) :: err_act - type(psb_sspmat_type) :: ac, op_restr - type(psb_s_coo_sparse_mat) :: acoo, bcoo - type(psb_s_csr_sparse_mat) :: acsr1 - integer(psb_ipk_) :: nzl, ntaggr + type(psb_lsspmat_type) :: lac, lac1, op_restr + type(psb_sspmat_type) :: ac, iop_restr, iop_prol + type(psb_ls_coo_sparse_mat) :: acoo, bcoo + type(psb_ls_csr_sparse_mat) :: acsr1 + integer(psb_lpk_) :: ntaggr, nr, nc + integer(psb_ipk_) :: nzl, inl integer(psb_ipk_) :: debug_level, debug_unit name='mld_s_onelev_mat_asb' - if (psb_get_errstatus().ne.0) return call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() info = psb_success_ @@ -137,7 +142,7 @@ subroutine mld_s_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) ! the mapping defined by mld_aggrmap_bld and applying the aggregation ! algorithm specified by lv%iprcparm(mld_aggr_prol_) ! - call lv%aggr%mat_asb(lv%parms,a,desc_a,ilaggr,nlaggr,ac,op_prol,op_restr,info) + call lv%aggr%mat_asb(lv%parms,a,desc_a,ilaggr,nlaggr,lac,op_prol,op_restr,info) if(info /= psb_success_) then call psb_errpush(psb_err_from_subroutine_,name,a_err='mld_aggrmat_asb') @@ -153,10 +158,16 @@ subroutine mld_s_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) case(mld_distr_mat_) - call ac%mv_to(bcoo) + call lac%mv_to(bcoo) nzl = bcoo%get_nzeros() - - if (info == psb_success_) call psb_cdall(ictxt,lv%desc_ac,info,nl=nlaggr(me+1)) + inl = nlaggr(me+1) + if (inl < nlaggr(me+1)) then + info = psb_err_bad_int_cnv_ + call psb_errpush(info,name,& + & l_err=(/nlaggr(me+1),inl*1_psb_lpk_/)) + goto 9999 + end if + if (info == psb_success_) call psb_cdall(ictxt,lv%desc_ac,info,nl=inl) if (info == psb_success_) call psb_cdins(nzl,bcoo%ia,bcoo%ja,lv%desc_ac,info) if (info == psb_success_) call psb_cdasb(lv%desc_ac,info) if (info == psb_success_) call psb_glob_to_loc(bcoo%ia(1:nzl),lv%desc_ac,info,iact='I') @@ -169,7 +180,8 @@ subroutine mld_s_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& & 'Assembld aux descr. distr.' - call lv%ac%mv_from(bcoo) + call lac%mv_from(bcoo) + call lv%ac%mv_from_l(lac) call lv%ac%set_nrows(lv%desc_ac%get_local_rows()) call lv%ac%set_ncols(lv%desc_ac%get_local_cols()) @@ -190,7 +202,8 @@ subroutine mld_s_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) end if call op_prol%mv_from(acsr1) endif - call op_prol%set_ncols(lv%desc_ac%get_local_cols()) + nc = lv%desc_ac%get_local_cols() + call op_prol%set_ncols(nc) if (np>1) then call op_restr%cscnv(info,type='coo',dupl=psb_dupl_add_) @@ -209,7 +222,8 @@ subroutine mld_s_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) ! ! Clip to local rows. ! - call op_restr%set_nrows(lv%desc_ac%get_local_rows()) + nr = lv%desc_ac%get_local_rows() + call op_restr%set_nrows(nr) if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& @@ -218,11 +232,12 @@ subroutine mld_s_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) case(mld_repl_mat_) ! ! + call psb_cdall(ictxt,lv%desc_ac,info,mg=ntaggr,repl=.true.) if (info == psb_success_) call psb_cdasb(lv%desc_ac,info) if (info == psb_success_) & - & call psb_gather(lv%ac,ac,lv%desc_ac,info,dupl=psb_dupl_add_,keeploc=.false.) - + & call psb_gather(lac1,lac,lv%desc_ac,info,dupl=psb_dupl_add_,keeploc=.false.) + call lv%ac%mv_from_l(lac1) if (info /= psb_success_) goto 9999 case default @@ -242,11 +257,12 @@ subroutine mld_s_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) ! op_restr => PR^T i.e. restriction operator ! op_prol => PR i.e. prolongation operator ! - + call iop_restr%mv_from_l(op_restr) + call iop_prol%mv_from_l(op_prol) lv%map = psb_linmap(psb_map_aggr_,desc_a,& - & lv%desc_ac,op_restr,op_prol,ilaggr,nlaggr) - if (info == psb_success_) call op_prol%free() - if (info == psb_success_) call op_restr%free() + & lv%desc_ac,iop_restr,iop_prol,ilaggr,nlaggr) + if (info == psb_success_) call iop_prol%free() + if (info == psb_success_) call iop_restr%free() if(info /= psb_success_) then call psb_errpush(psb_err_from_subroutine_,name,a_err='sp_Free') goto 9999 diff --git a/mlprec/impl/level/mld_z_base_onelev_build.f90 b/mlprec/impl/level/mld_z_base_onelev_build.f90 index 9c444715..57cd665b 100644 --- a/mlprec/impl/level/mld_z_base_onelev_build.f90 +++ b/mlprec/impl/level/mld_z_base_onelev_build.f90 @@ -53,10 +53,12 @@ subroutine mld_z_base_onelev_build(lv,info,amold,vmold,imold) character(len=20) :: name, ch_err name = 'mld_onelev_build' - if (psb_get_errstatus().ne.0) return info=psb_success_ err=0 call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() if (.not.associated(lv%base_desc)) then diff --git a/mlprec/impl/level/mld_z_base_onelev_mat_asb.f90 b/mlprec/impl/level/mld_z_base_onelev_mat_asb.f90 index f422eee5..593c2935 100644 --- a/mlprec/impl/level/mld_z_base_onelev_mat_asb.f90 +++ b/mlprec/impl/level/mld_z_base_onelev_mat_asb.f90 @@ -95,24 +95,29 @@ subroutine mld_z_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) class(mld_z_onelev_type), intent(inout), target :: lv type(psb_zspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:),nlaggr(:) - type(psb_zspmat_type), intent(inout) :: op_prol + integer(psb_lpk_), intent(inout) :: nlaggr(:) + integer(psb_lpk_), intent(inout) :: ilaggr(:) + type(psb_lzspmat_type), intent(inout) :: op_prol integer(psb_ipk_), intent(out) :: info ! Local variables character(len=24) :: name - integer(psb_mpik_) :: ictxt, np, me + integer(psb_ipk_) :: ictxt, np, me integer(psb_ipk_) :: err_act - type(psb_zspmat_type) :: ac, op_restr - type(psb_z_coo_sparse_mat) :: acoo, bcoo - type(psb_z_csr_sparse_mat) :: acsr1 - integer(psb_ipk_) :: nzl, ntaggr + type(psb_lzspmat_type) :: lac, lac1, op_restr + type(psb_zspmat_type) :: ac, iop_restr, iop_prol + type(psb_lz_coo_sparse_mat) :: acoo, bcoo + type(psb_lz_csr_sparse_mat) :: acsr1 + integer(psb_lpk_) :: ntaggr, nr, nc + integer(psb_ipk_) :: nzl, inl integer(psb_ipk_) :: debug_level, debug_unit name='mld_z_onelev_mat_asb' - if (psb_get_errstatus().ne.0) return call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() info = psb_success_ @@ -137,7 +142,7 @@ subroutine mld_z_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) ! the mapping defined by mld_aggrmap_bld and applying the aggregation ! algorithm specified by lv%iprcparm(mld_aggr_prol_) ! - call lv%aggr%mat_asb(lv%parms,a,desc_a,ilaggr,nlaggr,ac,op_prol,op_restr,info) + call lv%aggr%mat_asb(lv%parms,a,desc_a,ilaggr,nlaggr,lac,op_prol,op_restr,info) if(info /= psb_success_) then call psb_errpush(psb_err_from_subroutine_,name,a_err='mld_aggrmat_asb') @@ -153,10 +158,16 @@ subroutine mld_z_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) case(mld_distr_mat_) - call ac%mv_to(bcoo) + call lac%mv_to(bcoo) nzl = bcoo%get_nzeros() - - if (info == psb_success_) call psb_cdall(ictxt,lv%desc_ac,info,nl=nlaggr(me+1)) + inl = nlaggr(me+1) + if (inl < nlaggr(me+1)) then + info = psb_err_bad_int_cnv_ + call psb_errpush(info,name,& + & l_err=(/nlaggr(me+1),inl*1_psb_lpk_/)) + goto 9999 + end if + if (info == psb_success_) call psb_cdall(ictxt,lv%desc_ac,info,nl=inl) if (info == psb_success_) call psb_cdins(nzl,bcoo%ia,bcoo%ja,lv%desc_ac,info) if (info == psb_success_) call psb_cdasb(lv%desc_ac,info) if (info == psb_success_) call psb_glob_to_loc(bcoo%ia(1:nzl),lv%desc_ac,info,iact='I') @@ -169,7 +180,8 @@ subroutine mld_z_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& & 'Assembld aux descr. distr.' - call lv%ac%mv_from(bcoo) + call lac%mv_from(bcoo) + call lv%ac%mv_from_l(lac) call lv%ac%set_nrows(lv%desc_ac%get_local_rows()) call lv%ac%set_ncols(lv%desc_ac%get_local_cols()) @@ -190,7 +202,8 @@ subroutine mld_z_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) end if call op_prol%mv_from(acsr1) endif - call op_prol%set_ncols(lv%desc_ac%get_local_cols()) + nc = lv%desc_ac%get_local_cols() + call op_prol%set_ncols(nc) if (np>1) then call op_restr%cscnv(info,type='coo',dupl=psb_dupl_add_) @@ -209,7 +222,8 @@ subroutine mld_z_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) ! ! Clip to local rows. ! - call op_restr%set_nrows(lv%desc_ac%get_local_rows()) + nr = lv%desc_ac%get_local_rows() + call op_restr%set_nrows(nr) if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& @@ -218,11 +232,12 @@ subroutine mld_z_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) case(mld_repl_mat_) ! ! + call psb_cdall(ictxt,lv%desc_ac,info,mg=ntaggr,repl=.true.) if (info == psb_success_) call psb_cdasb(lv%desc_ac,info) if (info == psb_success_) & - & call psb_gather(lv%ac,ac,lv%desc_ac,info,dupl=psb_dupl_add_,keeploc=.false.) - + & call psb_gather(lac1,lac,lv%desc_ac,info,dupl=psb_dupl_add_,keeploc=.false.) + call lv%ac%mv_from_l(lac1) if (info /= psb_success_) goto 9999 case default @@ -242,11 +257,12 @@ subroutine mld_z_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) ! op_restr => PR^T i.e. restriction operator ! op_prol => PR i.e. prolongation operator ! - + call iop_restr%mv_from_l(op_restr) + call iop_prol%mv_from_l(op_prol) lv%map = psb_linmap(psb_map_aggr_,desc_a,& - & lv%desc_ac,op_restr,op_prol,ilaggr,nlaggr) - if (info == psb_success_) call op_prol%free() - if (info == psb_success_) call op_restr%free() + & lv%desc_ac,iop_restr,iop_prol,ilaggr,nlaggr) + if (info == psb_success_) call iop_prol%free() + if (info == psb_success_) call iop_restr%free() if(info /= psb_success_) then call psb_errpush(psb_err_from_subroutine_,name,a_err='sp_Free') goto 9999 diff --git a/mlprec/impl/mld_c_extprol_bld.f90 b/mlprec/impl/mld_c_extprol_bld.F90 similarity index 97% rename from mlprec/impl/mld_c_extprol_bld.f90 rename to mlprec/impl/mld_c_extprol_bld.F90 index 1058a6c4..db934bfb 100644 --- a/mlprec/impl/mld_c_extprol_bld.f90 +++ b/mlprec/impl/mld_c_extprol_bld.F90 @@ -108,10 +108,12 @@ subroutine mld_c_extprol_bld(a,desc_a,p,prolv,restrv,info,amold,vmold,imold) character(len=20) :: name, ch_err logical, parameter :: debug=.false. - if (psb_get_errstatus().ne.0) return info=psb_success_ err=0 call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() @@ -124,6 +126,12 @@ subroutine mld_c_extprol_bld(a,desc_a,p,prolv,restrv,info,amold,vmold,imold) if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& & 'Entering ' +#if defined(LPK8) + info=psb_err_internal_error_ + call psb_errpush(info,name,a_err='Need fix for LPK8') + goto 9999 +#else + ! ! For the time being we are commenting out the UPDATE argument ! we plan to resurrect it later. @@ -321,6 +329,7 @@ subroutine mld_c_extprol_bld(a,desc_a,p,prolv,restrv,info,amold,vmold,imold) if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& & 'Exiting with',iszv,' levels' +#endif call psb_erractionrestore(err_act) return @@ -346,7 +355,7 @@ contains ! Local variables character(len=20) :: name - integer(psb_mpik_) :: ictxt, np, me, ncol + integer(psb_mpk_) :: ictxt, np, me, ncol integer(psb_ipk_) :: err_act,ntaggr,nzl integer(psb_ipk_), allocatable :: ilaggr(:), nlaggr(:) type(psb_cspmat_type) :: ac, am2, am3, am4 @@ -355,11 +364,18 @@ contains logical, parameter :: debug=.false. name='mld_c_extaggr_bld' - if (psb_get_errstatus().ne.0) return call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if info = psb_success_ ictxt = desc_a%get_context() call psb_info(ictxt,me,np) +#if defined(LPK8) + info=psb_err_internal_error_ + call psb_errpush(info,name,a_err='Need fix for LPK8') + goto 9999 +#else allocate(nlaggr(np),ilaggr(1)) nlaggr = 0 ilaggr = 0 @@ -506,7 +522,7 @@ contains call psb_errpush(psb_err_from_subroutine_,name,a_err='sp_Free') goto 9999 end if - +#endif call psb_erractionrestore(err_act) return diff --git a/mlprec/impl/mld_c_hierarchy_bld.f90 b/mlprec/impl/mld_c_hierarchy_bld.f90 index 4ebaa374..08079ab2 100644 --- a/mlprec/impl/mld_c_hierarchy_bld.f90 +++ b/mlprec/impl/mld_c_hierarchy_bld.f90 @@ -86,17 +86,19 @@ subroutine mld_c_hierarchy_bld(a,desc_a,prec,info) & base_sm2, med_sm2, coarse_sm2 class(mld_c_base_aggregator_type), allocatable :: tmp_aggr type(mld_sml_parms) :: baseparms, medparms, coarseparms - integer(psb_ipk_), allocatable :: ilaggr(:), nlaggr(:) - type(psb_cspmat_type) :: op_prol + integer(psb_lpk_), allocatable :: ilaggr(:), nlaggr(:) + type(psb_lcspmat_type) :: op_prol type(mld_c_onelev_type), allocatable :: tprecv(:) integer(psb_ipk_) :: int_err(5) integer(psb_ipk_) :: debug_level, debug_unit character(len=20) :: name, ch_err - if (psb_get_errstatus().ne.0) return info=psb_success_ err=0 call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() diff --git a/mlprec/impl/mld_c_smoothers_bld.f90 b/mlprec/impl/mld_c_smoothers_bld.f90 index 5fb30db5..0ef2932b 100644 --- a/mlprec/impl/mld_c_smoothers_bld.f90 +++ b/mlprec/impl/mld_c_smoothers_bld.f90 @@ -104,10 +104,12 @@ subroutine mld_c_smoothers_bld(a,desc_a,prec,info,amold,vmold,imold) integer(psb_ipk_) :: debug_level, debug_unit character(len=20) :: name, ch_err - if (psb_get_errstatus().ne.0) return info=psb_success_ err=0 call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() diff --git a/mlprec/impl/mld_cmlprec_aply.f90 b/mlprec/impl/mld_cmlprec_aply.f90 index 6eac6b97..13bc063e 100644 --- a/mlprec/impl/mld_cmlprec_aply.f90 +++ b/mlprec/impl/mld_cmlprec_aply.f90 @@ -155,7 +155,10 @@ ! local part of the preconditioner to be applied. ! Note that nlev = size(p%precv) = number of levels. ! p%precv(lev)%sm - type(psb_cbaseprec_type) -! The 'smoother' for the current level +! The pre-'smoother' for the current level +! p%precv(lev)%sm2 - type(psb_cbaseprec_type) +! The post-'smoother' for the current level +! may be the same or different from %sm ! p%precv(lev)%ac - type(psb_cspmat_type) ! The local part of the matrix A(lev). ! p%precv(lev)%parms - type(psb_sml_parms) diff --git a/mlprec/impl/mld_cmlprec_bld.f90 b/mlprec/impl/mld_cmlprec_bld.f90 index 4330c49f..416bf1b4 100644 --- a/mlprec/impl/mld_cmlprec_bld.f90 +++ b/mlprec/impl/mld_cmlprec_bld.f90 @@ -102,10 +102,12 @@ subroutine mld_cmlprec_bld(a,desc_a,p,info,amold,vmold,imold) integer(psb_ipk_) :: debug_level, debug_unit character(len=20) :: name, ch_err - if (psb_get_errstatus().ne.0) return info=psb_success_ err=0 call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() diff --git a/mlprec/impl/mld_cprecaply.f90 b/mlprec/impl/mld_cprecaply.f90 index bdb0b65a..854d62c9 100644 --- a/mlprec/impl/mld_cprecaply.f90 +++ b/mlprec/impl/mld_cprecaply.f90 @@ -416,7 +416,7 @@ subroutine mld_cprecaply2_vect(prec,x,y,desc_data,info,trans,work) & nswps,work_,wv,info) end if end associate - if (psb_get_errstatus() /=0) info = psb_err_internal_error_ + if (psb_errstatus_fatal()) info = psb_err_internal_error_ if (info /= 0) then info = psb_err_from_subroutine_ai_ call psb_errpush(info,name,a_err='Smoother application',& @@ -563,7 +563,7 @@ subroutine mld_cprecaply1_vect(prec,x,desc_data,info,trans,work) if (info == 0) call psb_geaxpby(cone,ww,czero,x,desc_data,info) end if - if (psb_get_errstatus() /=0) info = psb_err_internal_error_ + if (psb_errstatus_fatal()) info = psb_err_internal_error_ if (info /=0) then info = psb_err_internal_error_ call psb_errpush(info,name,a_err='Smoother application',& diff --git a/mlprec/impl/mld_cprecbld.f90 b/mlprec/impl/mld_cprecbld.f90 index 66a8cb84..74015a14 100644 --- a/mlprec/impl/mld_cprecbld.f90 +++ b/mlprec/impl/mld_cprecbld.f90 @@ -83,10 +83,12 @@ subroutine mld_cprecbld(a,desc_a,prec,info,amold,vmold,imold) integer(psb_ipk_) :: debug_level, debug_unit character(len=20) :: name, ch_err - if (psb_get_errstatus().ne.0) return info=psb_success_ err=0 call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() diff --git a/mlprec/impl/mld_d_extprol_bld.f90 b/mlprec/impl/mld_d_extprol_bld.F90 similarity index 97% rename from mlprec/impl/mld_d_extprol_bld.f90 rename to mlprec/impl/mld_d_extprol_bld.F90 index 9209c754..a0be249e 100644 --- a/mlprec/impl/mld_d_extprol_bld.f90 +++ b/mlprec/impl/mld_d_extprol_bld.F90 @@ -108,10 +108,12 @@ subroutine mld_d_extprol_bld(a,desc_a,p,prolv,restrv,info,amold,vmold,imold) character(len=20) :: name, ch_err logical, parameter :: debug=.false. - if (psb_get_errstatus().ne.0) return info=psb_success_ err=0 call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() @@ -124,6 +126,12 @@ subroutine mld_d_extprol_bld(a,desc_a,p,prolv,restrv,info,amold,vmold,imold) if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& & 'Entering ' +#if defined(LPK8) + info=psb_err_internal_error_ + call psb_errpush(info,name,a_err='Need fix for LPK8') + goto 9999 +#else + ! ! For the time being we are commenting out the UPDATE argument ! we plan to resurrect it later. @@ -321,6 +329,7 @@ subroutine mld_d_extprol_bld(a,desc_a,p,prolv,restrv,info,amold,vmold,imold) if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& & 'Exiting with',iszv,' levels' +#endif call psb_erractionrestore(err_act) return @@ -346,7 +355,7 @@ contains ! Local variables character(len=20) :: name - integer(psb_mpik_) :: ictxt, np, me, ncol + integer(psb_mpk_) :: ictxt, np, me, ncol integer(psb_ipk_) :: err_act,ntaggr,nzl integer(psb_ipk_), allocatable :: ilaggr(:), nlaggr(:) type(psb_dspmat_type) :: ac, am2, am3, am4 @@ -355,11 +364,18 @@ contains logical, parameter :: debug=.false. name='mld_d_extaggr_bld' - if (psb_get_errstatus().ne.0) return call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if info = psb_success_ ictxt = desc_a%get_context() call psb_info(ictxt,me,np) +#if defined(LPK8) + info=psb_err_internal_error_ + call psb_errpush(info,name,a_err='Need fix for LPK8') + goto 9999 +#else allocate(nlaggr(np),ilaggr(1)) nlaggr = 0 ilaggr = 0 @@ -506,7 +522,7 @@ contains call psb_errpush(psb_err_from_subroutine_,name,a_err='sp_Free') goto 9999 end if - +#endif call psb_erractionrestore(err_act) return diff --git a/mlprec/impl/mld_d_hierarchy_bld.f90 b/mlprec/impl/mld_d_hierarchy_bld.f90 index 0a40dcb8..655a2000 100644 --- a/mlprec/impl/mld_d_hierarchy_bld.f90 +++ b/mlprec/impl/mld_d_hierarchy_bld.f90 @@ -86,17 +86,19 @@ subroutine mld_d_hierarchy_bld(a,desc_a,prec,info) & base_sm2, med_sm2, coarse_sm2 class(mld_d_base_aggregator_type), allocatable :: tmp_aggr type(mld_dml_parms) :: baseparms, medparms, coarseparms - integer(psb_ipk_), allocatable :: ilaggr(:), nlaggr(:) - type(psb_dspmat_type) :: op_prol + integer(psb_lpk_), allocatable :: ilaggr(:), nlaggr(:) + type(psb_ldspmat_type) :: op_prol type(mld_d_onelev_type), allocatable :: tprecv(:) integer(psb_ipk_) :: int_err(5) integer(psb_ipk_) :: debug_level, debug_unit character(len=20) :: name, ch_err - if (psb_get_errstatus().ne.0) return info=psb_success_ err=0 call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() diff --git a/mlprec/impl/mld_d_smoothers_bld.f90 b/mlprec/impl/mld_d_smoothers_bld.f90 index fbab6abd..a913fdad 100644 --- a/mlprec/impl/mld_d_smoothers_bld.f90 +++ b/mlprec/impl/mld_d_smoothers_bld.f90 @@ -104,10 +104,12 @@ subroutine mld_d_smoothers_bld(a,desc_a,prec,info,amold,vmold,imold) integer(psb_ipk_) :: debug_level, debug_unit character(len=20) :: name, ch_err - if (psb_get_errstatus().ne.0) return info=psb_success_ err=0 call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() diff --git a/mlprec/impl/mld_dmlprec_aply.f90 b/mlprec/impl/mld_dmlprec_aply.f90 index 98a19c77..488712fd 100644 --- a/mlprec/impl/mld_dmlprec_aply.f90 +++ b/mlprec/impl/mld_dmlprec_aply.f90 @@ -155,7 +155,10 @@ ! local part of the preconditioner to be applied. ! Note that nlev = size(p%precv) = number of levels. ! p%precv(lev)%sm - type(psb_dbaseprec_type) -! The 'smoother' for the current level +! The pre-'smoother' for the current level +! p%precv(lev)%sm2 - type(psb_dbaseprec_type) +! The post-'smoother' for the current level +! may be the same or different from %sm ! p%precv(lev)%ac - type(psb_dspmat_type) ! The local part of the matrix A(lev). ! p%precv(lev)%parms - type(psb_dml_parms) diff --git a/mlprec/impl/mld_dmlprec_bld.f90 b/mlprec/impl/mld_dmlprec_bld.f90 index c19b8799..5004ecdc 100644 --- a/mlprec/impl/mld_dmlprec_bld.f90 +++ b/mlprec/impl/mld_dmlprec_bld.f90 @@ -102,10 +102,12 @@ subroutine mld_dmlprec_bld(a,desc_a,p,info,amold,vmold,imold) integer(psb_ipk_) :: debug_level, debug_unit character(len=20) :: name, ch_err - if (psb_get_errstatus().ne.0) return info=psb_success_ err=0 call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() diff --git a/mlprec/impl/mld_dprecaply.f90 b/mlprec/impl/mld_dprecaply.f90 index 6fc2b67e..99471302 100644 --- a/mlprec/impl/mld_dprecaply.f90 +++ b/mlprec/impl/mld_dprecaply.f90 @@ -416,7 +416,7 @@ subroutine mld_dprecaply2_vect(prec,x,y,desc_data,info,trans,work) & nswps,work_,wv,info) end if end associate - if (psb_get_errstatus() /=0) info = psb_err_internal_error_ + if (psb_errstatus_fatal()) info = psb_err_internal_error_ if (info /= 0) then info = psb_err_from_subroutine_ai_ call psb_errpush(info,name,a_err='Smoother application',& @@ -563,7 +563,7 @@ subroutine mld_dprecaply1_vect(prec,x,desc_data,info,trans,work) if (info == 0) call psb_geaxpby(done,ww,dzero,x,desc_data,info) end if - if (psb_get_errstatus() /=0) info = psb_err_internal_error_ + if (psb_errstatus_fatal()) info = psb_err_internal_error_ if (info /=0) then info = psb_err_internal_error_ call psb_errpush(info,name,a_err='Smoother application',& diff --git a/mlprec/impl/mld_dprecbld.f90 b/mlprec/impl/mld_dprecbld.f90 index 447d5a22..a2662786 100644 --- a/mlprec/impl/mld_dprecbld.f90 +++ b/mlprec/impl/mld_dprecbld.f90 @@ -83,10 +83,12 @@ subroutine mld_dprecbld(a,desc_a,prec,info,amold,vmold,imold) integer(psb_ipk_) :: debug_level, debug_unit character(len=20) :: name, ch_err - if (psb_get_errstatus().ne.0) return info=psb_success_ err=0 call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() diff --git a/mlprec/impl/mld_s_extprol_bld.f90 b/mlprec/impl/mld_s_extprol_bld.F90 similarity index 97% rename from mlprec/impl/mld_s_extprol_bld.f90 rename to mlprec/impl/mld_s_extprol_bld.F90 index 411c0bde..96b4d8d8 100644 --- a/mlprec/impl/mld_s_extprol_bld.f90 +++ b/mlprec/impl/mld_s_extprol_bld.F90 @@ -108,10 +108,12 @@ subroutine mld_s_extprol_bld(a,desc_a,p,prolv,restrv,info,amold,vmold,imold) character(len=20) :: name, ch_err logical, parameter :: debug=.false. - if (psb_get_errstatus().ne.0) return info=psb_success_ err=0 call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() @@ -124,6 +126,12 @@ subroutine mld_s_extprol_bld(a,desc_a,p,prolv,restrv,info,amold,vmold,imold) if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& & 'Entering ' +#if defined(LPK8) + info=psb_err_internal_error_ + call psb_errpush(info,name,a_err='Need fix for LPK8') + goto 9999 +#else + ! ! For the time being we are commenting out the UPDATE argument ! we plan to resurrect it later. @@ -321,6 +329,7 @@ subroutine mld_s_extprol_bld(a,desc_a,p,prolv,restrv,info,amold,vmold,imold) if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& & 'Exiting with',iszv,' levels' +#endif call psb_erractionrestore(err_act) return @@ -346,7 +355,7 @@ contains ! Local variables character(len=20) :: name - integer(psb_mpik_) :: ictxt, np, me, ncol + integer(psb_mpk_) :: ictxt, np, me, ncol integer(psb_ipk_) :: err_act,ntaggr,nzl integer(psb_ipk_), allocatable :: ilaggr(:), nlaggr(:) type(psb_sspmat_type) :: ac, am2, am3, am4 @@ -355,11 +364,18 @@ contains logical, parameter :: debug=.false. name='mld_s_extaggr_bld' - if (psb_get_errstatus().ne.0) return call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if info = psb_success_ ictxt = desc_a%get_context() call psb_info(ictxt,me,np) +#if defined(LPK8) + info=psb_err_internal_error_ + call psb_errpush(info,name,a_err='Need fix for LPK8') + goto 9999 +#else allocate(nlaggr(np),ilaggr(1)) nlaggr = 0 ilaggr = 0 @@ -506,7 +522,7 @@ contains call psb_errpush(psb_err_from_subroutine_,name,a_err='sp_Free') goto 9999 end if - +#endif call psb_erractionrestore(err_act) return diff --git a/mlprec/impl/mld_s_hierarchy_bld.f90 b/mlprec/impl/mld_s_hierarchy_bld.f90 index e4951c7c..a1f63975 100644 --- a/mlprec/impl/mld_s_hierarchy_bld.f90 +++ b/mlprec/impl/mld_s_hierarchy_bld.f90 @@ -86,17 +86,19 @@ subroutine mld_s_hierarchy_bld(a,desc_a,prec,info) & base_sm2, med_sm2, coarse_sm2 class(mld_s_base_aggregator_type), allocatable :: tmp_aggr type(mld_sml_parms) :: baseparms, medparms, coarseparms - integer(psb_ipk_), allocatable :: ilaggr(:), nlaggr(:) - type(psb_sspmat_type) :: op_prol + integer(psb_lpk_), allocatable :: ilaggr(:), nlaggr(:) + type(psb_lsspmat_type) :: op_prol type(mld_s_onelev_type), allocatable :: tprecv(:) integer(psb_ipk_) :: int_err(5) integer(psb_ipk_) :: debug_level, debug_unit character(len=20) :: name, ch_err - if (psb_get_errstatus().ne.0) return info=psb_success_ err=0 call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() diff --git a/mlprec/impl/mld_s_smoothers_bld.f90 b/mlprec/impl/mld_s_smoothers_bld.f90 index e5b394bc..aa8e0593 100644 --- a/mlprec/impl/mld_s_smoothers_bld.f90 +++ b/mlprec/impl/mld_s_smoothers_bld.f90 @@ -104,10 +104,12 @@ subroutine mld_s_smoothers_bld(a,desc_a,prec,info,amold,vmold,imold) integer(psb_ipk_) :: debug_level, debug_unit character(len=20) :: name, ch_err - if (psb_get_errstatus().ne.0) return info=psb_success_ err=0 call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() diff --git a/mlprec/impl/mld_smlprec_aply.f90 b/mlprec/impl/mld_smlprec_aply.f90 index c9fef2b5..ed5cf037 100644 --- a/mlprec/impl/mld_smlprec_aply.f90 +++ b/mlprec/impl/mld_smlprec_aply.f90 @@ -155,7 +155,10 @@ ! local part of the preconditioner to be applied. ! Note that nlev = size(p%precv) = number of levels. ! p%precv(lev)%sm - type(psb_sbaseprec_type) -! The 'smoother' for the current level +! The pre-'smoother' for the current level +! p%precv(lev)%sm2 - type(psb_sbaseprec_type) +! The post-'smoother' for the current level +! may be the same or different from %sm ! p%precv(lev)%ac - type(psb_sspmat_type) ! The local part of the matrix A(lev). ! p%precv(lev)%parms - type(psb_sml_parms) diff --git a/mlprec/impl/mld_smlprec_bld.f90 b/mlprec/impl/mld_smlprec_bld.f90 index c22f0035..772e32c0 100644 --- a/mlprec/impl/mld_smlprec_bld.f90 +++ b/mlprec/impl/mld_smlprec_bld.f90 @@ -102,10 +102,12 @@ subroutine mld_smlprec_bld(a,desc_a,p,info,amold,vmold,imold) integer(psb_ipk_) :: debug_level, debug_unit character(len=20) :: name, ch_err - if (psb_get_errstatus().ne.0) return info=psb_success_ err=0 call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() diff --git a/mlprec/impl/mld_sprecaply.f90 b/mlprec/impl/mld_sprecaply.f90 index db66a543..4f8f07bd 100644 --- a/mlprec/impl/mld_sprecaply.f90 +++ b/mlprec/impl/mld_sprecaply.f90 @@ -416,7 +416,7 @@ subroutine mld_sprecaply2_vect(prec,x,y,desc_data,info,trans,work) & nswps,work_,wv,info) end if end associate - if (psb_get_errstatus() /=0) info = psb_err_internal_error_ + if (psb_errstatus_fatal()) info = psb_err_internal_error_ if (info /= 0) then info = psb_err_from_subroutine_ai_ call psb_errpush(info,name,a_err='Smoother application',& @@ -563,7 +563,7 @@ subroutine mld_sprecaply1_vect(prec,x,desc_data,info,trans,work) if (info == 0) call psb_geaxpby(sone,ww,szero,x,desc_data,info) end if - if (psb_get_errstatus() /=0) info = psb_err_internal_error_ + if (psb_errstatus_fatal()) info = psb_err_internal_error_ if (info /=0) then info = psb_err_internal_error_ call psb_errpush(info,name,a_err='Smoother application',& diff --git a/mlprec/impl/mld_sprecbld.f90 b/mlprec/impl/mld_sprecbld.f90 index 558e506b..5a02c072 100644 --- a/mlprec/impl/mld_sprecbld.f90 +++ b/mlprec/impl/mld_sprecbld.f90 @@ -83,10 +83,12 @@ subroutine mld_sprecbld(a,desc_a,prec,info,amold,vmold,imold) integer(psb_ipk_) :: debug_level, debug_unit character(len=20) :: name, ch_err - if (psb_get_errstatus().ne.0) return info=psb_success_ err=0 call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() diff --git a/mlprec/impl/mld_z_extprol_bld.f90 b/mlprec/impl/mld_z_extprol_bld.F90 similarity index 97% rename from mlprec/impl/mld_z_extprol_bld.f90 rename to mlprec/impl/mld_z_extprol_bld.F90 index 4f856c69..028f3cbc 100644 --- a/mlprec/impl/mld_z_extprol_bld.f90 +++ b/mlprec/impl/mld_z_extprol_bld.F90 @@ -108,10 +108,12 @@ subroutine mld_z_extprol_bld(a,desc_a,p,prolv,restrv,info,amold,vmold,imold) character(len=20) :: name, ch_err logical, parameter :: debug=.false. - if (psb_get_errstatus().ne.0) return info=psb_success_ err=0 call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() @@ -124,6 +126,12 @@ subroutine mld_z_extprol_bld(a,desc_a,p,prolv,restrv,info,amold,vmold,imold) if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& & 'Entering ' +#if defined(LPK8) + info=psb_err_internal_error_ + call psb_errpush(info,name,a_err='Need fix for LPK8') + goto 9999 +#else + ! ! For the time being we are commenting out the UPDATE argument ! we plan to resurrect it later. @@ -321,6 +329,7 @@ subroutine mld_z_extprol_bld(a,desc_a,p,prolv,restrv,info,amold,vmold,imold) if (debug_level >= psb_debug_outer_) & & write(debug_unit,*) me,' ',trim(name),& & 'Exiting with',iszv,' levels' +#endif call psb_erractionrestore(err_act) return @@ -346,7 +355,7 @@ contains ! Local variables character(len=20) :: name - integer(psb_mpik_) :: ictxt, np, me, ncol + integer(psb_mpk_) :: ictxt, np, me, ncol integer(psb_ipk_) :: err_act,ntaggr,nzl integer(psb_ipk_), allocatable :: ilaggr(:), nlaggr(:) type(psb_zspmat_type) :: ac, am2, am3, am4 @@ -355,11 +364,18 @@ contains logical, parameter :: debug=.false. name='mld_z_extaggr_bld' - if (psb_get_errstatus().ne.0) return call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if info = psb_success_ ictxt = desc_a%get_context() call psb_info(ictxt,me,np) +#if defined(LPK8) + info=psb_err_internal_error_ + call psb_errpush(info,name,a_err='Need fix for LPK8') + goto 9999 +#else allocate(nlaggr(np),ilaggr(1)) nlaggr = 0 ilaggr = 0 @@ -506,7 +522,7 @@ contains call psb_errpush(psb_err_from_subroutine_,name,a_err='sp_Free') goto 9999 end if - +#endif call psb_erractionrestore(err_act) return diff --git a/mlprec/impl/mld_z_hierarchy_bld.f90 b/mlprec/impl/mld_z_hierarchy_bld.f90 index 638021ee..f33a76e7 100644 --- a/mlprec/impl/mld_z_hierarchy_bld.f90 +++ b/mlprec/impl/mld_z_hierarchy_bld.f90 @@ -86,17 +86,19 @@ subroutine mld_z_hierarchy_bld(a,desc_a,prec,info) & base_sm2, med_sm2, coarse_sm2 class(mld_z_base_aggregator_type), allocatable :: tmp_aggr type(mld_dml_parms) :: baseparms, medparms, coarseparms - integer(psb_ipk_), allocatable :: ilaggr(:), nlaggr(:) - type(psb_zspmat_type) :: op_prol + integer(psb_lpk_), allocatable :: ilaggr(:), nlaggr(:) + type(psb_lzspmat_type) :: op_prol type(mld_z_onelev_type), allocatable :: tprecv(:) integer(psb_ipk_) :: int_err(5) integer(psb_ipk_) :: debug_level, debug_unit character(len=20) :: name, ch_err - if (psb_get_errstatus().ne.0) return info=psb_success_ err=0 call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() diff --git a/mlprec/impl/mld_z_smoothers_bld.f90 b/mlprec/impl/mld_z_smoothers_bld.f90 index 03d6c6f2..45705382 100644 --- a/mlprec/impl/mld_z_smoothers_bld.f90 +++ b/mlprec/impl/mld_z_smoothers_bld.f90 @@ -104,10 +104,12 @@ subroutine mld_z_smoothers_bld(a,desc_a,prec,info,amold,vmold,imold) integer(psb_ipk_) :: debug_level, debug_unit character(len=20) :: name, ch_err - if (psb_get_errstatus().ne.0) return info=psb_success_ err=0 call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() diff --git a/mlprec/impl/mld_zmlprec_aply.f90 b/mlprec/impl/mld_zmlprec_aply.f90 index bbac15d1..3eefd665 100644 --- a/mlprec/impl/mld_zmlprec_aply.f90 +++ b/mlprec/impl/mld_zmlprec_aply.f90 @@ -155,7 +155,10 @@ ! local part of the preconditioner to be applied. ! Note that nlev = size(p%precv) = number of levels. ! p%precv(lev)%sm - type(psb_zbaseprec_type) -! The 'smoother' for the current level +! The pre-'smoother' for the current level +! p%precv(lev)%sm2 - type(psb_zbaseprec_type) +! The post-'smoother' for the current level +! may be the same or different from %sm ! p%precv(lev)%ac - type(psb_zspmat_type) ! The local part of the matrix A(lev). ! p%precv(lev)%parms - type(psb_dml_parms) diff --git a/mlprec/impl/mld_zmlprec_bld.f90 b/mlprec/impl/mld_zmlprec_bld.f90 index 11ce745d..3438333b 100644 --- a/mlprec/impl/mld_zmlprec_bld.f90 +++ b/mlprec/impl/mld_zmlprec_bld.f90 @@ -102,10 +102,12 @@ subroutine mld_zmlprec_bld(a,desc_a,p,info,amold,vmold,imold) integer(psb_ipk_) :: debug_level, debug_unit character(len=20) :: name, ch_err - if (psb_get_errstatus().ne.0) return info=psb_success_ err=0 call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() diff --git a/mlprec/impl/mld_zprecaply.f90 b/mlprec/impl/mld_zprecaply.f90 index 17d1d9a9..42d6bd0d 100644 --- a/mlprec/impl/mld_zprecaply.f90 +++ b/mlprec/impl/mld_zprecaply.f90 @@ -416,7 +416,7 @@ subroutine mld_zprecaply2_vect(prec,x,y,desc_data,info,trans,work) & nswps,work_,wv,info) end if end associate - if (psb_get_errstatus() /=0) info = psb_err_internal_error_ + if (psb_errstatus_fatal()) info = psb_err_internal_error_ if (info /= 0) then info = psb_err_from_subroutine_ai_ call psb_errpush(info,name,a_err='Smoother application',& @@ -563,7 +563,7 @@ subroutine mld_zprecaply1_vect(prec,x,desc_data,info,trans,work) if (info == 0) call psb_geaxpby(zone,ww,zzero,x,desc_data,info) end if - if (psb_get_errstatus() /=0) info = psb_err_internal_error_ + if (psb_errstatus_fatal()) info = psb_err_internal_error_ if (info /=0) then info = psb_err_internal_error_ call psb_errpush(info,name,a_err='Smoother application',& diff --git a/mlprec/impl/mld_zprecbld.f90 b/mlprec/impl/mld_zprecbld.f90 index 32306d6b..28c2da23 100644 --- a/mlprec/impl/mld_zprecbld.f90 +++ b/mlprec/impl/mld_zprecbld.f90 @@ -83,10 +83,12 @@ subroutine mld_zprecbld(a,desc_a,prec,info,amold,vmold,imold) integer(psb_ipk_) :: debug_level, debug_unit character(len=20) :: name, ch_err - if (psb_get_errstatus().ne.0) return info=psb_success_ err=0 call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if debug_unit = psb_get_debug_unit() debug_level = psb_get_debug_level() diff --git a/mlprec/impl/solver/mld_c_bwgs_solver_bld.f90 b/mlprec/impl/solver/mld_c_bwgs_solver_bld.f90 index 04a5f12e..408b0ba9 100644 --- a/mlprec/impl/solver/mld_c_bwgs_solver_bld.f90 +++ b/mlprec/impl/solver/mld_c_bwgs_solver_bld.f90 @@ -78,7 +78,7 @@ subroutine mld_c_bwgs_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold) ! This cuts out the off-diagonal part, because it's supposed to ! be handled by the outer Jacobi smoother. ! - call a%tril(sv%l,info,diag=-1,jmax=nrow_a,u=sv%u) + call a%tril(sv%l,info,diag=-ione,jmax=nrow_a,u=sv%u) else diff --git a/mlprec/impl/solver/mld_c_gs_solver_bld.f90 b/mlprec/impl/solver/mld_c_gs_solver_bld.f90 index b1052f2a..2103ab0f 100644 --- a/mlprec/impl/solver/mld_c_gs_solver_bld.f90 +++ b/mlprec/impl/solver/mld_c_gs_solver_bld.f90 @@ -76,7 +76,7 @@ subroutine mld_c_gs_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold) ! This cuts out the off-diagonal part, because it's supposed to ! be handled by the outer Jacobi smoother. ! - call a%tril(sv%l,info,diag=0,jmax=nrow_a,u=sv%u) + call a%tril(sv%l,info,diag=izero,jmax=nrow_a,u=sv%u) else diff --git a/mlprec/impl/solver/mld_c_mumps_solver_apply.F90 b/mlprec/impl/solver/mld_c_mumps_solver_apply.F90 index a0f9da5e..1f4ee03c 100644 --- a/mlprec/impl/solver/mld_c_mumps_solver_apply.F90 +++ b/mlprec/impl/solver/mld_c_mumps_solver_apply.F90 @@ -64,7 +64,7 @@ subroutine c_mumps_solver_apply(alpha,sv,x,beta,y,desc_data,& call psb_erractionsave(err_act) -#if defined(HAVE_MUMPS_) +#if defined(HAVE_MUMPS_) && !defined(LPK8) info = psb_success_ trans_ = psb_toupper(trans) select case(trans_) diff --git a/mlprec/impl/solver/mld_c_mumps_solver_apply_vect.F90 b/mlprec/impl/solver/mld_c_mumps_solver_apply_vect.F90 index 185970d5..501c1091 100644 --- a/mlprec/impl/solver/mld_c_mumps_solver_apply_vect.F90 +++ b/mlprec/impl/solver/mld_c_mumps_solver_apply_vect.F90 @@ -59,7 +59,7 @@ subroutine c_mumps_solver_apply_vect(alpha,sv,x,beta,y,desc_data,& integer(psb_ipk_) :: err_act character(len=20) :: name='c_mumps_solver_apply_vect' -#if defined(HAVE_MUMPS_) +#if defined(HAVE_MUMPS_) && !defined(LPK8) call psb_erractionsave(err_act) diff --git a/mlprec/impl/solver/mld_c_mumps_solver_bld.F90 b/mlprec/impl/solver/mld_c_mumps_solver_bld.F90 index d5f62827..61e8e633 100644 --- a/mlprec/impl/solver/mld_c_mumps_solver_bld.F90 +++ b/mlprec/impl/solver/mld_c_mumps_solver_bld.F90 @@ -63,7 +63,7 @@ integer(psb_ipk_) :: ictxt, ictxt1, icomm, np, iam, me, i, err_act, debug_unit, debug_level character(len=20) :: name='c_mumps_solver_bld', ch_err -#if defined(HAVE_MUMPS_) +#if defined(HAVE_MUMPS_) && !defined(LPK8) info=psb_success_ diff --git a/mlprec/impl/solver/mld_cilu0_fact.f90 b/mlprec/impl/solver/mld_cilu0_fact.f90 index c6e646a2..d013de7c 100644 --- a/mlprec/impl/solver/mld_cilu0_fact.f90 +++ b/mlprec/impl/solver/mld_cilu0_fact.f90 @@ -304,9 +304,11 @@ contains character(len=20) :: name, ch_err name='mld_cilu0_factint' - if(psb_get_errstatus().ne.0) return info=psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if ma = a%get_nrows() mb = b%get_nrows() @@ -569,9 +571,11 @@ contains character(len=20), parameter :: name='ilu_copyin' character(len=20) :: ch_err - if (psb_get_errstatus() /= 0) return info=psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if if (psb_toupper(upd) == 'F') then select type(aa => a%a) diff --git a/mlprec/impl/solver/mld_ciluk_fact.f90 b/mlprec/impl/solver/mld_ciluk_fact.f90 index 79fa2975..43f54fe3 100644 --- a/mlprec/impl/solver/mld_ciluk_fact.f90 +++ b/mlprec/impl/solver/mld_ciluk_fact.f90 @@ -289,9 +289,11 @@ contains character(len=20), parameter :: name='mld_ciluk_factint' character(len=20) :: ch_err - if (psb_get_errstatus() /= 0) return info=psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if select case(ialg) @@ -503,9 +505,11 @@ contains character(len=20), parameter :: name='iluk_copyin' character(len=20) :: ch_err - if (psb_get_errstatus() /= 0) return info=psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if call heap%init(info) select type (aa=> a%a) @@ -829,9 +833,11 @@ contains character(len=20), parameter :: name='mld_ciluk_factint' character(len=20) :: ch_err - if (psb_get_errstatus() /= 0) return info = psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if d(i) = czero diff --git a/mlprec/impl/solver/mld_cilut_fact.f90 b/mlprec/impl/solver/mld_cilut_fact.f90 index b7557ce2..510ac38a 100644 --- a/mlprec/impl/solver/mld_cilut_fact.f90 +++ b/mlprec/impl/solver/mld_cilut_fact.f90 @@ -311,9 +311,11 @@ contains character(len=20), parameter :: name='mld_cilut_factint' character(len=20) :: ch_err - if (psb_get_errstatus() /= 0) return info = psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if ma = a%get_nrows() @@ -524,9 +526,11 @@ contains real(psb_spk_), external :: dnrm2 character(len=20), parameter :: name='mld_cilut_factint' - if (psb_get_errstatus() /= 0) return info = psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if call heap%init(info) if (info /= psb_success_) then @@ -907,9 +911,11 @@ contains character(len=20) :: ch_err logical :: fndmaxup - if (psb_get_errstatus() /= 0) return info=psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if ! ! Here we need to apply also the dropping rule base on the fill-in. diff --git a/mlprec/impl/solver/mld_d_bwgs_solver_bld.f90 b/mlprec/impl/solver/mld_d_bwgs_solver_bld.f90 index 3fcc4f75..d6964cab 100644 --- a/mlprec/impl/solver/mld_d_bwgs_solver_bld.f90 +++ b/mlprec/impl/solver/mld_d_bwgs_solver_bld.f90 @@ -78,7 +78,7 @@ subroutine mld_d_bwgs_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold) ! This cuts out the off-diagonal part, because it's supposed to ! be handled by the outer Jacobi smoother. ! - call a%tril(sv%l,info,diag=-1,jmax=nrow_a,u=sv%u) + call a%tril(sv%l,info,diag=-ione,jmax=nrow_a,u=sv%u) else diff --git a/mlprec/impl/solver/mld_d_gs_solver_bld.f90 b/mlprec/impl/solver/mld_d_gs_solver_bld.f90 index c9b23f4a..c2329e9c 100644 --- a/mlprec/impl/solver/mld_d_gs_solver_bld.f90 +++ b/mlprec/impl/solver/mld_d_gs_solver_bld.f90 @@ -76,7 +76,7 @@ subroutine mld_d_gs_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold) ! This cuts out the off-diagonal part, because it's supposed to ! be handled by the outer Jacobi smoother. ! - call a%tril(sv%l,info,diag=0,jmax=nrow_a,u=sv%u) + call a%tril(sv%l,info,diag=izero,jmax=nrow_a,u=sv%u) else diff --git a/mlprec/impl/solver/mld_d_mumps_solver_apply.F90 b/mlprec/impl/solver/mld_d_mumps_solver_apply.F90 index 0facc887..1f30160c 100644 --- a/mlprec/impl/solver/mld_d_mumps_solver_apply.F90 +++ b/mlprec/impl/solver/mld_d_mumps_solver_apply.F90 @@ -64,7 +64,7 @@ subroutine d_mumps_solver_apply(alpha,sv,x,beta,y,desc_data,& call psb_erractionsave(err_act) -#if defined(HAVE_MUMPS_) +#if defined(HAVE_MUMPS_) && !defined(LPK8) info = psb_success_ trans_ = psb_toupper(trans) select case(trans_) diff --git a/mlprec/impl/solver/mld_d_mumps_solver_apply_vect.F90 b/mlprec/impl/solver/mld_d_mumps_solver_apply_vect.F90 index 56013ba7..10986d9d 100644 --- a/mlprec/impl/solver/mld_d_mumps_solver_apply_vect.F90 +++ b/mlprec/impl/solver/mld_d_mumps_solver_apply_vect.F90 @@ -59,7 +59,7 @@ subroutine d_mumps_solver_apply_vect(alpha,sv,x,beta,y,desc_data,& integer(psb_ipk_) :: err_act character(len=20) :: name='d_mumps_solver_apply_vect' -#if defined(HAVE_MUMPS_) +#if defined(HAVE_MUMPS_) && !defined(LPK8) call psb_erractionsave(err_act) diff --git a/mlprec/impl/solver/mld_d_mumps_solver_bld.F90 b/mlprec/impl/solver/mld_d_mumps_solver_bld.F90 index 44da6b05..afe048b4 100644 --- a/mlprec/impl/solver/mld_d_mumps_solver_bld.F90 +++ b/mlprec/impl/solver/mld_d_mumps_solver_bld.F90 @@ -60,10 +60,11 @@ type(psb_d_coo_sparse_mat), target :: acoo integer(psb_ipk_) :: n_row,n_col, nrow_a, nztota, nglob, nglobrec, nzt, npr, npc integer(psb_ipk_) :: ifrst, ibcheck - integer(psb_ipk_) :: ictxt, ictxt1, icomm, np, iam, me, i, err_act, debug_unit, debug_level + integer(psb_ipk_) :: ictxt, ictxt1, icomm, np, iam, me, i, & + & err_act, debug_unit, debug_level character(len=20) :: name='d_mumps_solver_bld', ch_err -#if defined(HAVE_MUMPS_) +#if defined(HAVE_MUMPS_) && !defined(LPK8) info=psb_success_ diff --git a/mlprec/impl/solver/mld_dilu0_fact.f90 b/mlprec/impl/solver/mld_dilu0_fact.f90 index 6dab06b5..d18c6bf9 100644 --- a/mlprec/impl/solver/mld_dilu0_fact.f90 +++ b/mlprec/impl/solver/mld_dilu0_fact.f90 @@ -304,9 +304,11 @@ contains character(len=20) :: name, ch_err name='mld_dilu0_factint' - if(psb_get_errstatus().ne.0) return info=psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if ma = a%get_nrows() mb = b%get_nrows() @@ -569,9 +571,11 @@ contains character(len=20), parameter :: name='ilu_copyin' character(len=20) :: ch_err - if (psb_get_errstatus() /= 0) return info=psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if if (psb_toupper(upd) == 'F') then select type(aa => a%a) diff --git a/mlprec/impl/solver/mld_diluk_fact.f90 b/mlprec/impl/solver/mld_diluk_fact.f90 index 53aa4cce..85fed716 100644 --- a/mlprec/impl/solver/mld_diluk_fact.f90 +++ b/mlprec/impl/solver/mld_diluk_fact.f90 @@ -289,9 +289,11 @@ contains character(len=20), parameter :: name='mld_diluk_factint' character(len=20) :: ch_err - if (psb_get_errstatus() /= 0) return info=psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if select case(ialg) @@ -503,9 +505,11 @@ contains character(len=20), parameter :: name='iluk_copyin' character(len=20) :: ch_err - if (psb_get_errstatus() /= 0) return info=psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if call heap%init(info) select type (aa=> a%a) @@ -829,9 +833,11 @@ contains character(len=20), parameter :: name='mld_diluk_factint' character(len=20) :: ch_err - if (psb_get_errstatus() /= 0) return info = psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if d(i) = dzero diff --git a/mlprec/impl/solver/mld_dilut_fact.f90 b/mlprec/impl/solver/mld_dilut_fact.f90 index d8dfddce..f056812f 100644 --- a/mlprec/impl/solver/mld_dilut_fact.f90 +++ b/mlprec/impl/solver/mld_dilut_fact.f90 @@ -311,9 +311,11 @@ contains character(len=20), parameter :: name='mld_dilut_factint' character(len=20) :: ch_err - if (psb_get_errstatus() /= 0) return info = psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if ma = a%get_nrows() @@ -524,9 +526,11 @@ contains real(psb_dpk_), external :: dnrm2 character(len=20), parameter :: name='mld_dilut_factint' - if (psb_get_errstatus() /= 0) return info = psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if call heap%init(info) if (info /= psb_success_) then @@ -907,9 +911,11 @@ contains character(len=20) :: ch_err logical :: fndmaxup - if (psb_get_errstatus() /= 0) return info=psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if ! ! Here we need to apply also the dropping rule base on the fill-in. diff --git a/mlprec/impl/solver/mld_s_bwgs_solver_bld.f90 b/mlprec/impl/solver/mld_s_bwgs_solver_bld.f90 index 0d2eb1a3..d8312abc 100644 --- a/mlprec/impl/solver/mld_s_bwgs_solver_bld.f90 +++ b/mlprec/impl/solver/mld_s_bwgs_solver_bld.f90 @@ -78,7 +78,7 @@ subroutine mld_s_bwgs_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold) ! This cuts out the off-diagonal part, because it's supposed to ! be handled by the outer Jacobi smoother. ! - call a%tril(sv%l,info,diag=-1,jmax=nrow_a,u=sv%u) + call a%tril(sv%l,info,diag=-ione,jmax=nrow_a,u=sv%u) else diff --git a/mlprec/impl/solver/mld_s_gs_solver_bld.f90 b/mlprec/impl/solver/mld_s_gs_solver_bld.f90 index 24fedbc6..3d5f7c84 100644 --- a/mlprec/impl/solver/mld_s_gs_solver_bld.f90 +++ b/mlprec/impl/solver/mld_s_gs_solver_bld.f90 @@ -76,7 +76,7 @@ subroutine mld_s_gs_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold) ! This cuts out the off-diagonal part, because it's supposed to ! be handled by the outer Jacobi smoother. ! - call a%tril(sv%l,info,diag=0,jmax=nrow_a,u=sv%u) + call a%tril(sv%l,info,diag=izero,jmax=nrow_a,u=sv%u) else diff --git a/mlprec/impl/solver/mld_s_mumps_solver_apply.F90 b/mlprec/impl/solver/mld_s_mumps_solver_apply.F90 index 8c5aebdb..b705b8a2 100644 --- a/mlprec/impl/solver/mld_s_mumps_solver_apply.F90 +++ b/mlprec/impl/solver/mld_s_mumps_solver_apply.F90 @@ -64,7 +64,7 @@ subroutine s_mumps_solver_apply(alpha,sv,x,beta,y,desc_data,& call psb_erractionsave(err_act) -#if defined(HAVE_MUMPS_) +#if defined(HAVE_MUMPS_) && !defined(LPK8) info = psb_success_ trans_ = psb_toupper(trans) select case(trans_) diff --git a/mlprec/impl/solver/mld_s_mumps_solver_apply_vect.F90 b/mlprec/impl/solver/mld_s_mumps_solver_apply_vect.F90 index 59fad283..600f8da0 100644 --- a/mlprec/impl/solver/mld_s_mumps_solver_apply_vect.F90 +++ b/mlprec/impl/solver/mld_s_mumps_solver_apply_vect.F90 @@ -59,7 +59,7 @@ subroutine s_mumps_solver_apply_vect(alpha,sv,x,beta,y,desc_data,& integer(psb_ipk_) :: err_act character(len=20) :: name='s_mumps_solver_apply_vect' -#if defined(HAVE_MUMPS_) +#if defined(HAVE_MUMPS_) && !defined(LPK8) call psb_erractionsave(err_act) diff --git a/mlprec/impl/solver/mld_s_mumps_solver_bld.F90 b/mlprec/impl/solver/mld_s_mumps_solver_bld.F90 index caeea837..2562f541 100644 --- a/mlprec/impl/solver/mld_s_mumps_solver_bld.F90 +++ b/mlprec/impl/solver/mld_s_mumps_solver_bld.F90 @@ -63,7 +63,7 @@ integer(psb_ipk_) :: ictxt, ictxt1, icomm, np, iam, me, i, err_act, debug_unit, debug_level character(len=20) :: name='s_mumps_solver_bld', ch_err -#if defined(HAVE_MUMPS_) +#if defined(HAVE_MUMPS_) && !defined(LPK8) info=psb_success_ diff --git a/mlprec/impl/solver/mld_silu0_fact.f90 b/mlprec/impl/solver/mld_silu0_fact.f90 index 8065d4b1..f539a4db 100644 --- a/mlprec/impl/solver/mld_silu0_fact.f90 +++ b/mlprec/impl/solver/mld_silu0_fact.f90 @@ -304,9 +304,11 @@ contains character(len=20) :: name, ch_err name='mld_silu0_factint' - if(psb_get_errstatus().ne.0) return info=psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if ma = a%get_nrows() mb = b%get_nrows() @@ -569,9 +571,11 @@ contains character(len=20), parameter :: name='ilu_copyin' character(len=20) :: ch_err - if (psb_get_errstatus() /= 0) return info=psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if if (psb_toupper(upd) == 'F') then select type(aa => a%a) diff --git a/mlprec/impl/solver/mld_siluk_fact.f90 b/mlprec/impl/solver/mld_siluk_fact.f90 index e91173df..fe7e18d6 100644 --- a/mlprec/impl/solver/mld_siluk_fact.f90 +++ b/mlprec/impl/solver/mld_siluk_fact.f90 @@ -289,9 +289,11 @@ contains character(len=20), parameter :: name='mld_siluk_factint' character(len=20) :: ch_err - if (psb_get_errstatus() /= 0) return info=psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if select case(ialg) @@ -503,9 +505,11 @@ contains character(len=20), parameter :: name='iluk_copyin' character(len=20) :: ch_err - if (psb_get_errstatus() /= 0) return info=psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if call heap%init(info) select type (aa=> a%a) @@ -829,9 +833,11 @@ contains character(len=20), parameter :: name='mld_siluk_factint' character(len=20) :: ch_err - if (psb_get_errstatus() /= 0) return info = psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if d(i) = szero diff --git a/mlprec/impl/solver/mld_silut_fact.f90 b/mlprec/impl/solver/mld_silut_fact.f90 index 510321a1..202157df 100644 --- a/mlprec/impl/solver/mld_silut_fact.f90 +++ b/mlprec/impl/solver/mld_silut_fact.f90 @@ -311,9 +311,11 @@ contains character(len=20), parameter :: name='mld_silut_factint' character(len=20) :: ch_err - if (psb_get_errstatus() /= 0) return info = psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if ma = a%get_nrows() @@ -524,9 +526,11 @@ contains real(psb_spk_), external :: dnrm2 character(len=20), parameter :: name='mld_silut_factint' - if (psb_get_errstatus() /= 0) return info = psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if call heap%init(info) if (info /= psb_success_) then @@ -907,9 +911,11 @@ contains character(len=20) :: ch_err logical :: fndmaxup - if (psb_get_errstatus() /= 0) return info=psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if ! ! Here we need to apply also the dropping rule base on the fill-in. diff --git a/mlprec/impl/solver/mld_z_bwgs_solver_bld.f90 b/mlprec/impl/solver/mld_z_bwgs_solver_bld.f90 index 38454e18..e02d53fb 100644 --- a/mlprec/impl/solver/mld_z_bwgs_solver_bld.f90 +++ b/mlprec/impl/solver/mld_z_bwgs_solver_bld.f90 @@ -78,7 +78,7 @@ subroutine mld_z_bwgs_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold) ! This cuts out the off-diagonal part, because it's supposed to ! be handled by the outer Jacobi smoother. ! - call a%tril(sv%l,info,diag=-1,jmax=nrow_a,u=sv%u) + call a%tril(sv%l,info,diag=-ione,jmax=nrow_a,u=sv%u) else diff --git a/mlprec/impl/solver/mld_z_gs_solver_bld.f90 b/mlprec/impl/solver/mld_z_gs_solver_bld.f90 index a3934cd5..c6a316ed 100644 --- a/mlprec/impl/solver/mld_z_gs_solver_bld.f90 +++ b/mlprec/impl/solver/mld_z_gs_solver_bld.f90 @@ -76,7 +76,7 @@ subroutine mld_z_gs_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold) ! This cuts out the off-diagonal part, because it's supposed to ! be handled by the outer Jacobi smoother. ! - call a%tril(sv%l,info,diag=0,jmax=nrow_a,u=sv%u) + call a%tril(sv%l,info,diag=izero,jmax=nrow_a,u=sv%u) else diff --git a/mlprec/impl/solver/mld_z_mumps_solver_apply.F90 b/mlprec/impl/solver/mld_z_mumps_solver_apply.F90 index 71742830..43d24d93 100644 --- a/mlprec/impl/solver/mld_z_mumps_solver_apply.F90 +++ b/mlprec/impl/solver/mld_z_mumps_solver_apply.F90 @@ -64,7 +64,7 @@ subroutine z_mumps_solver_apply(alpha,sv,x,beta,y,desc_data,& call psb_erractionsave(err_act) -#if defined(HAVE_MUMPS_) +#if defined(HAVE_MUMPS_) && !defined(LPK8) info = psb_success_ trans_ = psb_toupper(trans) select case(trans_) diff --git a/mlprec/impl/solver/mld_z_mumps_solver_apply_vect.F90 b/mlprec/impl/solver/mld_z_mumps_solver_apply_vect.F90 index 29db13b8..810c51f4 100644 --- a/mlprec/impl/solver/mld_z_mumps_solver_apply_vect.F90 +++ b/mlprec/impl/solver/mld_z_mumps_solver_apply_vect.F90 @@ -59,7 +59,7 @@ subroutine z_mumps_solver_apply_vect(alpha,sv,x,beta,y,desc_data,& integer(psb_ipk_) :: err_act character(len=20) :: name='z_mumps_solver_apply_vect' -#if defined(HAVE_MUMPS_) +#if defined(HAVE_MUMPS_) && !defined(LPK8) call psb_erractionsave(err_act) diff --git a/mlprec/impl/solver/mld_z_mumps_solver_bld.F90 b/mlprec/impl/solver/mld_z_mumps_solver_bld.F90 index bbf1fe52..571ef599 100644 --- a/mlprec/impl/solver/mld_z_mumps_solver_bld.F90 +++ b/mlprec/impl/solver/mld_z_mumps_solver_bld.F90 @@ -63,7 +63,7 @@ integer(psb_ipk_) :: ictxt, ictxt1, icomm, np, iam, me, i, err_act, debug_unit, debug_level character(len=20) :: name='z_mumps_solver_bld', ch_err -#if defined(HAVE_MUMPS_) +#if defined(HAVE_MUMPS_) && !defined(LPK8) info=psb_success_ diff --git a/mlprec/impl/solver/mld_zilu0_fact.f90 b/mlprec/impl/solver/mld_zilu0_fact.f90 index 5a89e785..30dcbce6 100644 --- a/mlprec/impl/solver/mld_zilu0_fact.f90 +++ b/mlprec/impl/solver/mld_zilu0_fact.f90 @@ -304,9 +304,11 @@ contains character(len=20) :: name, ch_err name='mld_zilu0_factint' - if(psb_get_errstatus().ne.0) return info=psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if ma = a%get_nrows() mb = b%get_nrows() @@ -569,9 +571,11 @@ contains character(len=20), parameter :: name='ilu_copyin' character(len=20) :: ch_err - if (psb_get_errstatus() /= 0) return info=psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if if (psb_toupper(upd) == 'F') then select type(aa => a%a) diff --git a/mlprec/impl/solver/mld_ziluk_fact.f90 b/mlprec/impl/solver/mld_ziluk_fact.f90 index daf52dc9..dced4381 100644 --- a/mlprec/impl/solver/mld_ziluk_fact.f90 +++ b/mlprec/impl/solver/mld_ziluk_fact.f90 @@ -289,9 +289,11 @@ contains character(len=20), parameter :: name='mld_ziluk_factint' character(len=20) :: ch_err - if (psb_get_errstatus() /= 0) return info=psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if select case(ialg) @@ -503,9 +505,11 @@ contains character(len=20), parameter :: name='iluk_copyin' character(len=20) :: ch_err - if (psb_get_errstatus() /= 0) return info=psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if call heap%init(info) select type (aa=> a%a) @@ -829,9 +833,11 @@ contains character(len=20), parameter :: name='mld_ziluk_factint' character(len=20) :: ch_err - if (psb_get_errstatus() /= 0) return info = psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if d(i) = zzero diff --git a/mlprec/impl/solver/mld_zilut_fact.f90 b/mlprec/impl/solver/mld_zilut_fact.f90 index 7554b35a..72a398cd 100644 --- a/mlprec/impl/solver/mld_zilut_fact.f90 +++ b/mlprec/impl/solver/mld_zilut_fact.f90 @@ -311,9 +311,11 @@ contains character(len=20), parameter :: name='mld_zilut_factint' character(len=20) :: ch_err - if (psb_get_errstatus() /= 0) return info = psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if ma = a%get_nrows() @@ -524,9 +526,11 @@ contains real(psb_dpk_), external :: dnrm2 character(len=20), parameter :: name='mld_zilut_factint' - if (psb_get_errstatus() /= 0) return info = psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if call heap%init(info) if (info /= psb_success_) then @@ -907,9 +911,11 @@ contains character(len=20) :: ch_err logical :: fndmaxup - if (psb_get_errstatus() /= 0) return info=psb_success_ call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if ! ! Here we need to apply also the dropping rule base on the fill-in. diff --git a/mlprec/mld_base_prec_type.F90 b/mlprec/mld_base_prec_type.F90 index 6bd3b515..1eebd059 100644 --- a/mlprec/mld_base_prec_type.F90 +++ b/mlprec/mld_base_prec_type.F90 @@ -65,10 +65,10 @@ module mld_base_prec_type use psb_const_mod use psb_base_mod, only :& & psb_desc_type, psb_i_vect_type, psb_i_base_vect_type,& - & psb_ipk_, psb_dpk_, psb_spk_, psb_long_int_k_, & + & psb_ipk_, psb_dpk_, psb_spk_, psb_epk_, & & psb_cdfree, psb_halo_, psb_none_, psb_sum_, psb_avg_, & & psb_nohalo_, psb_square_root_, psb_toupper, psb_root_,& - & psb_sizeof_int, psb_sizeof_long_int, psb_sizeof_sp, & + & psb_sizeof_ip, psb_sizeof_lp, psb_sizeof_sp, & & psb_sizeof_dp, psb_sizeof,& & psb_cd_get_context, psb_info, psb_min, psb_sum, psb_bcast,& & psb_sizeof, psb_free, psb_cdfree, & diff --git a/mlprec/mld_c_as_smoother.f90 b/mlprec/mld_c_as_smoother.f90 index 117a5b01..0863992d 100644 --- a/mlprec/mld_c_as_smoother.f90 +++ b/mlprec/mld_c_as_smoother.f90 @@ -109,7 +109,7 @@ module mld_c_as_smoother interface subroutine mld_c_as_smoother_check(sm,info) import :: psb_cspmat_type, psb_c_vect_type, psb_c_base_vect_type, & - & psb_spk_, mld_c_as_smoother_type, psb_long_int_k_, psb_desc_type, psb_ipk_ + & psb_spk_, mld_c_as_smoother_type, psb_epk_, psb_desc_type, psb_ipk_ implicit none class(mld_c_as_smoother_type), intent(inout) :: sm integer(psb_ipk_), intent(out) :: info @@ -119,7 +119,7 @@ module mld_c_as_smoother interface subroutine mld_c_as_smoother_restr_v(sm,x,trans,work,info,data) import :: psb_cspmat_type, psb_c_vect_type, psb_c_base_vect_type, & - & psb_spk_, mld_c_as_smoother_type, psb_long_int_k_, & + & psb_spk_, mld_c_as_smoother_type, psb_epk_, & & psb_desc_type, psb_ipk_ implicit none class(mld_c_as_smoother_type), intent(inout) :: sm @@ -134,7 +134,7 @@ module mld_c_as_smoother interface subroutine mld_c_as_smoother_restr_a(sm,x,trans,work,info,data) import :: psb_cspmat_type, psb_c_vect_type, psb_c_base_vect_type, & - & psb_spk_, mld_c_as_smoother_type, psb_long_int_k_, & + & psb_spk_, mld_c_as_smoother_type, psb_epk_, & & psb_desc_type, psb_ipk_ implicit none class(mld_c_as_smoother_type), intent(inout) :: sm @@ -149,7 +149,7 @@ module mld_c_as_smoother interface subroutine mld_c_as_smoother_prol_v(sm,x,trans,work,info,data) import :: psb_cspmat_type, psb_c_vect_type, psb_c_base_vect_type, & - & psb_spk_, mld_c_as_smoother_type, psb_long_int_k_, & + & psb_spk_, mld_c_as_smoother_type, psb_epk_, & & psb_desc_type, psb_ipk_ implicit none class(mld_c_as_smoother_type), intent(inout) :: sm @@ -164,7 +164,7 @@ module mld_c_as_smoother interface subroutine mld_c_as_smoother_prol_a(sm,x,trans,work,info,data) import :: psb_cspmat_type, psb_c_vect_type, psb_c_base_vect_type, & - & psb_spk_, mld_c_as_smoother_type, psb_long_int_k_, & + & psb_spk_, mld_c_as_smoother_type, psb_epk_, & & psb_desc_type, psb_ipk_ implicit none class(mld_c_as_smoother_type), intent(inout) :: sm @@ -181,7 +181,7 @@ module mld_c_as_smoother subroutine mld_c_as_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,& & trans,sweeps,work,wv,info,init,initu) import :: psb_cspmat_type, psb_c_vect_type, psb_c_base_vect_type, & - & psb_spk_, mld_c_as_smoother_type, psb_long_int_k_, & + & psb_spk_, mld_c_as_smoother_type, psb_epk_, & & psb_desc_type, psb_ipk_ implicit none type(psb_desc_type), intent(in) :: desc_data @@ -203,7 +203,7 @@ module mld_c_as_smoother subroutine mld_c_as_smoother_apply(alpha,sm,x,beta,y,desc_data,& & trans,sweeps,work,info,init,initu) import :: psb_cspmat_type, psb_c_vect_type, psb_c_base_vect_type, & - & psb_spk_, mld_c_as_smoother_type, psb_long_int_k_,& + & psb_spk_, mld_c_as_smoother_type, psb_epk_,& & psb_desc_type, psb_ipk_ implicit none type(psb_desc_type), intent(in) :: desc_data @@ -223,7 +223,7 @@ module mld_c_as_smoother interface subroutine mld_c_as_smoother_bld(a,desc_a,sm,info,amold,vmold,imold) import :: psb_cspmat_type, psb_c_vect_type, psb_c_base_vect_type, & - & psb_spk_, mld_c_as_smoother_type, psb_long_int_k_, & + & psb_spk_, mld_c_as_smoother_type, psb_epk_, & & psb_desc_type, psb_c_base_sparse_mat, psb_ipk_,& & psb_i_base_vect_type implicit none @@ -240,7 +240,7 @@ module mld_c_as_smoother interface subroutine mld_c_as_smoother_cnv(sm,info,amold,vmold,imold) import :: psb_c_base_vect_type, & - & psb_spk_, mld_c_as_smoother_type, psb_long_int_k_, & + & psb_spk_, mld_c_as_smoother_type, psb_epk_, & & psb_c_base_sparse_mat, psb_ipk_, psb_i_base_vect_type implicit none class(mld_c_as_smoother_type), intent(inout) :: sm @@ -254,7 +254,7 @@ module mld_c_as_smoother interface subroutine mld_c_as_smoother_cseti(sm,what,val,info,idx) import :: psb_cspmat_type, psb_c_vect_type, psb_c_base_vect_type, & - & psb_spk_, mld_c_as_smoother_type, psb_long_int_k_, psb_desc_type, psb_ipk_ + & psb_spk_, mld_c_as_smoother_type, psb_epk_, psb_desc_type, psb_ipk_ implicit none class(mld_c_as_smoother_type), intent(inout) :: sm character(len=*), intent(in) :: what @@ -267,7 +267,7 @@ module mld_c_as_smoother interface subroutine mld_c_as_smoother_csetc(sm,what,val,info,idx) import :: psb_cspmat_type, psb_c_vect_type, psb_c_base_vect_type, & - & psb_spk_, mld_c_as_smoother_type, psb_long_int_k_, psb_desc_type, psb_ipk_ + & psb_spk_, mld_c_as_smoother_type, psb_epk_, psb_desc_type, psb_ipk_ implicit none class(mld_c_as_smoother_type), intent(inout) :: sm character(len=*), intent(in) :: what @@ -280,7 +280,7 @@ module mld_c_as_smoother interface subroutine mld_c_as_smoother_free(sm,info) import :: psb_cspmat_type, psb_c_vect_type, psb_c_base_vect_type, & - & psb_spk_, mld_c_as_smoother_type, psb_long_int_k_, psb_desc_type, psb_ipk_ + & psb_spk_, mld_c_as_smoother_type, psb_epk_, psb_desc_type, psb_ipk_ implicit none class(mld_c_as_smoother_type), intent(inout) :: sm integer(psb_ipk_), intent(out) :: info @@ -290,7 +290,7 @@ module mld_c_as_smoother interface subroutine mld_c_as_smoother_dmp(sm,ictxt,level,info,prefix,head,smoother,solver) import :: psb_cspmat_type, psb_c_vect_type, psb_c_base_vect_type, & - & psb_spk_, mld_c_as_smoother_type, psb_long_int_k_, psb_desc_type, & + & psb_spk_, mld_c_as_smoother_type, psb_epk_, psb_desc_type, & & psb_ipk_ implicit none class(mld_c_as_smoother_type), intent(in) :: sm @@ -318,10 +318,10 @@ contains implicit none ! Arguments class(mld_c_as_smoother_type), intent(in) :: sm - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i - val = psb_sizeof_int + val = psb_sizeof_ip if (allocated(sm%sv)) val = val + sm%sv%sizeof() val = val + sm%nd%sizeof() @@ -331,7 +331,7 @@ contains function c_as_smoother_get_nzeros(sm) result(val) implicit none class(mld_c_as_smoother_type), intent(in) :: sm - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 if (allocated(sm%sv)) & diff --git a/mlprec/mld_c_base_aggregator_mod.f90 b/mlprec/mld_c_base_aggregator_mod.f90 index f06f418b..b089cccb 100644 --- a/mlprec/mld_c_base_aggregator_mod.f90 +++ b/mlprec/mld_c_base_aggregator_mod.f90 @@ -42,9 +42,9 @@ module mld_c_base_aggregator_mod use mld_base_prec_type, only : mld_sml_parms - use psb_base_mod, only : psb_cspmat_type, psb_c_vect_type, & + use psb_base_mod, only : psb_cspmat_type, psb_lcspmat_type, psb_c_vect_type, & & psb_c_base_vect_type, psb_clinmap_type, psb_spk_, & - & psb_ipk_, psb_long_int_k_, psb_desc_type, psb_i_base_vect_type, & + & psb_ipk_, psb_epk_, psb_lpk_, psb_desc_type, psb_i_base_vect_type, & & psb_erractionsave, psb_error_handler, psb_success_ ! ! @@ -246,8 +246,8 @@ contains type(mld_sml_parms), intent(inout) :: parms type(psb_cspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) - type(psb_cspmat_type), intent(out) :: op_prol + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + type(psb_lcspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info integer(psb_ipk_) :: err_act @@ -295,9 +295,9 @@ contains type(mld_sml_parms), intent(inout) :: parms type(psb_cspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:), nlaggr(:) - type(psb_cspmat_type), intent(inout) :: op_prol - type(psb_cspmat_type), intent(out) :: ac,op_restr + integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) + type(psb_lcspmat_type), intent(inout) :: op_prol + type(psb_lcspmat_type), intent(out) :: ac,op_restr integer(psb_ipk_), intent(out) :: info integer(psb_ipk_) :: err_act character(len=20) :: name='c_base_aggregator_mat_asb' diff --git a/mlprec/mld_c_base_smoother_mod.f90 b/mlprec/mld_c_base_smoother_mod.f90 index 1b4b7d59..cbb01197 100644 --- a/mlprec/mld_c_base_smoother_mod.f90 +++ b/mlprec/mld_c_base_smoother_mod.f90 @@ -60,7 +60,7 @@ module mld_c_base_smoother_mod use mld_c_base_solver_mod - use psb_base_mod, only : psb_desc_type, psb_cspmat_type, psb_long_int_k_,& + use psb_base_mod, only : psb_desc_type, psb_cspmat_type, psb_epk_,& & psb_c_vect_type, psb_c_base_vect_type, psb_c_base_sparse_mat, & & psb_spk_, psb_i_base_vect_type, psb_erractionsave, psb_error_handler @@ -317,7 +317,7 @@ contains function c_base_smoother_get_nzeros(sm) result(val) implicit none class(mld_c_base_smoother_type), intent(in) :: sm - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 if (allocated(sm%sv)) & @@ -328,7 +328,7 @@ contains implicit none ! Arguments class(mld_c_base_smoother_type), intent(in) :: sm - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 diff --git a/mlprec/mld_c_base_solver_mod.f90 b/mlprec/mld_c_base_solver_mod.f90 index c88965c7..a58ea371 100644 --- a/mlprec/mld_c_base_solver_mod.f90 +++ b/mlprec/mld_c_base_solver_mod.f90 @@ -324,7 +324,7 @@ contains implicit none ! Arguments class(mld_c_base_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 @@ -334,7 +334,7 @@ contains function c_base_solver_get_nzeros(sv) result(val) implicit none class(mld_c_base_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 end function c_base_solver_get_nzeros diff --git a/mlprec/mld_c_dec_aggregator_mod.f90 b/mlprec/mld_c_dec_aggregator_mod.f90 index 42728468..3d21c09c 100644 --- a/mlprec/mld_c_dec_aggregator_mod.f90 +++ b/mlprec/mld_c_dec_aggregator_mod.f90 @@ -90,13 +90,13 @@ module mld_c_dec_aggregator_mod abstract interface subroutine mld_c_map_bld(iorder,theta,a,desc_a,nlaggr,ilaggr,info) - import :: psb_cspmat_type, psb_desc_type, psb_spk_, psb_ipk_ + import :: psb_cspmat_type, psb_desc_type, psb_spk_, psb_ipk_, psb_lpk_ implicit none integer(psb_ipk_), intent(in) :: iorder type(psb_cspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a real(psb_spk_), intent(in) :: theta - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) integer(psb_ipk_), intent(out) :: info end subroutine mld_c_map_bld end interface @@ -106,14 +106,14 @@ module mld_c_dec_aggregator_mod interface subroutine mld_c_dec_aggregator_build_tprol(ag,parms,a,desc_a,ilaggr,nlaggr,op_prol,info) import :: mld_c_dec_aggregator_type, psb_desc_type, psb_cspmat_type, psb_spk_, & - & psb_ipk_, psb_long_int_k_, mld_sml_parms + & psb_ipk_, psb_lpk_, psb_lcspmat_type, mld_sml_parms implicit none class(mld_c_dec_aggregator_type), target, intent(inout) :: ag type(mld_sml_parms), intent(inout) :: parms type(psb_cspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) - type(psb_cspmat_type), intent(out) :: op_prol + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + type(psb_lcspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info end subroutine mld_c_dec_aggregator_build_tprol end interface @@ -122,15 +122,15 @@ module mld_c_dec_aggregator_mod subroutine mld_c_dec_aggregator_mat_asb(ag,parms,a,desc_a,ilaggr,nlaggr,ac,& & op_prol,op_restr,info) import :: mld_c_dec_aggregator_type, psb_desc_type, psb_cspmat_type, psb_spk_, & - & psb_ipk_, psb_long_int_k_, mld_sml_parms + & psb_ipk_, psb_lpk_, psb_lcspmat_type, mld_sml_parms implicit none class(mld_c_dec_aggregator_type), target, intent(inout) :: ag type(mld_sml_parms), intent(inout) :: parms type(psb_cspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:), nlaggr(:) - type(psb_cspmat_type), intent(inout) :: op_prol - type(psb_cspmat_type), intent(out) :: ac,op_restr + integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) + type(psb_lcspmat_type), intent(inout) :: op_prol + type(psb_lcspmat_type), intent(out) :: ac,op_restr integer(psb_ipk_), intent(out) :: info end subroutine mld_c_dec_aggregator_mat_asb end interface diff --git a/mlprec/mld_c_diag_solver.f90 b/mlprec/mld_c_diag_solver.f90 index 2f9ce680..a935c6e0 100644 --- a/mlprec/mld_c_diag_solver.f90 +++ b/mlprec/mld_c_diag_solver.f90 @@ -237,7 +237,7 @@ contains implicit none ! Arguments class(mld_c_diag_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 @@ -250,7 +250,7 @@ contains implicit none ! Arguments class(mld_c_diag_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 diff --git a/mlprec/mld_c_gs_solver.f90 b/mlprec/mld_c_gs_solver.f90 index ea764175..a5e0e978 100644 --- a/mlprec/mld_c_gs_solver.f90 +++ b/mlprec/mld_c_gs_solver.f90 @@ -91,9 +91,11 @@ module mld_c_gs_solver end type mld_c_bwgs_solver_type - private :: c_gs_solver_free, & + private :: c_gs_solver_bld, c_gs_solver_apply, & + & c_gs_solver_free, & & c_gs_solver_descr, c_gs_solver_sizeof, & - & c_gs_solver_default, c_gs_solver_get_nzeros, & + & c_gs_solver_default, c_gs_solver_dmp, & + & c_gs_solver_apply_vect, c_gs_solver_get_nzeros, & & c_gs_solver_get_fmt, c_gs_solver_check,& & c_gs_solver_is_iterative, & & c_bwgs_solver_get_fmt, c_bwgs_solver_descr, & @@ -447,7 +449,7 @@ contains implicit none ! Arguments class(mld_c_gs_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 @@ -462,10 +464,10 @@ contains implicit none ! Arguments class(mld_c_gs_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i - val = psb_sizeof_int + val = psb_sizeof_ip val = val + sv%l%sizeof() val = val + sv%u%sizeof() diff --git a/mlprec/mld_c_ilu_solver.f90 b/mlprec/mld_c_ilu_solver.f90 index 3de2ddc4..8a6aa3b2 100644 --- a/mlprec/mld_c_ilu_solver.f90 +++ b/mlprec/mld_c_ilu_solver.f90 @@ -88,9 +88,11 @@ module mld_c_ilu_solver end type mld_c_ilu_solver_type - private :: c_ilu_solver_free, & + private :: c_ilu_solver_bld, c_ilu_solver_apply, & + & c_ilu_solver_free, & & c_ilu_solver_descr, c_ilu_solver_sizeof, & - & c_ilu_solver_default, c_ilu_solver_get_nzeros, & + & c_ilu_solver_default, c_ilu_solver_dmp, & + & c_ilu_solver_apply_vect, c_ilu_solver_get_nzeros, & & c_ilu_solver_get_fmt, c_ilu_solver_check, & & c_ilu_solver_get_id, c_ilu_solver_get_wrksize @@ -419,7 +421,7 @@ contains implicit none ! Arguments class(mld_c_ilu_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 @@ -435,10 +437,10 @@ contains implicit none ! Arguments class(mld_c_ilu_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i - val = 2*psb_sizeof_int + (2*psb_sizeof_sp) + val = 2*psb_sizeof_ip + (2*psb_sizeof_sp) val = val + sv%dv%sizeof() val = val + sv%l%sizeof() val = val + sv%u%sizeof() diff --git a/mlprec/mld_c_inner_mod.f90 b/mlprec/mld_c_inner_mod.f90 index 46b74f36..2ac6caf8 100644 --- a/mlprec/mld_c_inner_mod.f90 +++ b/mlprec/mld_c_inner_mod.f90 @@ -47,7 +47,7 @@ module mld_c_inner_mod use psb_base_mod, only : psb_cspmat_type, psb_desc_type, psb_i_base_vect_type, & & psb_spk_, psb_c_base_sparse_mat, psb_c_base_vect_type, psb_ipk_, & - & psb_c_vect_type + & psb_c_vect_type, psb_lpk_, psb_lcspmat_type use mld_c_prec_type, only : mld_cprec_type, mld_sml_parms, & & mld_c_onelev_type, mld_cmlprec_wrk_type @@ -99,80 +99,80 @@ module mld_c_inner_mod interface mld_aggrmap_bld subroutine mld_c_lev_aggrmap_bld(p,a,desc_a,ilaggr,nlaggr,op_prol,info) - import :: psb_cspmat_type, psb_desc_type, psb_spk_, psb_ipk_ + import :: psb_cspmat_type, psb_desc_type, psb_spk_, psb_ipk_, psb_lpk_, psb_lcspmat_type import :: mld_c_onelev_type implicit none type(mld_c_onelev_type), intent(inout), target :: p type(psb_cspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(out) :: ilaggr(:),nlaggr(:) - type(psb_cspmat_type), intent(out) :: op_prol + integer(psb_lpk_), intent(out) :: ilaggr(:),nlaggr(:) + type(psb_lcspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info end subroutine mld_c_lev_aggrmap_bld subroutine mld_caggrmap_bld(aggr_type,iorder,theta,a,desc_a,ilaggr,nlaggr,op_prol,info) - import :: psb_cspmat_type, psb_desc_type, psb_spk_, psb_ipk_ + import :: psb_cspmat_type, psb_desc_type, psb_spk_, psb_ipk_, psb_lpk_, psb_lcspmat_type implicit none integer(psb_ipk_), intent(in) :: iorder integer(psb_ipk_), intent(in) :: aggr_type real(psb_spk_), intent(in) :: theta type(psb_cspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) - type(psb_cspmat_type), intent(out) :: op_prol + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + type(psb_lcspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info end subroutine mld_caggrmap_bld end interface mld_aggrmap_bld interface mld_map_to_tprol subroutine mld_c_map_to_tprol(desc_a,ilaggr,nlaggr,op_prol,info) - use psb_base_mod, only : psb_cspmat_type, psb_desc_type, psb_spk_, psb_ipk_ + use psb_base_mod, only : psb_cspmat_type, psb_desc_type, psb_spk_, psb_ipk_, psb_lpk_, psb_lcspmat_type use mld_c_prec_type, only : mld_c_onelev_type implicit none type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), allocatable, intent(inout) :: ilaggr(:),nlaggr(:) - type(psb_cspmat_type), intent(out) :: op_prol + integer(psb_lpk_), allocatable, intent(inout) :: ilaggr(:),nlaggr(:) + type(psb_lcspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info end subroutine mld_c_map_to_tprol end interface mld_map_to_tprol interface mld_lev_mat_asb subroutine mld_c_lev_aggrmat_asb(p,a,desc_a,ilaggr,nlaggr,op_prol,info) - import :: psb_cspmat_type, psb_desc_type, psb_spk_, psb_ipk_ + import :: psb_cspmat_type, psb_desc_type, psb_spk_, psb_ipk_, psb_lpk_, psb_lcspmat_type import :: mld_c_onelev_type implicit none type(mld_c_onelev_type), intent(inout), target :: p type(psb_cspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:),nlaggr(:) - type(psb_cspmat_type), intent(inout) :: op_prol + integer(psb_lpk_), intent(inout) :: ilaggr(:),nlaggr(:) + type(psb_lcspmat_type), intent(inout) :: op_prol integer(psb_ipk_), intent(out) :: info end subroutine mld_c_lev_aggrmat_asb end interface mld_lev_mat_asb interface mld_aggrmat_asb subroutine mld_caggrmat_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr,info) - import :: psb_cspmat_type, psb_desc_type, psb_spk_, psb_ipk_ + import :: psb_cspmat_type, psb_desc_type, psb_spk_, psb_ipk_, psb_lpk_, psb_lcspmat_type import :: mld_sml_parms implicit none type(psb_cspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:), nlaggr(:) + integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) type(mld_sml_parms), intent(inout) :: parms - type(psb_cspmat_type), intent(out) :: ac,op_prol,op_restr + type(psb_lcspmat_type), intent(out) :: ac,op_prol,op_restr integer(psb_ipk_), intent(out) :: info end subroutine mld_caggrmat_asb end interface mld_aggrmat_asb abstract interface subroutine mld_caggrmat_var_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr,info) - import :: psb_cspmat_type, psb_desc_type, psb_spk_, psb_ipk_ + import :: psb_cspmat_type, psb_desc_type, psb_spk_, psb_ipk_, psb_lpk_, psb_lcspmat_type import :: mld_c_onelev_type, mld_sml_parms implicit none type(psb_cspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:), nlaggr(:) + integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) type(mld_sml_parms), intent(inout) :: parms - type(psb_cspmat_type), intent(out) :: ac,op_prol,op_restr + type(psb_lcspmat_type), intent(out) :: ac,op_prol,op_restr integer(psb_ipk_), intent(out) :: info end subroutine mld_caggrmat_var_asb end interface diff --git a/mlprec/mld_c_jac_smoother.f90 b/mlprec/mld_c_jac_smoother.f90 index d689d938..9e2615c3 100644 --- a/mlprec/mld_c_jac_smoother.f90 +++ b/mlprec/mld_c_jac_smoother.f90 @@ -77,7 +77,7 @@ module mld_c_jac_smoother end type mld_c_jac_smoother_type - private :: c_jac_smoother_free, & + private :: c_jac_smoother_free, c_jac_smoother_descr, & & c_jac_smoother_sizeof, c_jac_smoother_get_nzeros, & & c_jac_smoother_get_fmt, c_jac_smoother_get_id, & & c_jac_smoother_get_wrksize @@ -156,7 +156,7 @@ module mld_c_jac_smoother interface subroutine mld_c_jac_smoother_dmp(sm,ictxt,level,info,prefix,head,smoother,solver) import :: psb_cspmat_type, psb_c_vect_type, psb_c_base_vect_type, & - & psb_spk_, mld_c_jac_smoother_type, psb_long_int_k_, psb_desc_type, & + & psb_spk_, mld_c_jac_smoother_type, psb_epk_, psb_desc_type, & & psb_ipk_ implicit none class(mld_c_jac_smoother_type), intent(in) :: sm @@ -230,10 +230,10 @@ contains implicit none ! Arguments class(mld_c_jac_smoother_type), intent(in) :: sm - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i - val = psb_sizeof_int + val = psb_sizeof_ip if (allocated(sm%sv)) val = val + sm%sv%sizeof() val = val + sm%nd%sizeof() @@ -245,7 +245,7 @@ contains implicit none ! Arguments class(mld_c_jac_smoother_type), intent(in) :: sm - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 diff --git a/mlprec/mld_c_mumps_solver.F90 b/mlprec/mld_c_mumps_solver.F90 index aaa418e4..a12f2526 100644 --- a/mlprec/mld_c_mumps_solver.F90 +++ b/mlprec/mld_c_mumps_solver.F90 @@ -58,7 +58,7 @@ module mld_c_mumps_solver include 'cmumps_struc.h' #endif -#if defined(LONG_INTEGERS) +#if defined(LPK8) type, extends(mld_c_base_solver_type) :: mld_c_mumps_solver_type @@ -429,19 +429,18 @@ contains implicit none ! Arguments class(mld_c_mumps_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer :: i #if defined(HAVE_MUMPS_) val = (sv%id%INFOG(22)+sv%id%INFOG(32))*1d+6 #else val = 0 #endif - ! val = 2*psb_sizeof_int + psb_sizeof_dp + ! val = 2*psb_sizeof_ip + psb_sizeof_dp ! val = val + sv%symbsize ! val = val + sv%numsize return end function c_mumps_solver_sizeof -#endif function c_mumps_solver_get_fmt() result(val) implicit none @@ -456,6 +455,7 @@ contains val = mld_mumps_ end function c_mumps_solver_get_id +#endif end module mld_c_mumps_solver diff --git a/mlprec/mld_c_onelev_mod.f90 b/mlprec/mld_c_onelev_mod.f90 index 4652bb88..76663134 100644 --- a/mlprec/mld_c_onelev_mod.f90 +++ b/mlprec/mld_c_onelev_mod.f90 @@ -57,8 +57,8 @@ module mld_c_onelev_mod use mld_c_base_smoother_mod use mld_c_dec_aggregator_mod use psb_base_mod, only : psb_cspmat_type, psb_c_vect_type, & - & psb_c_base_vect_type, psb_clinmap_type, psb_spk_, & - & psb_ipk_, psb_long_int_k_, psb_desc_type, psb_i_base_vect_type, & + & psb_c_base_vect_type, psb_lcspmat_type, psb_clinmap_type, psb_spk_, & + & psb_ipk_, psb_epk_, psb_lpk_, psb_desc_type, psb_i_base_vect_type, & & psb_erractionsave, psb_error_handler ! ! @@ -164,7 +164,7 @@ module mld_c_onelev_mod type(psb_desc_type) :: desc_ac type(psb_cspmat_type), pointer :: base_a => null() type(psb_desc_type), pointer :: base_desc => null() - type(psb_cspmat_type) :: tprol + type(psb_lcspmat_type) :: tprol type(psb_clinmap_type) :: map real(psb_spk_) :: szratio contains @@ -210,14 +210,14 @@ module mld_c_onelev_mod interface subroutine mld_c_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) - import :: psb_cspmat_type, psb_desc_type, psb_spk_, psb_ipk_ + import :: psb_cspmat_type, psb_desc_type, psb_spk_, psb_ipk_, psb_lcspmat_type, psb_lpk_ import :: mld_c_onelev_type implicit none class(mld_c_onelev_type), intent(inout), target :: lv type(psb_cspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:),nlaggr(:) - type(psb_cspmat_type), intent(inout) :: op_prol + integer(psb_lpk_), intent(inout) :: ilaggr(:),nlaggr(:) + type(psb_lcspmat_type), intent(inout) :: op_prol integer(psb_ipk_), intent(out) :: info end subroutine mld_c_base_onelev_mat_asb end interface @@ -226,7 +226,7 @@ module mld_c_onelev_mod subroutine mld_c_base_onelev_build(lv,info,amold,vmold,imold) import :: psb_c_base_sparse_mat, psb_c_base_vect_type, & & psb_i_base_vect_type, psb_spk_, mld_c_onelev_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type implicit none class(mld_c_onelev_type), target, intent(inout) :: lv integer(psb_ipk_), intent(out) :: info @@ -240,7 +240,7 @@ module mld_c_onelev_mod subroutine mld_c_base_onelev_descr(lv,il,nl,ilmin,info,iout) import :: psb_cspmat_type, psb_c_vect_type, psb_c_base_vect_type, & & psb_clinmap_type, psb_spk_, mld_c_onelev_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type Implicit None ! Arguments class(mld_c_onelev_type), intent(in) :: lv @@ -263,11 +263,11 @@ module mld_c_onelev_mod end subroutine mld_c_base_onelev_cnv end interface - interface +interface subroutine mld_c_base_onelev_free(lv,info) import :: psb_cspmat_type, psb_c_vect_type, psb_c_base_vect_type, & & psb_clinmap_type, psb_spk_, mld_c_onelev_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type implicit none class(mld_c_onelev_type), intent(inout) :: lv @@ -279,7 +279,7 @@ module mld_c_onelev_mod subroutine mld_c_base_onelev_check(lv,info) import :: psb_cspmat_type, psb_c_vect_type, psb_c_base_vect_type, & & psb_clinmap_type, psb_spk_, mld_c_onelev_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type Implicit None ! Arguments class(mld_c_onelev_type), intent(inout) :: lv @@ -290,7 +290,7 @@ module mld_c_onelev_mod interface subroutine mld_c_base_onelev_setsm(lv,val,info,pos) import :: psb_spk_, mld_c_onelev_type, mld_c_base_smoother_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type Implicit None ! Arguments @@ -304,7 +304,7 @@ module mld_c_onelev_mod interface subroutine mld_c_base_onelev_setsv(lv,val,info,pos) import :: psb_spk_, mld_c_onelev_type, mld_c_base_solver_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type Implicit None ! Arguments @@ -318,7 +318,7 @@ module mld_c_onelev_mod interface subroutine mld_c_base_onelev_setag(lv,val,info,pos) import :: psb_spk_, mld_c_onelev_type, mld_c_base_aggregator_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type Implicit None ! Arguments @@ -333,7 +333,7 @@ module mld_c_onelev_mod subroutine mld_c_base_onelev_cseti(lv,what,val,info,pos,idx) import :: psb_cspmat_type, psb_c_vect_type, psb_c_base_vect_type, & & psb_clinmap_type, psb_spk_, mld_c_onelev_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type Implicit None ! Arguments @@ -350,7 +350,7 @@ module mld_c_onelev_mod subroutine mld_c_base_onelev_csetc(lv,what,val,info,pos,idx) import :: psb_cspmat_type, psb_c_vect_type, psb_c_base_vect_type, & & psb_clinmap_type, psb_spk_, mld_c_onelev_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type Implicit None ! Arguments class(mld_c_onelev_type), intent(inout) :: lv @@ -366,7 +366,7 @@ module mld_c_onelev_mod subroutine mld_c_base_onelev_csetr(lv,what,val,info,pos,idx) import :: psb_cspmat_type, psb_c_vect_type, psb_c_base_vect_type, & & psb_clinmap_type, psb_spk_, mld_c_onelev_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type Implicit None class(mld_c_onelev_type), intent(inout) :: lv @@ -383,7 +383,7 @@ module mld_c_onelev_mod & solver,global_num) import :: psb_cspmat_type, psb_c_vect_type, psb_c_base_vect_type, & & psb_clinmap_type, psb_spk_, mld_c_onelev_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type implicit none class(mld_c_onelev_type), intent(in) :: lv integer(psb_ipk_), intent(in) :: level @@ -402,7 +402,7 @@ contains function c_base_onelev_get_nzeros(lv) result(val) implicit none class(mld_c_onelev_type), intent(in) :: lv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 if (allocated(lv%sm)) & @@ -414,7 +414,7 @@ contains function c_base_onelev_sizeof(lv) result(val) implicit none class(mld_c_onelev_type), intent(in) :: lv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 @@ -488,8 +488,8 @@ contains class(mld_c_onelev_type), intent(inout), target :: lv type(psb_cspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) - type(psb_cspmat_type), intent(out) :: op_prol + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + type(psb_lcspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info call lv%aggr%bld_tprol(lv%parms,a,desc_a,ilaggr,nlaggr,op_prol,info) diff --git a/mlprec/mld_c_prec_type.f90 b/mlprec/mld_c_prec_type.f90 index c370f2ea..dc0e0b70 100644 --- a/mlprec/mld_c_prec_type.f90 +++ b/mlprec/mld_c_prec_type.f90 @@ -57,6 +57,7 @@ module mld_c_prec_type use mld_c_base_smoother_mod use mld_c_base_aggregator_mod use mld_c_onelev_mod + use psb_base_mod, only : psb_erractionsave, psb_erractionrestore, psb_errstatus_fatal use psb_prec_mod, only : psb_cprec_type ! @@ -407,7 +408,7 @@ contains function mld_c_get_nzeros(prec) result(val) implicit none class(mld_cprec_type), intent(in) :: prec - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 if (allocated(prec%precv)) then @@ -420,10 +421,10 @@ contains function mld_cprec_sizeof(prec) result(val) implicit none class(mld_cprec_type), intent(in) :: prec - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 - val = val + psb_sizeof_int + val = val + psb_sizeof_ip if (allocated(prec%precv)) then do i=1, size(prec%precv) val = val + prec%precv(i)%sizeof() @@ -542,10 +543,12 @@ contains integer(psb_ipk_) :: me,err_act,i character(len=20) :: name - if(psb_get_errstatus().ne.0) return info=psb_success_ name = 'mld_cprecfree' call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; return + end if me=-1 @@ -557,7 +560,7 @@ contains end subroutine mld_cprecfree subroutine mld_c_prec_free(prec,info) - + implicit none ! Arguments @@ -568,10 +571,12 @@ contains integer(psb_ipk_) :: me,err_act,i character(len=20) :: name - if(psb_get_errstatus().ne.0) return info=psb_success_ name = 'mld_cprecfree' call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if me=-1 call prec%free_wrk(info) @@ -857,10 +862,12 @@ contains integer(psb_ipk_) :: me,err_act,i,j,level,nlev, nc2l character(len=20) :: name - if(psb_get_errstatus().ne.0) return info=psb_success_ name = 'mld_c_allocate_wrk' call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if nlev = size(prec%precv) level = 1 do level = 1, nlev @@ -896,10 +903,12 @@ contains integer(psb_ipk_) :: me,err_act,i,j,level, nlev, nc2l character(len=20) :: name - if(psb_get_errstatus().ne.0) return info=psb_success_ name = 'mld_c_free_wrk' call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if nlev = size(prec%precv) do level = 1, nlev diff --git a/mlprec/mld_c_slu_solver.F90 b/mlprec/mld_c_slu_solver.F90 index c7d85e45..9d95eddd 100644 --- a/mlprec/mld_c_slu_solver.F90 +++ b/mlprec/mld_c_slu_solver.F90 @@ -51,7 +51,7 @@ module mld_c_slu_solver use iso_c_binding use mld_c_base_solver_mod -#if defined(LONG_INTEGERS) +#if defined(IPK8) type, extends(mld_c_base_solver_type) :: mld_c_slu_solver_type @@ -402,10 +402,10 @@ contains implicit none ! Arguments class(mld_c_slu_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer :: i - val = 2*psb_sizeof_int + psb_sizeof_dp + val = 2*psb_sizeof_ip + psb_sizeof_dp val = val + sv%symbsize val = val + sv%numsize return diff --git a/mlprec/mld_c_symdec_aggregator_mod.f90 b/mlprec/mld_c_symdec_aggregator_mod.f90 index f01faa57..f9436ddf 100644 --- a/mlprec/mld_c_symdec_aggregator_mod.f90 +++ b/mlprec/mld_c_symdec_aggregator_mod.f90 @@ -64,14 +64,14 @@ module mld_c_symdec_aggregator_mod interface subroutine mld_c_symdec_aggregator_build_tprol(ag,parms,a,desc_a,ilaggr,nlaggr,op_prol,info) import :: mld_c_symdec_aggregator_type, psb_desc_type, psb_cspmat_type, psb_spk_, & - & psb_ipk_, psb_long_int_k_, mld_sml_parms + & psb_ipk_, psb_lpk_, psb_lcspmat_type, mld_sml_parms implicit none class(mld_c_symdec_aggregator_type), target, intent(inout) :: ag type(mld_sml_parms), intent(inout) :: parms type(psb_cspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) - type(psb_cspmat_type), intent(out) :: op_prol + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + type(psb_lcspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info end subroutine mld_c_symdec_aggregator_build_tprol end interface diff --git a/mlprec/mld_d_as_smoother.f90 b/mlprec/mld_d_as_smoother.f90 index a5c3ce37..c1529ac7 100644 --- a/mlprec/mld_d_as_smoother.f90 +++ b/mlprec/mld_d_as_smoother.f90 @@ -109,7 +109,7 @@ module mld_d_as_smoother interface subroutine mld_d_as_smoother_check(sm,info) import :: psb_dspmat_type, psb_d_vect_type, psb_d_base_vect_type, & - & psb_dpk_, mld_d_as_smoother_type, psb_long_int_k_, psb_desc_type, psb_ipk_ + & psb_dpk_, mld_d_as_smoother_type, psb_epk_, psb_desc_type, psb_ipk_ implicit none class(mld_d_as_smoother_type), intent(inout) :: sm integer(psb_ipk_), intent(out) :: info @@ -119,7 +119,7 @@ module mld_d_as_smoother interface subroutine mld_d_as_smoother_restr_v(sm,x,trans,work,info,data) import :: psb_dspmat_type, psb_d_vect_type, psb_d_base_vect_type, & - & psb_dpk_, mld_d_as_smoother_type, psb_long_int_k_, & + & psb_dpk_, mld_d_as_smoother_type, psb_epk_, & & psb_desc_type, psb_ipk_ implicit none class(mld_d_as_smoother_type), intent(inout) :: sm @@ -134,7 +134,7 @@ module mld_d_as_smoother interface subroutine mld_d_as_smoother_restr_a(sm,x,trans,work,info,data) import :: psb_dspmat_type, psb_d_vect_type, psb_d_base_vect_type, & - & psb_dpk_, mld_d_as_smoother_type, psb_long_int_k_, & + & psb_dpk_, mld_d_as_smoother_type, psb_epk_, & & psb_desc_type, psb_ipk_ implicit none class(mld_d_as_smoother_type), intent(inout) :: sm @@ -149,7 +149,7 @@ module mld_d_as_smoother interface subroutine mld_d_as_smoother_prol_v(sm,x,trans,work,info,data) import :: psb_dspmat_type, psb_d_vect_type, psb_d_base_vect_type, & - & psb_dpk_, mld_d_as_smoother_type, psb_long_int_k_, & + & psb_dpk_, mld_d_as_smoother_type, psb_epk_, & & psb_desc_type, psb_ipk_ implicit none class(mld_d_as_smoother_type), intent(inout) :: sm @@ -164,7 +164,7 @@ module mld_d_as_smoother interface subroutine mld_d_as_smoother_prol_a(sm,x,trans,work,info,data) import :: psb_dspmat_type, psb_d_vect_type, psb_d_base_vect_type, & - & psb_dpk_, mld_d_as_smoother_type, psb_long_int_k_, & + & psb_dpk_, mld_d_as_smoother_type, psb_epk_, & & psb_desc_type, psb_ipk_ implicit none class(mld_d_as_smoother_type), intent(inout) :: sm @@ -181,7 +181,7 @@ module mld_d_as_smoother subroutine mld_d_as_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,& & trans,sweeps,work,wv,info,init,initu) import :: psb_dspmat_type, psb_d_vect_type, psb_d_base_vect_type, & - & psb_dpk_, mld_d_as_smoother_type, psb_long_int_k_, & + & psb_dpk_, mld_d_as_smoother_type, psb_epk_, & & psb_desc_type, psb_ipk_ implicit none type(psb_desc_type), intent(in) :: desc_data @@ -203,7 +203,7 @@ module mld_d_as_smoother subroutine mld_d_as_smoother_apply(alpha,sm,x,beta,y,desc_data,& & trans,sweeps,work,info,init,initu) import :: psb_dspmat_type, psb_d_vect_type, psb_d_base_vect_type, & - & psb_dpk_, mld_d_as_smoother_type, psb_long_int_k_,& + & psb_dpk_, mld_d_as_smoother_type, psb_epk_,& & psb_desc_type, psb_ipk_ implicit none type(psb_desc_type), intent(in) :: desc_data @@ -223,7 +223,7 @@ module mld_d_as_smoother interface subroutine mld_d_as_smoother_bld(a,desc_a,sm,info,amold,vmold,imold) import :: psb_dspmat_type, psb_d_vect_type, psb_d_base_vect_type, & - & psb_dpk_, mld_d_as_smoother_type, psb_long_int_k_, & + & psb_dpk_, mld_d_as_smoother_type, psb_epk_, & & psb_desc_type, psb_d_base_sparse_mat, psb_ipk_,& & psb_i_base_vect_type implicit none @@ -240,7 +240,7 @@ module mld_d_as_smoother interface subroutine mld_d_as_smoother_cnv(sm,info,amold,vmold,imold) import :: psb_d_base_vect_type, & - & psb_dpk_, mld_d_as_smoother_type, psb_long_int_k_, & + & psb_dpk_, mld_d_as_smoother_type, psb_epk_, & & psb_d_base_sparse_mat, psb_ipk_, psb_i_base_vect_type implicit none class(mld_d_as_smoother_type), intent(inout) :: sm @@ -254,7 +254,7 @@ module mld_d_as_smoother interface subroutine mld_d_as_smoother_cseti(sm,what,val,info,idx) import :: psb_dspmat_type, psb_d_vect_type, psb_d_base_vect_type, & - & psb_dpk_, mld_d_as_smoother_type, psb_long_int_k_, psb_desc_type, psb_ipk_ + & psb_dpk_, mld_d_as_smoother_type, psb_epk_, psb_desc_type, psb_ipk_ implicit none class(mld_d_as_smoother_type), intent(inout) :: sm character(len=*), intent(in) :: what @@ -267,7 +267,7 @@ module mld_d_as_smoother interface subroutine mld_d_as_smoother_csetc(sm,what,val,info,idx) import :: psb_dspmat_type, psb_d_vect_type, psb_d_base_vect_type, & - & psb_dpk_, mld_d_as_smoother_type, psb_long_int_k_, psb_desc_type, psb_ipk_ + & psb_dpk_, mld_d_as_smoother_type, psb_epk_, psb_desc_type, psb_ipk_ implicit none class(mld_d_as_smoother_type), intent(inout) :: sm character(len=*), intent(in) :: what @@ -280,7 +280,7 @@ module mld_d_as_smoother interface subroutine mld_d_as_smoother_free(sm,info) import :: psb_dspmat_type, psb_d_vect_type, psb_d_base_vect_type, & - & psb_dpk_, mld_d_as_smoother_type, psb_long_int_k_, psb_desc_type, psb_ipk_ + & psb_dpk_, mld_d_as_smoother_type, psb_epk_, psb_desc_type, psb_ipk_ implicit none class(mld_d_as_smoother_type), intent(inout) :: sm integer(psb_ipk_), intent(out) :: info @@ -290,7 +290,7 @@ module mld_d_as_smoother interface subroutine mld_d_as_smoother_dmp(sm,ictxt,level,info,prefix,head,smoother,solver) import :: psb_dspmat_type, psb_d_vect_type, psb_d_base_vect_type, & - & psb_dpk_, mld_d_as_smoother_type, psb_long_int_k_, psb_desc_type, & + & psb_dpk_, mld_d_as_smoother_type, psb_epk_, psb_desc_type, & & psb_ipk_ implicit none class(mld_d_as_smoother_type), intent(in) :: sm @@ -318,10 +318,10 @@ contains implicit none ! Arguments class(mld_d_as_smoother_type), intent(in) :: sm - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i - val = psb_sizeof_int + val = psb_sizeof_ip if (allocated(sm%sv)) val = val + sm%sv%sizeof() val = val + sm%nd%sizeof() @@ -331,7 +331,7 @@ contains function d_as_smoother_get_nzeros(sm) result(val) implicit none class(mld_d_as_smoother_type), intent(in) :: sm - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 if (allocated(sm%sv)) & diff --git a/mlprec/mld_d_base_aggregator_mod.f90 b/mlprec/mld_d_base_aggregator_mod.f90 index 2e9fdbd0..5e154f80 100644 --- a/mlprec/mld_d_base_aggregator_mod.f90 +++ b/mlprec/mld_d_base_aggregator_mod.f90 @@ -42,9 +42,9 @@ module mld_d_base_aggregator_mod use mld_base_prec_type, only : mld_dml_parms - use psb_base_mod, only : psb_dspmat_type, psb_d_vect_type, & + use psb_base_mod, only : psb_dspmat_type, psb_ldspmat_type, psb_d_vect_type, & & psb_d_base_vect_type, psb_dlinmap_type, psb_dpk_, & - & psb_ipk_, psb_long_int_k_, psb_desc_type, psb_i_base_vect_type, & + & psb_ipk_, psb_epk_, psb_lpk_, psb_desc_type, psb_i_base_vect_type, & & psb_erractionsave, psb_error_handler, psb_success_ ! ! @@ -246,8 +246,8 @@ contains type(mld_dml_parms), intent(inout) :: parms type(psb_dspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) - type(psb_dspmat_type), intent(out) :: op_prol + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + type(psb_ldspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info integer(psb_ipk_) :: err_act @@ -295,9 +295,9 @@ contains type(mld_dml_parms), intent(inout) :: parms type(psb_dspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:), nlaggr(:) - type(psb_dspmat_type), intent(inout) :: op_prol - type(psb_dspmat_type), intent(out) :: ac,op_restr + integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) + type(psb_ldspmat_type), intent(inout) :: op_prol + type(psb_ldspmat_type), intent(out) :: ac,op_restr integer(psb_ipk_), intent(out) :: info integer(psb_ipk_) :: err_act character(len=20) :: name='d_base_aggregator_mat_asb' diff --git a/mlprec/mld_d_base_smoother_mod.f90 b/mlprec/mld_d_base_smoother_mod.f90 index 84ccb79e..27cf3b50 100644 --- a/mlprec/mld_d_base_smoother_mod.f90 +++ b/mlprec/mld_d_base_smoother_mod.f90 @@ -60,7 +60,7 @@ module mld_d_base_smoother_mod use mld_d_base_solver_mod - use psb_base_mod, only : psb_desc_type, psb_dspmat_type, psb_long_int_k_,& + use psb_base_mod, only : psb_desc_type, psb_dspmat_type, psb_epk_,& & psb_d_vect_type, psb_d_base_vect_type, psb_d_base_sparse_mat, & & psb_dpk_, psb_i_base_vect_type, psb_erractionsave, psb_error_handler @@ -317,7 +317,7 @@ contains function d_base_smoother_get_nzeros(sm) result(val) implicit none class(mld_d_base_smoother_type), intent(in) :: sm - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 if (allocated(sm%sv)) & @@ -328,7 +328,7 @@ contains implicit none ! Arguments class(mld_d_base_smoother_type), intent(in) :: sm - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 diff --git a/mlprec/mld_d_base_solver_mod.f90 b/mlprec/mld_d_base_solver_mod.f90 index b2e70450..d0477ea4 100644 --- a/mlprec/mld_d_base_solver_mod.f90 +++ b/mlprec/mld_d_base_solver_mod.f90 @@ -324,7 +324,7 @@ contains implicit none ! Arguments class(mld_d_base_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 @@ -334,7 +334,7 @@ contains function d_base_solver_get_nzeros(sv) result(val) implicit none class(mld_d_base_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 end function d_base_solver_get_nzeros diff --git a/mlprec/mld_d_dec_aggregator_mod.f90 b/mlprec/mld_d_dec_aggregator_mod.f90 index fdaf9afe..5d9b63b7 100644 --- a/mlprec/mld_d_dec_aggregator_mod.f90 +++ b/mlprec/mld_d_dec_aggregator_mod.f90 @@ -90,13 +90,13 @@ module mld_d_dec_aggregator_mod abstract interface subroutine mld_d_map_bld(iorder,theta,a,desc_a,nlaggr,ilaggr,info) - import :: psb_dspmat_type, psb_desc_type, psb_dpk_, psb_ipk_ + import :: psb_dspmat_type, psb_desc_type, psb_dpk_, psb_ipk_, psb_lpk_ implicit none integer(psb_ipk_), intent(in) :: iorder type(psb_dspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a real(psb_dpk_), intent(in) :: theta - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) integer(psb_ipk_), intent(out) :: info end subroutine mld_d_map_bld end interface @@ -106,14 +106,14 @@ module mld_d_dec_aggregator_mod interface subroutine mld_d_dec_aggregator_build_tprol(ag,parms,a,desc_a,ilaggr,nlaggr,op_prol,info) import :: mld_d_dec_aggregator_type, psb_desc_type, psb_dspmat_type, psb_dpk_, & - & psb_ipk_, psb_long_int_k_, mld_dml_parms + & psb_ipk_, psb_lpk_, psb_ldspmat_type, mld_dml_parms implicit none class(mld_d_dec_aggregator_type), target, intent(inout) :: ag type(mld_dml_parms), intent(inout) :: parms type(psb_dspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) - type(psb_dspmat_type), intent(out) :: op_prol + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + type(psb_ldspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info end subroutine mld_d_dec_aggregator_build_tprol end interface @@ -122,15 +122,15 @@ module mld_d_dec_aggregator_mod subroutine mld_d_dec_aggregator_mat_asb(ag,parms,a,desc_a,ilaggr,nlaggr,ac,& & op_prol,op_restr,info) import :: mld_d_dec_aggregator_type, psb_desc_type, psb_dspmat_type, psb_dpk_, & - & psb_ipk_, psb_long_int_k_, mld_dml_parms + & psb_ipk_, psb_lpk_, psb_ldspmat_type, mld_dml_parms implicit none class(mld_d_dec_aggregator_type), target, intent(inout) :: ag type(mld_dml_parms), intent(inout) :: parms type(psb_dspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:), nlaggr(:) - type(psb_dspmat_type), intent(inout) :: op_prol - type(psb_dspmat_type), intent(out) :: ac,op_restr + integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) + type(psb_ldspmat_type), intent(inout) :: op_prol + type(psb_ldspmat_type), intent(out) :: ac,op_restr integer(psb_ipk_), intent(out) :: info end subroutine mld_d_dec_aggregator_mat_asb end interface diff --git a/mlprec/mld_d_diag_solver.f90 b/mlprec/mld_d_diag_solver.f90 index f62bf3e8..2b20e4f3 100644 --- a/mlprec/mld_d_diag_solver.f90 +++ b/mlprec/mld_d_diag_solver.f90 @@ -237,7 +237,7 @@ contains implicit none ! Arguments class(mld_d_diag_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 @@ -250,7 +250,7 @@ contains implicit none ! Arguments class(mld_d_diag_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 diff --git a/mlprec/mld_d_gs_solver.f90 b/mlprec/mld_d_gs_solver.f90 index 1f72ecde..c50f6199 100644 --- a/mlprec/mld_d_gs_solver.f90 +++ b/mlprec/mld_d_gs_solver.f90 @@ -91,9 +91,11 @@ module mld_d_gs_solver end type mld_d_bwgs_solver_type - private :: d_gs_solver_free, & + private :: d_gs_solver_bld, d_gs_solver_apply, & + & d_gs_solver_free, & & d_gs_solver_descr, d_gs_solver_sizeof, & - & d_gs_solver_default, d_gs_solver_get_nzeros, & + & d_gs_solver_default, d_gs_solver_dmp, & + & d_gs_solver_apply_vect, d_gs_solver_get_nzeros, & & d_gs_solver_get_fmt, d_gs_solver_check,& & d_gs_solver_is_iterative, & & d_bwgs_solver_get_fmt, d_bwgs_solver_descr, & @@ -447,7 +449,7 @@ contains implicit none ! Arguments class(mld_d_gs_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 @@ -462,10 +464,10 @@ contains implicit none ! Arguments class(mld_d_gs_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i - val = psb_sizeof_int + val = psb_sizeof_ip val = val + sv%l%sizeof() val = val + sv%u%sizeof() diff --git a/mlprec/mld_d_ilu_solver.f90 b/mlprec/mld_d_ilu_solver.f90 index 5dd917b2..ad7e8845 100644 --- a/mlprec/mld_d_ilu_solver.f90 +++ b/mlprec/mld_d_ilu_solver.f90 @@ -88,9 +88,11 @@ module mld_d_ilu_solver end type mld_d_ilu_solver_type - private :: d_ilu_solver_free, & + private :: d_ilu_solver_bld, d_ilu_solver_apply, & + & d_ilu_solver_free, & & d_ilu_solver_descr, d_ilu_solver_sizeof, & - & d_ilu_solver_default, d_ilu_solver_get_nzeros, & + & d_ilu_solver_default, d_ilu_solver_dmp, & + & d_ilu_solver_apply_vect, d_ilu_solver_get_nzeros, & & d_ilu_solver_get_fmt, d_ilu_solver_check, & & d_ilu_solver_get_id, d_ilu_solver_get_wrksize @@ -419,7 +421,7 @@ contains implicit none ! Arguments class(mld_d_ilu_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 @@ -435,10 +437,10 @@ contains implicit none ! Arguments class(mld_d_ilu_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i - val = 2*psb_sizeof_int + psb_sizeof_dp + val = 2*psb_sizeof_ip + psb_sizeof_dp val = val + sv%dv%sizeof() val = val + sv%l%sizeof() val = val + sv%u%sizeof() diff --git a/mlprec/mld_d_inner_mod.f90 b/mlprec/mld_d_inner_mod.f90 index 81cb1ee2..4d9b4138 100644 --- a/mlprec/mld_d_inner_mod.f90 +++ b/mlprec/mld_d_inner_mod.f90 @@ -47,7 +47,7 @@ module mld_d_inner_mod use psb_base_mod, only : psb_dspmat_type, psb_desc_type, psb_i_base_vect_type, & & psb_dpk_, psb_d_base_sparse_mat, psb_d_base_vect_type, psb_ipk_, & - & psb_d_vect_type + & psb_d_vect_type, psb_lpk_, psb_ldspmat_type use mld_d_prec_type, only : mld_dprec_type, mld_dml_parms, & & mld_d_onelev_type, mld_dmlprec_wrk_type @@ -99,80 +99,80 @@ module mld_d_inner_mod interface mld_aggrmap_bld subroutine mld_d_lev_aggrmap_bld(p,a,desc_a,ilaggr,nlaggr,op_prol,info) - import :: psb_dspmat_type, psb_desc_type, psb_dpk_, psb_ipk_ + import :: psb_dspmat_type, psb_desc_type, psb_dpk_, psb_ipk_, psb_lpk_, psb_ldspmat_type import :: mld_d_onelev_type implicit none type(mld_d_onelev_type), intent(inout), target :: p type(psb_dspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(out) :: ilaggr(:),nlaggr(:) - type(psb_dspmat_type), intent(out) :: op_prol + integer(psb_lpk_), intent(out) :: ilaggr(:),nlaggr(:) + type(psb_ldspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info end subroutine mld_d_lev_aggrmap_bld subroutine mld_daggrmap_bld(aggr_type,iorder,theta,a,desc_a,ilaggr,nlaggr,op_prol,info) - import :: psb_dspmat_type, psb_desc_type, psb_dpk_, psb_ipk_ + import :: psb_dspmat_type, psb_desc_type, psb_dpk_, psb_ipk_, psb_lpk_, psb_ldspmat_type implicit none integer(psb_ipk_), intent(in) :: iorder integer(psb_ipk_), intent(in) :: aggr_type real(psb_dpk_), intent(in) :: theta type(psb_dspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) - type(psb_dspmat_type), intent(out) :: op_prol + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + type(psb_ldspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info end subroutine mld_daggrmap_bld end interface mld_aggrmap_bld interface mld_map_to_tprol subroutine mld_d_map_to_tprol(desc_a,ilaggr,nlaggr,op_prol,info) - use psb_base_mod, only : psb_dspmat_type, psb_desc_type, psb_dpk_, psb_ipk_ + use psb_base_mod, only : psb_dspmat_type, psb_desc_type, psb_dpk_, psb_ipk_, psb_lpk_, psb_ldspmat_type use mld_d_prec_type, only : mld_d_onelev_type implicit none type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), allocatable, intent(inout) :: ilaggr(:),nlaggr(:) - type(psb_dspmat_type), intent(out) :: op_prol + integer(psb_lpk_), allocatable, intent(inout) :: ilaggr(:),nlaggr(:) + type(psb_ldspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info end subroutine mld_d_map_to_tprol end interface mld_map_to_tprol interface mld_lev_mat_asb subroutine mld_d_lev_aggrmat_asb(p,a,desc_a,ilaggr,nlaggr,op_prol,info) - import :: psb_dspmat_type, psb_desc_type, psb_dpk_, psb_ipk_ + import :: psb_dspmat_type, psb_desc_type, psb_dpk_, psb_ipk_, psb_lpk_, psb_ldspmat_type import :: mld_d_onelev_type implicit none type(mld_d_onelev_type), intent(inout), target :: p type(psb_dspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:),nlaggr(:) - type(psb_dspmat_type), intent(inout) :: op_prol + integer(psb_lpk_), intent(inout) :: ilaggr(:),nlaggr(:) + type(psb_ldspmat_type), intent(inout) :: op_prol integer(psb_ipk_), intent(out) :: info end subroutine mld_d_lev_aggrmat_asb end interface mld_lev_mat_asb interface mld_aggrmat_asb subroutine mld_daggrmat_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr,info) - import :: psb_dspmat_type, psb_desc_type, psb_dpk_, psb_ipk_ + import :: psb_dspmat_type, psb_desc_type, psb_dpk_, psb_ipk_, psb_lpk_, psb_ldspmat_type import :: mld_dml_parms implicit none type(psb_dspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:), nlaggr(:) + integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) type(mld_dml_parms), intent(inout) :: parms - type(psb_dspmat_type), intent(out) :: ac,op_prol,op_restr + type(psb_ldspmat_type), intent(out) :: ac,op_prol,op_restr integer(psb_ipk_), intent(out) :: info end subroutine mld_daggrmat_asb end interface mld_aggrmat_asb abstract interface subroutine mld_daggrmat_var_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr,info) - import :: psb_dspmat_type, psb_desc_type, psb_dpk_, psb_ipk_ + import :: psb_dspmat_type, psb_desc_type, psb_dpk_, psb_ipk_, psb_lpk_, psb_ldspmat_type import :: mld_d_onelev_type, mld_dml_parms implicit none type(psb_dspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:), nlaggr(:) + integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) type(mld_dml_parms), intent(inout) :: parms - type(psb_dspmat_type), intent(out) :: ac,op_prol,op_restr + type(psb_ldspmat_type), intent(out) :: ac,op_prol,op_restr integer(psb_ipk_), intent(out) :: info end subroutine mld_daggrmat_var_asb end interface diff --git a/mlprec/mld_d_jac_smoother.f90 b/mlprec/mld_d_jac_smoother.f90 index b11dd7da..966b7b31 100644 --- a/mlprec/mld_d_jac_smoother.f90 +++ b/mlprec/mld_d_jac_smoother.f90 @@ -77,7 +77,7 @@ module mld_d_jac_smoother end type mld_d_jac_smoother_type - private :: d_jac_smoother_free, & + private :: d_jac_smoother_free, d_jac_smoother_descr, & & d_jac_smoother_sizeof, d_jac_smoother_get_nzeros, & & d_jac_smoother_get_fmt, d_jac_smoother_get_id, & & d_jac_smoother_get_wrksize @@ -156,7 +156,7 @@ module mld_d_jac_smoother interface subroutine mld_d_jac_smoother_dmp(sm,ictxt,level,info,prefix,head,smoother,solver) import :: psb_dspmat_type, psb_d_vect_type, psb_d_base_vect_type, & - & psb_dpk_, mld_d_jac_smoother_type, psb_long_int_k_, psb_desc_type, & + & psb_dpk_, mld_d_jac_smoother_type, psb_epk_, psb_desc_type, & & psb_ipk_ implicit none class(mld_d_jac_smoother_type), intent(in) :: sm @@ -230,10 +230,10 @@ contains implicit none ! Arguments class(mld_d_jac_smoother_type), intent(in) :: sm - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i - val = psb_sizeof_int + val = psb_sizeof_ip if (allocated(sm%sv)) val = val + sm%sv%sizeof() val = val + sm%nd%sizeof() @@ -245,7 +245,7 @@ contains implicit none ! Arguments class(mld_d_jac_smoother_type), intent(in) :: sm - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 diff --git a/mlprec/mld_d_mumps_solver.F90 b/mlprec/mld_d_mumps_solver.F90 index 25114c85..c6fcf992 100644 --- a/mlprec/mld_d_mumps_solver.F90 +++ b/mlprec/mld_d_mumps_solver.F90 @@ -58,7 +58,7 @@ module mld_d_mumps_solver include 'dmumps_struc.h' #endif -#if defined(LONG_INTEGERS) +#if defined(LPK8) type, extends(mld_d_base_solver_type) :: mld_d_mumps_solver_type @@ -429,19 +429,18 @@ contains implicit none ! Arguments class(mld_d_mumps_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer :: i #if defined(HAVE_MUMPS_) val = (sv%id%INFOG(22)+sv%id%INFOG(32))*1d+6 #else val = 0 #endif - ! val = 2*psb_sizeof_int + psb_sizeof_dp + ! val = 2*psb_sizeof_ip + psb_sizeof_dp ! val = val + sv%symbsize ! val = val + sv%numsize return end function d_mumps_solver_sizeof -#endif function d_mumps_solver_get_fmt() result(val) implicit none @@ -456,6 +455,7 @@ contains val = mld_mumps_ end function d_mumps_solver_get_id +#endif end module mld_d_mumps_solver diff --git a/mlprec/mld_d_onelev_mod.f90 b/mlprec/mld_d_onelev_mod.f90 index 2a4229cd..fc92621a 100644 --- a/mlprec/mld_d_onelev_mod.f90 +++ b/mlprec/mld_d_onelev_mod.f90 @@ -57,8 +57,8 @@ module mld_d_onelev_mod use mld_d_base_smoother_mod use mld_d_dec_aggregator_mod use psb_base_mod, only : psb_dspmat_type, psb_d_vect_type, & - & psb_d_base_vect_type, psb_dlinmap_type, psb_dpk_, & - & psb_ipk_, psb_long_int_k_, psb_desc_type, psb_i_base_vect_type, & + & psb_d_base_vect_type, psb_ldspmat_type, psb_dlinmap_type, psb_dpk_, & + & psb_ipk_, psb_epk_, psb_lpk_, psb_desc_type, psb_i_base_vect_type, & & psb_erractionsave, psb_error_handler ! ! @@ -164,7 +164,7 @@ module mld_d_onelev_mod type(psb_desc_type) :: desc_ac type(psb_dspmat_type), pointer :: base_a => null() type(psb_desc_type), pointer :: base_desc => null() - type(psb_dspmat_type) :: tprol + type(psb_ldspmat_type) :: tprol type(psb_dlinmap_type) :: map real(psb_dpk_) :: szratio contains @@ -210,14 +210,14 @@ module mld_d_onelev_mod interface subroutine mld_d_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) - import :: psb_dspmat_type, psb_desc_type, psb_dpk_, psb_ipk_ + import :: psb_dspmat_type, psb_desc_type, psb_dpk_, psb_ipk_, psb_ldspmat_type, psb_lpk_ import :: mld_d_onelev_type implicit none class(mld_d_onelev_type), intent(inout), target :: lv type(psb_dspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:),nlaggr(:) - type(psb_dspmat_type), intent(inout) :: op_prol + integer(psb_lpk_), intent(inout) :: ilaggr(:),nlaggr(:) + type(psb_ldspmat_type), intent(inout) :: op_prol integer(psb_ipk_), intent(out) :: info end subroutine mld_d_base_onelev_mat_asb end interface @@ -226,7 +226,7 @@ module mld_d_onelev_mod subroutine mld_d_base_onelev_build(lv,info,amold,vmold,imold) import :: psb_d_base_sparse_mat, psb_d_base_vect_type, & & psb_i_base_vect_type, psb_dpk_, mld_d_onelev_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type implicit none class(mld_d_onelev_type), target, intent(inout) :: lv integer(psb_ipk_), intent(out) :: info @@ -240,7 +240,7 @@ module mld_d_onelev_mod subroutine mld_d_base_onelev_descr(lv,il,nl,ilmin,info,iout) import :: psb_dspmat_type, psb_d_vect_type, psb_d_base_vect_type, & & psb_dlinmap_type, psb_dpk_, mld_d_onelev_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type Implicit None ! Arguments class(mld_d_onelev_type), intent(in) :: lv @@ -263,11 +263,11 @@ module mld_d_onelev_mod end subroutine mld_d_base_onelev_cnv end interface - interface +interface subroutine mld_d_base_onelev_free(lv,info) import :: psb_dspmat_type, psb_d_vect_type, psb_d_base_vect_type, & & psb_dlinmap_type, psb_dpk_, mld_d_onelev_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type implicit none class(mld_d_onelev_type), intent(inout) :: lv @@ -279,7 +279,7 @@ module mld_d_onelev_mod subroutine mld_d_base_onelev_check(lv,info) import :: psb_dspmat_type, psb_d_vect_type, psb_d_base_vect_type, & & psb_dlinmap_type, psb_dpk_, mld_d_onelev_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type Implicit None ! Arguments class(mld_d_onelev_type), intent(inout) :: lv @@ -290,7 +290,7 @@ module mld_d_onelev_mod interface subroutine mld_d_base_onelev_setsm(lv,val,info,pos) import :: psb_dpk_, mld_d_onelev_type, mld_d_base_smoother_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type Implicit None ! Arguments @@ -304,7 +304,7 @@ module mld_d_onelev_mod interface subroutine mld_d_base_onelev_setsv(lv,val,info,pos) import :: psb_dpk_, mld_d_onelev_type, mld_d_base_solver_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type Implicit None ! Arguments @@ -318,7 +318,7 @@ module mld_d_onelev_mod interface subroutine mld_d_base_onelev_setag(lv,val,info,pos) import :: psb_dpk_, mld_d_onelev_type, mld_d_base_aggregator_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type Implicit None ! Arguments @@ -333,7 +333,7 @@ module mld_d_onelev_mod subroutine mld_d_base_onelev_cseti(lv,what,val,info,pos,idx) import :: psb_dspmat_type, psb_d_vect_type, psb_d_base_vect_type, & & psb_dlinmap_type, psb_dpk_, mld_d_onelev_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type Implicit None ! Arguments @@ -350,7 +350,7 @@ module mld_d_onelev_mod subroutine mld_d_base_onelev_csetc(lv,what,val,info,pos,idx) import :: psb_dspmat_type, psb_d_vect_type, psb_d_base_vect_type, & & psb_dlinmap_type, psb_dpk_, mld_d_onelev_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type Implicit None ! Arguments class(mld_d_onelev_type), intent(inout) :: lv @@ -366,7 +366,7 @@ module mld_d_onelev_mod subroutine mld_d_base_onelev_csetr(lv,what,val,info,pos,idx) import :: psb_dspmat_type, psb_d_vect_type, psb_d_base_vect_type, & & psb_dlinmap_type, psb_dpk_, mld_d_onelev_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type Implicit None class(mld_d_onelev_type), intent(inout) :: lv @@ -383,7 +383,7 @@ module mld_d_onelev_mod & solver,global_num) import :: psb_dspmat_type, psb_d_vect_type, psb_d_base_vect_type, & & psb_dlinmap_type, psb_dpk_, mld_d_onelev_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type implicit none class(mld_d_onelev_type), intent(in) :: lv integer(psb_ipk_), intent(in) :: level @@ -402,7 +402,7 @@ contains function d_base_onelev_get_nzeros(lv) result(val) implicit none class(mld_d_onelev_type), intent(in) :: lv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 if (allocated(lv%sm)) & @@ -414,7 +414,7 @@ contains function d_base_onelev_sizeof(lv) result(val) implicit none class(mld_d_onelev_type), intent(in) :: lv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 @@ -488,8 +488,8 @@ contains class(mld_d_onelev_type), intent(inout), target :: lv type(psb_dspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) - type(psb_dspmat_type), intent(out) :: op_prol + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + type(psb_ldspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info call lv%aggr%bld_tprol(lv%parms,a,desc_a,ilaggr,nlaggr,op_prol,info) diff --git a/mlprec/mld_d_prec_type.f90 b/mlprec/mld_d_prec_type.f90 index 25989735..512dc709 100644 --- a/mlprec/mld_d_prec_type.f90 +++ b/mlprec/mld_d_prec_type.f90 @@ -57,6 +57,7 @@ module mld_d_prec_type use mld_d_base_smoother_mod use mld_d_base_aggregator_mod use mld_d_onelev_mod + use psb_base_mod, only : psb_erractionsave, psb_erractionrestore, psb_errstatus_fatal use psb_prec_mod, only : psb_dprec_type ! @@ -407,7 +408,7 @@ contains function mld_d_get_nzeros(prec) result(val) implicit none class(mld_dprec_type), intent(in) :: prec - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 if (allocated(prec%precv)) then @@ -420,10 +421,10 @@ contains function mld_dprec_sizeof(prec) result(val) implicit none class(mld_dprec_type), intent(in) :: prec - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 - val = val + psb_sizeof_int + val = val + psb_sizeof_ip if (allocated(prec%precv)) then do i=1, size(prec%precv) val = val + prec%precv(i)%sizeof() @@ -542,10 +543,12 @@ contains integer(psb_ipk_) :: me,err_act,i character(len=20) :: name - if(psb_get_errstatus().ne.0) return info=psb_success_ name = 'mld_dprecfree' call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; return + end if me=-1 @@ -557,7 +560,7 @@ contains end subroutine mld_dprecfree subroutine mld_d_prec_free(prec,info) - + implicit none ! Arguments @@ -568,10 +571,12 @@ contains integer(psb_ipk_) :: me,err_act,i character(len=20) :: name - if(psb_get_errstatus().ne.0) return info=psb_success_ name = 'mld_dprecfree' call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if me=-1 call prec%free_wrk(info) @@ -857,10 +862,12 @@ contains integer(psb_ipk_) :: me,err_act,i,j,level,nlev, nc2l character(len=20) :: name - if(psb_get_errstatus().ne.0) return info=psb_success_ name = 'mld_d_allocate_wrk' call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if nlev = size(prec%precv) level = 1 do level = 1, nlev @@ -896,10 +903,12 @@ contains integer(psb_ipk_) :: me,err_act,i,j,level, nlev, nc2l character(len=20) :: name - if(psb_get_errstatus().ne.0) return info=psb_success_ name = 'mld_d_free_wrk' call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if nlev = size(prec%precv) do level = 1, nlev diff --git a/mlprec/mld_d_slu_solver.F90 b/mlprec/mld_d_slu_solver.F90 index 3772293a..0e1825bf 100644 --- a/mlprec/mld_d_slu_solver.F90 +++ b/mlprec/mld_d_slu_solver.F90 @@ -51,7 +51,7 @@ module mld_d_slu_solver use iso_c_binding use mld_d_base_solver_mod -#if defined(LONG_INTEGERS) +#if defined(IPK8) type, extends(mld_d_base_solver_type) :: mld_d_slu_solver_type @@ -402,10 +402,10 @@ contains implicit none ! Arguments class(mld_d_slu_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer :: i - val = 2*psb_sizeof_int + psb_sizeof_dp + val = 2*psb_sizeof_ip + psb_sizeof_dp val = val + sv%symbsize val = val + sv%numsize return diff --git a/mlprec/mld_d_sludist_solver.F90 b/mlprec/mld_d_sludist_solver.F90 index 72a2daf5..0f4a4e97 100644 --- a/mlprec/mld_d_sludist_solver.F90 +++ b/mlprec/mld_d_sludist_solver.F90 @@ -52,7 +52,7 @@ module mld_d_sludist_solver use iso_c_binding use mld_d_base_solver_mod -#if defined(LONG_INTEGERS) +#if defined(LPK8) type, extends(mld_d_base_solver_type) :: mld_d_sludist_solver_type @@ -167,7 +167,7 @@ contains allocate(ww(n_col),stat=info) if (info /= psb_success_) then info=psb_err_alloc_request_ - call psb_errpush(info,name,i_err=(/n_col,0,0,0,0/),& + call psb_errpush(info,name,i_err=(/n_col/),& & a_err='real(psb_dpk_)') goto 9999 end if @@ -411,10 +411,10 @@ contains implicit none ! Arguments class(mld_d_sludist_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer :: i - val = 2*psb_sizeof_int + psb_sizeof_dp + val = 2*psb_sizeof_ip + psb_sizeof_dp val = val + sv%symbsize val = val + sv%numsize return diff --git a/mlprec/mld_d_symdec_aggregator_mod.f90 b/mlprec/mld_d_symdec_aggregator_mod.f90 index 4b64085a..2ec8f933 100644 --- a/mlprec/mld_d_symdec_aggregator_mod.f90 +++ b/mlprec/mld_d_symdec_aggregator_mod.f90 @@ -64,14 +64,14 @@ module mld_d_symdec_aggregator_mod interface subroutine mld_d_symdec_aggregator_build_tprol(ag,parms,a,desc_a,ilaggr,nlaggr,op_prol,info) import :: mld_d_symdec_aggregator_type, psb_desc_type, psb_dspmat_type, psb_dpk_, & - & psb_ipk_, psb_long_int_k_, mld_dml_parms + & psb_ipk_, psb_lpk_, psb_ldspmat_type, mld_dml_parms implicit none class(mld_d_symdec_aggregator_type), target, intent(inout) :: ag type(mld_dml_parms), intent(inout) :: parms type(psb_dspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) - type(psb_dspmat_type), intent(out) :: op_prol + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + type(psb_ldspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info end subroutine mld_d_symdec_aggregator_build_tprol end interface diff --git a/mlprec/mld_d_umf_solver.F90 b/mlprec/mld_d_umf_solver.F90 index 8ef1e13c..dc67dcc2 100644 --- a/mlprec/mld_d_umf_solver.F90 +++ b/mlprec/mld_d_umf_solver.F90 @@ -51,7 +51,7 @@ module mld_d_umf_solver use iso_c_binding use mld_d_base_solver_mod -#if defined(LONG_INTEGERS) +#if defined(IPK8) type, extends(mld_d_base_solver_type) :: mld_d_umf_solver_type end type mld_d_umf_solver_type @@ -406,10 +406,10 @@ contains implicit none ! Arguments class(mld_d_umf_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer :: i - val = 2*psb_sizeof_long_int + val = 2*psb_sizeof_lp val = val + sv%symbsize val = val + sv%numsize return diff --git a/mlprec/mld_s_as_smoother.f90 b/mlprec/mld_s_as_smoother.f90 index f7fb219a..6712af41 100644 --- a/mlprec/mld_s_as_smoother.f90 +++ b/mlprec/mld_s_as_smoother.f90 @@ -109,7 +109,7 @@ module mld_s_as_smoother interface subroutine mld_s_as_smoother_check(sm,info) import :: psb_sspmat_type, psb_s_vect_type, psb_s_base_vect_type, & - & psb_spk_, mld_s_as_smoother_type, psb_long_int_k_, psb_desc_type, psb_ipk_ + & psb_spk_, mld_s_as_smoother_type, psb_epk_, psb_desc_type, psb_ipk_ implicit none class(mld_s_as_smoother_type), intent(inout) :: sm integer(psb_ipk_), intent(out) :: info @@ -119,7 +119,7 @@ module mld_s_as_smoother interface subroutine mld_s_as_smoother_restr_v(sm,x,trans,work,info,data) import :: psb_sspmat_type, psb_s_vect_type, psb_s_base_vect_type, & - & psb_spk_, mld_s_as_smoother_type, psb_long_int_k_, & + & psb_spk_, mld_s_as_smoother_type, psb_epk_, & & psb_desc_type, psb_ipk_ implicit none class(mld_s_as_smoother_type), intent(inout) :: sm @@ -134,7 +134,7 @@ module mld_s_as_smoother interface subroutine mld_s_as_smoother_restr_a(sm,x,trans,work,info,data) import :: psb_sspmat_type, psb_s_vect_type, psb_s_base_vect_type, & - & psb_spk_, mld_s_as_smoother_type, psb_long_int_k_, & + & psb_spk_, mld_s_as_smoother_type, psb_epk_, & & psb_desc_type, psb_ipk_ implicit none class(mld_s_as_smoother_type), intent(inout) :: sm @@ -149,7 +149,7 @@ module mld_s_as_smoother interface subroutine mld_s_as_smoother_prol_v(sm,x,trans,work,info,data) import :: psb_sspmat_type, psb_s_vect_type, psb_s_base_vect_type, & - & psb_spk_, mld_s_as_smoother_type, psb_long_int_k_, & + & psb_spk_, mld_s_as_smoother_type, psb_epk_, & & psb_desc_type, psb_ipk_ implicit none class(mld_s_as_smoother_type), intent(inout) :: sm @@ -164,7 +164,7 @@ module mld_s_as_smoother interface subroutine mld_s_as_smoother_prol_a(sm,x,trans,work,info,data) import :: psb_sspmat_type, psb_s_vect_type, psb_s_base_vect_type, & - & psb_spk_, mld_s_as_smoother_type, psb_long_int_k_, & + & psb_spk_, mld_s_as_smoother_type, psb_epk_, & & psb_desc_type, psb_ipk_ implicit none class(mld_s_as_smoother_type), intent(inout) :: sm @@ -181,7 +181,7 @@ module mld_s_as_smoother subroutine mld_s_as_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,& & trans,sweeps,work,wv,info,init,initu) import :: psb_sspmat_type, psb_s_vect_type, psb_s_base_vect_type, & - & psb_spk_, mld_s_as_smoother_type, psb_long_int_k_, & + & psb_spk_, mld_s_as_smoother_type, psb_epk_, & & psb_desc_type, psb_ipk_ implicit none type(psb_desc_type), intent(in) :: desc_data @@ -203,7 +203,7 @@ module mld_s_as_smoother subroutine mld_s_as_smoother_apply(alpha,sm,x,beta,y,desc_data,& & trans,sweeps,work,info,init,initu) import :: psb_sspmat_type, psb_s_vect_type, psb_s_base_vect_type, & - & psb_spk_, mld_s_as_smoother_type, psb_long_int_k_,& + & psb_spk_, mld_s_as_smoother_type, psb_epk_,& & psb_desc_type, psb_ipk_ implicit none type(psb_desc_type), intent(in) :: desc_data @@ -223,7 +223,7 @@ module mld_s_as_smoother interface subroutine mld_s_as_smoother_bld(a,desc_a,sm,info,amold,vmold,imold) import :: psb_sspmat_type, psb_s_vect_type, psb_s_base_vect_type, & - & psb_spk_, mld_s_as_smoother_type, psb_long_int_k_, & + & psb_spk_, mld_s_as_smoother_type, psb_epk_, & & psb_desc_type, psb_s_base_sparse_mat, psb_ipk_,& & psb_i_base_vect_type implicit none @@ -240,7 +240,7 @@ module mld_s_as_smoother interface subroutine mld_s_as_smoother_cnv(sm,info,amold,vmold,imold) import :: psb_s_base_vect_type, & - & psb_spk_, mld_s_as_smoother_type, psb_long_int_k_, & + & psb_spk_, mld_s_as_smoother_type, psb_epk_, & & psb_s_base_sparse_mat, psb_ipk_, psb_i_base_vect_type implicit none class(mld_s_as_smoother_type), intent(inout) :: sm @@ -254,7 +254,7 @@ module mld_s_as_smoother interface subroutine mld_s_as_smoother_cseti(sm,what,val,info,idx) import :: psb_sspmat_type, psb_s_vect_type, psb_s_base_vect_type, & - & psb_spk_, mld_s_as_smoother_type, psb_long_int_k_, psb_desc_type, psb_ipk_ + & psb_spk_, mld_s_as_smoother_type, psb_epk_, psb_desc_type, psb_ipk_ implicit none class(mld_s_as_smoother_type), intent(inout) :: sm character(len=*), intent(in) :: what @@ -267,7 +267,7 @@ module mld_s_as_smoother interface subroutine mld_s_as_smoother_csetc(sm,what,val,info,idx) import :: psb_sspmat_type, psb_s_vect_type, psb_s_base_vect_type, & - & psb_spk_, mld_s_as_smoother_type, psb_long_int_k_, psb_desc_type, psb_ipk_ + & psb_spk_, mld_s_as_smoother_type, psb_epk_, psb_desc_type, psb_ipk_ implicit none class(mld_s_as_smoother_type), intent(inout) :: sm character(len=*), intent(in) :: what @@ -280,7 +280,7 @@ module mld_s_as_smoother interface subroutine mld_s_as_smoother_free(sm,info) import :: psb_sspmat_type, psb_s_vect_type, psb_s_base_vect_type, & - & psb_spk_, mld_s_as_smoother_type, psb_long_int_k_, psb_desc_type, psb_ipk_ + & psb_spk_, mld_s_as_smoother_type, psb_epk_, psb_desc_type, psb_ipk_ implicit none class(mld_s_as_smoother_type), intent(inout) :: sm integer(psb_ipk_), intent(out) :: info @@ -290,7 +290,7 @@ module mld_s_as_smoother interface subroutine mld_s_as_smoother_dmp(sm,ictxt,level,info,prefix,head,smoother,solver) import :: psb_sspmat_type, psb_s_vect_type, psb_s_base_vect_type, & - & psb_spk_, mld_s_as_smoother_type, psb_long_int_k_, psb_desc_type, & + & psb_spk_, mld_s_as_smoother_type, psb_epk_, psb_desc_type, & & psb_ipk_ implicit none class(mld_s_as_smoother_type), intent(in) :: sm @@ -318,10 +318,10 @@ contains implicit none ! Arguments class(mld_s_as_smoother_type), intent(in) :: sm - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i - val = psb_sizeof_int + val = psb_sizeof_ip if (allocated(sm%sv)) val = val + sm%sv%sizeof() val = val + sm%nd%sizeof() @@ -331,7 +331,7 @@ contains function s_as_smoother_get_nzeros(sm) result(val) implicit none class(mld_s_as_smoother_type), intent(in) :: sm - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 if (allocated(sm%sv)) & diff --git a/mlprec/mld_s_base_aggregator_mod.f90 b/mlprec/mld_s_base_aggregator_mod.f90 index 6aa2d3fc..27aafd3d 100644 --- a/mlprec/mld_s_base_aggregator_mod.f90 +++ b/mlprec/mld_s_base_aggregator_mod.f90 @@ -42,9 +42,9 @@ module mld_s_base_aggregator_mod use mld_base_prec_type, only : mld_sml_parms - use psb_base_mod, only : psb_sspmat_type, psb_s_vect_type, & + use psb_base_mod, only : psb_sspmat_type, psb_lsspmat_type, psb_s_vect_type, & & psb_s_base_vect_type, psb_slinmap_type, psb_spk_, & - & psb_ipk_, psb_long_int_k_, psb_desc_type, psb_i_base_vect_type, & + & psb_ipk_, psb_epk_, psb_lpk_, psb_desc_type, psb_i_base_vect_type, & & psb_erractionsave, psb_error_handler, psb_success_ ! ! @@ -246,8 +246,8 @@ contains type(mld_sml_parms), intent(inout) :: parms type(psb_sspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) - type(psb_sspmat_type), intent(out) :: op_prol + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + type(psb_lsspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info integer(psb_ipk_) :: err_act @@ -295,9 +295,9 @@ contains type(mld_sml_parms), intent(inout) :: parms type(psb_sspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:), nlaggr(:) - type(psb_sspmat_type), intent(inout) :: op_prol - type(psb_sspmat_type), intent(out) :: ac,op_restr + integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) + type(psb_lsspmat_type), intent(inout) :: op_prol + type(psb_lsspmat_type), intent(out) :: ac,op_restr integer(psb_ipk_), intent(out) :: info integer(psb_ipk_) :: err_act character(len=20) :: name='s_base_aggregator_mat_asb' diff --git a/mlprec/mld_s_base_smoother_mod.f90 b/mlprec/mld_s_base_smoother_mod.f90 index ab7590ea..d2e74780 100644 --- a/mlprec/mld_s_base_smoother_mod.f90 +++ b/mlprec/mld_s_base_smoother_mod.f90 @@ -60,7 +60,7 @@ module mld_s_base_smoother_mod use mld_s_base_solver_mod - use psb_base_mod, only : psb_desc_type, psb_sspmat_type, psb_long_int_k_,& + use psb_base_mod, only : psb_desc_type, psb_sspmat_type, psb_epk_,& & psb_s_vect_type, psb_s_base_vect_type, psb_s_base_sparse_mat, & & psb_spk_, psb_i_base_vect_type, psb_erractionsave, psb_error_handler @@ -317,7 +317,7 @@ contains function s_base_smoother_get_nzeros(sm) result(val) implicit none class(mld_s_base_smoother_type), intent(in) :: sm - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 if (allocated(sm%sv)) & @@ -328,7 +328,7 @@ contains implicit none ! Arguments class(mld_s_base_smoother_type), intent(in) :: sm - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 diff --git a/mlprec/mld_s_base_solver_mod.f90 b/mlprec/mld_s_base_solver_mod.f90 index ee0f7bba..da311959 100644 --- a/mlprec/mld_s_base_solver_mod.f90 +++ b/mlprec/mld_s_base_solver_mod.f90 @@ -324,7 +324,7 @@ contains implicit none ! Arguments class(mld_s_base_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 @@ -334,7 +334,7 @@ contains function s_base_solver_get_nzeros(sv) result(val) implicit none class(mld_s_base_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 end function s_base_solver_get_nzeros diff --git a/mlprec/mld_s_dec_aggregator_mod.f90 b/mlprec/mld_s_dec_aggregator_mod.f90 index f344a1ba..a3944890 100644 --- a/mlprec/mld_s_dec_aggregator_mod.f90 +++ b/mlprec/mld_s_dec_aggregator_mod.f90 @@ -90,13 +90,13 @@ module mld_s_dec_aggregator_mod abstract interface subroutine mld_s_map_bld(iorder,theta,a,desc_a,nlaggr,ilaggr,info) - import :: psb_sspmat_type, psb_desc_type, psb_spk_, psb_ipk_ + import :: psb_sspmat_type, psb_desc_type, psb_spk_, psb_ipk_, psb_lpk_ implicit none integer(psb_ipk_), intent(in) :: iorder type(psb_sspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a real(psb_spk_), intent(in) :: theta - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) integer(psb_ipk_), intent(out) :: info end subroutine mld_s_map_bld end interface @@ -106,14 +106,14 @@ module mld_s_dec_aggregator_mod interface subroutine mld_s_dec_aggregator_build_tprol(ag,parms,a,desc_a,ilaggr,nlaggr,op_prol,info) import :: mld_s_dec_aggregator_type, psb_desc_type, psb_sspmat_type, psb_spk_, & - & psb_ipk_, psb_long_int_k_, mld_sml_parms + & psb_ipk_, psb_lpk_, psb_lsspmat_type, mld_sml_parms implicit none class(mld_s_dec_aggregator_type), target, intent(inout) :: ag type(mld_sml_parms), intent(inout) :: parms type(psb_sspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) - type(psb_sspmat_type), intent(out) :: op_prol + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + type(psb_lsspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info end subroutine mld_s_dec_aggregator_build_tprol end interface @@ -122,15 +122,15 @@ module mld_s_dec_aggregator_mod subroutine mld_s_dec_aggregator_mat_asb(ag,parms,a,desc_a,ilaggr,nlaggr,ac,& & op_prol,op_restr,info) import :: mld_s_dec_aggregator_type, psb_desc_type, psb_sspmat_type, psb_spk_, & - & psb_ipk_, psb_long_int_k_, mld_sml_parms + & psb_ipk_, psb_lpk_, psb_lsspmat_type, mld_sml_parms implicit none class(mld_s_dec_aggregator_type), target, intent(inout) :: ag type(mld_sml_parms), intent(inout) :: parms type(psb_sspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:), nlaggr(:) - type(psb_sspmat_type), intent(inout) :: op_prol - type(psb_sspmat_type), intent(out) :: ac,op_restr + integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) + type(psb_lsspmat_type), intent(inout) :: op_prol + type(psb_lsspmat_type), intent(out) :: ac,op_restr integer(psb_ipk_), intent(out) :: info end subroutine mld_s_dec_aggregator_mat_asb end interface diff --git a/mlprec/mld_s_diag_solver.f90 b/mlprec/mld_s_diag_solver.f90 index 3af49116..8ad4eb8c 100644 --- a/mlprec/mld_s_diag_solver.f90 +++ b/mlprec/mld_s_diag_solver.f90 @@ -237,7 +237,7 @@ contains implicit none ! Arguments class(mld_s_diag_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 @@ -250,7 +250,7 @@ contains implicit none ! Arguments class(mld_s_diag_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 diff --git a/mlprec/mld_s_gs_solver.f90 b/mlprec/mld_s_gs_solver.f90 index 878e12b4..b819576b 100644 --- a/mlprec/mld_s_gs_solver.f90 +++ b/mlprec/mld_s_gs_solver.f90 @@ -91,9 +91,11 @@ module mld_s_gs_solver end type mld_s_bwgs_solver_type - private :: s_gs_solver_free, & + private :: s_gs_solver_bld, s_gs_solver_apply, & + & s_gs_solver_free, & & s_gs_solver_descr, s_gs_solver_sizeof, & - & s_gs_solver_default, s_gs_solver_get_nzeros, & + & s_gs_solver_default, s_gs_solver_dmp, & + & s_gs_solver_apply_vect, s_gs_solver_get_nzeros, & & s_gs_solver_get_fmt, s_gs_solver_check,& & s_gs_solver_is_iterative, & & s_bwgs_solver_get_fmt, s_bwgs_solver_descr, & @@ -447,7 +449,7 @@ contains implicit none ! Arguments class(mld_s_gs_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 @@ -462,10 +464,10 @@ contains implicit none ! Arguments class(mld_s_gs_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i - val = psb_sizeof_int + val = psb_sizeof_ip val = val + sv%l%sizeof() val = val + sv%u%sizeof() diff --git a/mlprec/mld_s_ilu_solver.f90 b/mlprec/mld_s_ilu_solver.f90 index 9fd0f7af..75573e91 100644 --- a/mlprec/mld_s_ilu_solver.f90 +++ b/mlprec/mld_s_ilu_solver.f90 @@ -88,9 +88,11 @@ module mld_s_ilu_solver end type mld_s_ilu_solver_type - private :: s_ilu_solver_free, & + private :: s_ilu_solver_bld, s_ilu_solver_apply, & + & s_ilu_solver_free, & & s_ilu_solver_descr, s_ilu_solver_sizeof, & - & s_ilu_solver_default, s_ilu_solver_get_nzeros, & + & s_ilu_solver_default, s_ilu_solver_dmp, & + & s_ilu_solver_apply_vect, s_ilu_solver_get_nzeros, & & s_ilu_solver_get_fmt, s_ilu_solver_check, & & s_ilu_solver_get_id, s_ilu_solver_get_wrksize @@ -419,7 +421,7 @@ contains implicit none ! Arguments class(mld_s_ilu_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 @@ -435,10 +437,10 @@ contains implicit none ! Arguments class(mld_s_ilu_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i - val = 2*psb_sizeof_int + psb_sizeof_sp + val = 2*psb_sizeof_ip + psb_sizeof_sp val = val + sv%dv%sizeof() val = val + sv%l%sizeof() val = val + sv%u%sizeof() diff --git a/mlprec/mld_s_inner_mod.f90 b/mlprec/mld_s_inner_mod.f90 index 55bd0ad0..4dd44d02 100644 --- a/mlprec/mld_s_inner_mod.f90 +++ b/mlprec/mld_s_inner_mod.f90 @@ -47,7 +47,7 @@ module mld_s_inner_mod use psb_base_mod, only : psb_sspmat_type, psb_desc_type, psb_i_base_vect_type, & & psb_spk_, psb_s_base_sparse_mat, psb_s_base_vect_type, psb_ipk_, & - & psb_s_vect_type + & psb_s_vect_type, psb_lpk_, psb_lsspmat_type use mld_s_prec_type, only : mld_sprec_type, mld_sml_parms, & & mld_s_onelev_type, mld_smlprec_wrk_type @@ -99,80 +99,80 @@ module mld_s_inner_mod interface mld_aggrmap_bld subroutine mld_s_lev_aggrmap_bld(p,a,desc_a,ilaggr,nlaggr,op_prol,info) - import :: psb_sspmat_type, psb_desc_type, psb_spk_, psb_ipk_ + import :: psb_sspmat_type, psb_desc_type, psb_spk_, psb_ipk_, psb_lpk_, psb_lsspmat_type import :: mld_s_onelev_type implicit none type(mld_s_onelev_type), intent(inout), target :: p type(psb_sspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(out) :: ilaggr(:),nlaggr(:) - type(psb_sspmat_type), intent(out) :: op_prol + integer(psb_lpk_), intent(out) :: ilaggr(:),nlaggr(:) + type(psb_lsspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info end subroutine mld_s_lev_aggrmap_bld subroutine mld_saggrmap_bld(aggr_type,iorder,theta,a,desc_a,ilaggr,nlaggr,op_prol,info) - import :: psb_sspmat_type, psb_desc_type, psb_spk_, psb_ipk_ + import :: psb_sspmat_type, psb_desc_type, psb_spk_, psb_ipk_, psb_lpk_, psb_lsspmat_type implicit none integer(psb_ipk_), intent(in) :: iorder integer(psb_ipk_), intent(in) :: aggr_type real(psb_spk_), intent(in) :: theta type(psb_sspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) - type(psb_sspmat_type), intent(out) :: op_prol + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + type(psb_lsspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info end subroutine mld_saggrmap_bld end interface mld_aggrmap_bld interface mld_map_to_tprol subroutine mld_s_map_to_tprol(desc_a,ilaggr,nlaggr,op_prol,info) - use psb_base_mod, only : psb_sspmat_type, psb_desc_type, psb_spk_, psb_ipk_ + use psb_base_mod, only : psb_sspmat_type, psb_desc_type, psb_spk_, psb_ipk_, psb_lpk_, psb_lsspmat_type use mld_s_prec_type, only : mld_s_onelev_type implicit none type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), allocatable, intent(inout) :: ilaggr(:),nlaggr(:) - type(psb_sspmat_type), intent(out) :: op_prol + integer(psb_lpk_), allocatable, intent(inout) :: ilaggr(:),nlaggr(:) + type(psb_lsspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info end subroutine mld_s_map_to_tprol end interface mld_map_to_tprol interface mld_lev_mat_asb subroutine mld_s_lev_aggrmat_asb(p,a,desc_a,ilaggr,nlaggr,op_prol,info) - import :: psb_sspmat_type, psb_desc_type, psb_spk_, psb_ipk_ + import :: psb_sspmat_type, psb_desc_type, psb_spk_, psb_ipk_, psb_lpk_, psb_lsspmat_type import :: mld_s_onelev_type implicit none type(mld_s_onelev_type), intent(inout), target :: p type(psb_sspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:),nlaggr(:) - type(psb_sspmat_type), intent(inout) :: op_prol + integer(psb_lpk_), intent(inout) :: ilaggr(:),nlaggr(:) + type(psb_lsspmat_type), intent(inout) :: op_prol integer(psb_ipk_), intent(out) :: info end subroutine mld_s_lev_aggrmat_asb end interface mld_lev_mat_asb interface mld_aggrmat_asb subroutine mld_saggrmat_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr,info) - import :: psb_sspmat_type, psb_desc_type, psb_spk_, psb_ipk_ + import :: psb_sspmat_type, psb_desc_type, psb_spk_, psb_ipk_, psb_lpk_, psb_lsspmat_type import :: mld_sml_parms implicit none type(psb_sspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:), nlaggr(:) + integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) type(mld_sml_parms), intent(inout) :: parms - type(psb_sspmat_type), intent(out) :: ac,op_prol,op_restr + type(psb_lsspmat_type), intent(out) :: ac,op_prol,op_restr integer(psb_ipk_), intent(out) :: info end subroutine mld_saggrmat_asb end interface mld_aggrmat_asb abstract interface subroutine mld_saggrmat_var_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr,info) - import :: psb_sspmat_type, psb_desc_type, psb_spk_, psb_ipk_ + import :: psb_sspmat_type, psb_desc_type, psb_spk_, psb_ipk_, psb_lpk_, psb_lsspmat_type import :: mld_s_onelev_type, mld_sml_parms implicit none type(psb_sspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:), nlaggr(:) + integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) type(mld_sml_parms), intent(inout) :: parms - type(psb_sspmat_type), intent(out) :: ac,op_prol,op_restr + type(psb_lsspmat_type), intent(out) :: ac,op_prol,op_restr integer(psb_ipk_), intent(out) :: info end subroutine mld_saggrmat_var_asb end interface diff --git a/mlprec/mld_s_jac_smoother.f90 b/mlprec/mld_s_jac_smoother.f90 index 5f3e6072..a080da7f 100644 --- a/mlprec/mld_s_jac_smoother.f90 +++ b/mlprec/mld_s_jac_smoother.f90 @@ -77,7 +77,7 @@ module mld_s_jac_smoother end type mld_s_jac_smoother_type - private :: s_jac_smoother_free, & + private :: s_jac_smoother_free, s_jac_smoother_descr, & & s_jac_smoother_sizeof, s_jac_smoother_get_nzeros, & & s_jac_smoother_get_fmt, s_jac_smoother_get_id, & & s_jac_smoother_get_wrksize @@ -156,7 +156,7 @@ module mld_s_jac_smoother interface subroutine mld_s_jac_smoother_dmp(sm,ictxt,level,info,prefix,head,smoother,solver) import :: psb_sspmat_type, psb_s_vect_type, psb_s_base_vect_type, & - & psb_spk_, mld_s_jac_smoother_type, psb_long_int_k_, psb_desc_type, & + & psb_spk_, mld_s_jac_smoother_type, psb_epk_, psb_desc_type, & & psb_ipk_ implicit none class(mld_s_jac_smoother_type), intent(in) :: sm @@ -230,10 +230,10 @@ contains implicit none ! Arguments class(mld_s_jac_smoother_type), intent(in) :: sm - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i - val = psb_sizeof_int + val = psb_sizeof_ip if (allocated(sm%sv)) val = val + sm%sv%sizeof() val = val + sm%nd%sizeof() @@ -245,7 +245,7 @@ contains implicit none ! Arguments class(mld_s_jac_smoother_type), intent(in) :: sm - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 diff --git a/mlprec/mld_s_mumps_solver.F90 b/mlprec/mld_s_mumps_solver.F90 index b59b6e88..25d42ffb 100644 --- a/mlprec/mld_s_mumps_solver.F90 +++ b/mlprec/mld_s_mumps_solver.F90 @@ -58,7 +58,7 @@ module mld_s_mumps_solver include 'smumps_struc.h' #endif -#if defined(LONG_INTEGERS) +#if defined(LPK8) type, extends(mld_s_base_solver_type) :: mld_s_mumps_solver_type @@ -429,19 +429,18 @@ contains implicit none ! Arguments class(mld_s_mumps_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer :: i #if defined(HAVE_MUMPS_) val = (sv%id%INFOG(22)+sv%id%INFOG(32))*1d+6 #else val = 0 #endif - ! val = 2*psb_sizeof_int + psb_sizeof_dp + ! val = 2*psb_sizeof_ip + psb_sizeof_dp ! val = val + sv%symbsize ! val = val + sv%numsize return end function s_mumps_solver_sizeof -#endif function s_mumps_solver_get_fmt() result(val) implicit none @@ -456,6 +455,7 @@ contains val = mld_mumps_ end function s_mumps_solver_get_id +#endif end module mld_s_mumps_solver diff --git a/mlprec/mld_s_onelev_mod.f90 b/mlprec/mld_s_onelev_mod.f90 index ae8435b8..ab456ce3 100644 --- a/mlprec/mld_s_onelev_mod.f90 +++ b/mlprec/mld_s_onelev_mod.f90 @@ -57,8 +57,8 @@ module mld_s_onelev_mod use mld_s_base_smoother_mod use mld_s_dec_aggregator_mod use psb_base_mod, only : psb_sspmat_type, psb_s_vect_type, & - & psb_s_base_vect_type, psb_slinmap_type, psb_spk_, & - & psb_ipk_, psb_long_int_k_, psb_desc_type, psb_i_base_vect_type, & + & psb_s_base_vect_type, psb_lsspmat_type, psb_slinmap_type, psb_spk_, & + & psb_ipk_, psb_epk_, psb_lpk_, psb_desc_type, psb_i_base_vect_type, & & psb_erractionsave, psb_error_handler ! ! @@ -164,7 +164,7 @@ module mld_s_onelev_mod type(psb_desc_type) :: desc_ac type(psb_sspmat_type), pointer :: base_a => null() type(psb_desc_type), pointer :: base_desc => null() - type(psb_sspmat_type) :: tprol + type(psb_lsspmat_type) :: tprol type(psb_slinmap_type) :: map real(psb_spk_) :: szratio contains @@ -210,14 +210,14 @@ module mld_s_onelev_mod interface subroutine mld_s_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) - import :: psb_sspmat_type, psb_desc_type, psb_spk_, psb_ipk_ + import :: psb_sspmat_type, psb_desc_type, psb_spk_, psb_ipk_, psb_lsspmat_type, psb_lpk_ import :: mld_s_onelev_type implicit none class(mld_s_onelev_type), intent(inout), target :: lv type(psb_sspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:),nlaggr(:) - type(psb_sspmat_type), intent(inout) :: op_prol + integer(psb_lpk_), intent(inout) :: ilaggr(:),nlaggr(:) + type(psb_lsspmat_type), intent(inout) :: op_prol integer(psb_ipk_), intent(out) :: info end subroutine mld_s_base_onelev_mat_asb end interface @@ -226,7 +226,7 @@ module mld_s_onelev_mod subroutine mld_s_base_onelev_build(lv,info,amold,vmold,imold) import :: psb_s_base_sparse_mat, psb_s_base_vect_type, & & psb_i_base_vect_type, psb_spk_, mld_s_onelev_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type implicit none class(mld_s_onelev_type), target, intent(inout) :: lv integer(psb_ipk_), intent(out) :: info @@ -240,7 +240,7 @@ module mld_s_onelev_mod subroutine mld_s_base_onelev_descr(lv,il,nl,ilmin,info,iout) import :: psb_sspmat_type, psb_s_vect_type, psb_s_base_vect_type, & & psb_slinmap_type, psb_spk_, mld_s_onelev_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type Implicit None ! Arguments class(mld_s_onelev_type), intent(in) :: lv @@ -263,11 +263,11 @@ module mld_s_onelev_mod end subroutine mld_s_base_onelev_cnv end interface - interface +interface subroutine mld_s_base_onelev_free(lv,info) import :: psb_sspmat_type, psb_s_vect_type, psb_s_base_vect_type, & & psb_slinmap_type, psb_spk_, mld_s_onelev_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type implicit none class(mld_s_onelev_type), intent(inout) :: lv @@ -279,7 +279,7 @@ module mld_s_onelev_mod subroutine mld_s_base_onelev_check(lv,info) import :: psb_sspmat_type, psb_s_vect_type, psb_s_base_vect_type, & & psb_slinmap_type, psb_spk_, mld_s_onelev_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type Implicit None ! Arguments class(mld_s_onelev_type), intent(inout) :: lv @@ -290,7 +290,7 @@ module mld_s_onelev_mod interface subroutine mld_s_base_onelev_setsm(lv,val,info,pos) import :: psb_spk_, mld_s_onelev_type, mld_s_base_smoother_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type Implicit None ! Arguments @@ -304,7 +304,7 @@ module mld_s_onelev_mod interface subroutine mld_s_base_onelev_setsv(lv,val,info,pos) import :: psb_spk_, mld_s_onelev_type, mld_s_base_solver_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type Implicit None ! Arguments @@ -318,7 +318,7 @@ module mld_s_onelev_mod interface subroutine mld_s_base_onelev_setag(lv,val,info,pos) import :: psb_spk_, mld_s_onelev_type, mld_s_base_aggregator_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type Implicit None ! Arguments @@ -333,7 +333,7 @@ module mld_s_onelev_mod subroutine mld_s_base_onelev_cseti(lv,what,val,info,pos,idx) import :: psb_sspmat_type, psb_s_vect_type, psb_s_base_vect_type, & & psb_slinmap_type, psb_spk_, mld_s_onelev_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type Implicit None ! Arguments @@ -350,7 +350,7 @@ module mld_s_onelev_mod subroutine mld_s_base_onelev_csetc(lv,what,val,info,pos,idx) import :: psb_sspmat_type, psb_s_vect_type, psb_s_base_vect_type, & & psb_slinmap_type, psb_spk_, mld_s_onelev_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type Implicit None ! Arguments class(mld_s_onelev_type), intent(inout) :: lv @@ -366,7 +366,7 @@ module mld_s_onelev_mod subroutine mld_s_base_onelev_csetr(lv,what,val,info,pos,idx) import :: psb_sspmat_type, psb_s_vect_type, psb_s_base_vect_type, & & psb_slinmap_type, psb_spk_, mld_s_onelev_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type Implicit None class(mld_s_onelev_type), intent(inout) :: lv @@ -383,7 +383,7 @@ module mld_s_onelev_mod & solver,global_num) import :: psb_sspmat_type, psb_s_vect_type, psb_s_base_vect_type, & & psb_slinmap_type, psb_spk_, mld_s_onelev_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type implicit none class(mld_s_onelev_type), intent(in) :: lv integer(psb_ipk_), intent(in) :: level @@ -402,7 +402,7 @@ contains function s_base_onelev_get_nzeros(lv) result(val) implicit none class(mld_s_onelev_type), intent(in) :: lv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 if (allocated(lv%sm)) & @@ -414,7 +414,7 @@ contains function s_base_onelev_sizeof(lv) result(val) implicit none class(mld_s_onelev_type), intent(in) :: lv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 @@ -488,8 +488,8 @@ contains class(mld_s_onelev_type), intent(inout), target :: lv type(psb_sspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) - type(psb_sspmat_type), intent(out) :: op_prol + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + type(psb_lsspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info call lv%aggr%bld_tprol(lv%parms,a,desc_a,ilaggr,nlaggr,op_prol,info) diff --git a/mlprec/mld_s_prec_type.f90 b/mlprec/mld_s_prec_type.f90 index 7181aa36..3c739005 100644 --- a/mlprec/mld_s_prec_type.f90 +++ b/mlprec/mld_s_prec_type.f90 @@ -57,6 +57,7 @@ module mld_s_prec_type use mld_s_base_smoother_mod use mld_s_base_aggregator_mod use mld_s_onelev_mod + use psb_base_mod, only : psb_erractionsave, psb_erractionrestore, psb_errstatus_fatal use psb_prec_mod, only : psb_sprec_type ! @@ -407,7 +408,7 @@ contains function mld_s_get_nzeros(prec) result(val) implicit none class(mld_sprec_type), intent(in) :: prec - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 if (allocated(prec%precv)) then @@ -420,10 +421,10 @@ contains function mld_sprec_sizeof(prec) result(val) implicit none class(mld_sprec_type), intent(in) :: prec - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 - val = val + psb_sizeof_int + val = val + psb_sizeof_ip if (allocated(prec%precv)) then do i=1, size(prec%precv) val = val + prec%precv(i)%sizeof() @@ -542,10 +543,12 @@ contains integer(psb_ipk_) :: me,err_act,i character(len=20) :: name - if(psb_get_errstatus().ne.0) return info=psb_success_ name = 'mld_sprecfree' call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; return + end if me=-1 @@ -557,7 +560,7 @@ contains end subroutine mld_sprecfree subroutine mld_s_prec_free(prec,info) - + implicit none ! Arguments @@ -568,10 +571,12 @@ contains integer(psb_ipk_) :: me,err_act,i character(len=20) :: name - if(psb_get_errstatus().ne.0) return info=psb_success_ name = 'mld_sprecfree' call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if me=-1 call prec%free_wrk(info) @@ -857,10 +862,12 @@ contains integer(psb_ipk_) :: me,err_act,i,j,level,nlev, nc2l character(len=20) :: name - if(psb_get_errstatus().ne.0) return info=psb_success_ name = 'mld_s_allocate_wrk' call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if nlev = size(prec%precv) level = 1 do level = 1, nlev @@ -896,10 +903,12 @@ contains integer(psb_ipk_) :: me,err_act,i,j,level, nlev, nc2l character(len=20) :: name - if(psb_get_errstatus().ne.0) return info=psb_success_ name = 'mld_s_free_wrk' call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if nlev = size(prec%precv) do level = 1, nlev diff --git a/mlprec/mld_s_slu_solver.F90 b/mlprec/mld_s_slu_solver.F90 index 09dbb4a1..7c173ce1 100644 --- a/mlprec/mld_s_slu_solver.F90 +++ b/mlprec/mld_s_slu_solver.F90 @@ -51,7 +51,7 @@ module mld_s_slu_solver use iso_c_binding use mld_s_base_solver_mod -#if defined(LONG_INTEGERS) +#if defined(IPK8) type, extends(mld_s_base_solver_type) :: mld_s_slu_solver_type @@ -402,10 +402,10 @@ contains implicit none ! Arguments class(mld_s_slu_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer :: i - val = 2*psb_sizeof_int + psb_sizeof_dp + val = 2*psb_sizeof_ip + psb_sizeof_dp val = val + sv%symbsize val = val + sv%numsize return diff --git a/mlprec/mld_s_symdec_aggregator_mod.f90 b/mlprec/mld_s_symdec_aggregator_mod.f90 index 6ef4d684..0a750908 100644 --- a/mlprec/mld_s_symdec_aggregator_mod.f90 +++ b/mlprec/mld_s_symdec_aggregator_mod.f90 @@ -64,14 +64,14 @@ module mld_s_symdec_aggregator_mod interface subroutine mld_s_symdec_aggregator_build_tprol(ag,parms,a,desc_a,ilaggr,nlaggr,op_prol,info) import :: mld_s_symdec_aggregator_type, psb_desc_type, psb_sspmat_type, psb_spk_, & - & psb_ipk_, psb_long_int_k_, mld_sml_parms + & psb_ipk_, psb_lpk_, psb_lsspmat_type, mld_sml_parms implicit none class(mld_s_symdec_aggregator_type), target, intent(inout) :: ag type(mld_sml_parms), intent(inout) :: parms type(psb_sspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) - type(psb_sspmat_type), intent(out) :: op_prol + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + type(psb_lsspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info end subroutine mld_s_symdec_aggregator_build_tprol end interface diff --git a/mlprec/mld_z_as_smoother.f90 b/mlprec/mld_z_as_smoother.f90 index e3433a2c..8fc5a0f9 100644 --- a/mlprec/mld_z_as_smoother.f90 +++ b/mlprec/mld_z_as_smoother.f90 @@ -109,7 +109,7 @@ module mld_z_as_smoother interface subroutine mld_z_as_smoother_check(sm,info) import :: psb_zspmat_type, psb_z_vect_type, psb_z_base_vect_type, & - & psb_dpk_, mld_z_as_smoother_type, psb_long_int_k_, psb_desc_type, psb_ipk_ + & psb_dpk_, mld_z_as_smoother_type, psb_epk_, psb_desc_type, psb_ipk_ implicit none class(mld_z_as_smoother_type), intent(inout) :: sm integer(psb_ipk_), intent(out) :: info @@ -119,7 +119,7 @@ module mld_z_as_smoother interface subroutine mld_z_as_smoother_restr_v(sm,x,trans,work,info,data) import :: psb_zspmat_type, psb_z_vect_type, psb_z_base_vect_type, & - & psb_dpk_, mld_z_as_smoother_type, psb_long_int_k_, & + & psb_dpk_, mld_z_as_smoother_type, psb_epk_, & & psb_desc_type, psb_ipk_ implicit none class(mld_z_as_smoother_type), intent(inout) :: sm @@ -134,7 +134,7 @@ module mld_z_as_smoother interface subroutine mld_z_as_smoother_restr_a(sm,x,trans,work,info,data) import :: psb_zspmat_type, psb_z_vect_type, psb_z_base_vect_type, & - & psb_dpk_, mld_z_as_smoother_type, psb_long_int_k_, & + & psb_dpk_, mld_z_as_smoother_type, psb_epk_, & & psb_desc_type, psb_ipk_ implicit none class(mld_z_as_smoother_type), intent(inout) :: sm @@ -149,7 +149,7 @@ module mld_z_as_smoother interface subroutine mld_z_as_smoother_prol_v(sm,x,trans,work,info,data) import :: psb_zspmat_type, psb_z_vect_type, psb_z_base_vect_type, & - & psb_dpk_, mld_z_as_smoother_type, psb_long_int_k_, & + & psb_dpk_, mld_z_as_smoother_type, psb_epk_, & & psb_desc_type, psb_ipk_ implicit none class(mld_z_as_smoother_type), intent(inout) :: sm @@ -164,7 +164,7 @@ module mld_z_as_smoother interface subroutine mld_z_as_smoother_prol_a(sm,x,trans,work,info,data) import :: psb_zspmat_type, psb_z_vect_type, psb_z_base_vect_type, & - & psb_dpk_, mld_z_as_smoother_type, psb_long_int_k_, & + & psb_dpk_, mld_z_as_smoother_type, psb_epk_, & & psb_desc_type, psb_ipk_ implicit none class(mld_z_as_smoother_type), intent(inout) :: sm @@ -181,7 +181,7 @@ module mld_z_as_smoother subroutine mld_z_as_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,& & trans,sweeps,work,wv,info,init,initu) import :: psb_zspmat_type, psb_z_vect_type, psb_z_base_vect_type, & - & psb_dpk_, mld_z_as_smoother_type, psb_long_int_k_, & + & psb_dpk_, mld_z_as_smoother_type, psb_epk_, & & psb_desc_type, psb_ipk_ implicit none type(psb_desc_type), intent(in) :: desc_data @@ -203,7 +203,7 @@ module mld_z_as_smoother subroutine mld_z_as_smoother_apply(alpha,sm,x,beta,y,desc_data,& & trans,sweeps,work,info,init,initu) import :: psb_zspmat_type, psb_z_vect_type, psb_z_base_vect_type, & - & psb_dpk_, mld_z_as_smoother_type, psb_long_int_k_,& + & psb_dpk_, mld_z_as_smoother_type, psb_epk_,& & psb_desc_type, psb_ipk_ implicit none type(psb_desc_type), intent(in) :: desc_data @@ -223,7 +223,7 @@ module mld_z_as_smoother interface subroutine mld_z_as_smoother_bld(a,desc_a,sm,info,amold,vmold,imold) import :: psb_zspmat_type, psb_z_vect_type, psb_z_base_vect_type, & - & psb_dpk_, mld_z_as_smoother_type, psb_long_int_k_, & + & psb_dpk_, mld_z_as_smoother_type, psb_epk_, & & psb_desc_type, psb_z_base_sparse_mat, psb_ipk_,& & psb_i_base_vect_type implicit none @@ -240,7 +240,7 @@ module mld_z_as_smoother interface subroutine mld_z_as_smoother_cnv(sm,info,amold,vmold,imold) import :: psb_z_base_vect_type, & - & psb_dpk_, mld_z_as_smoother_type, psb_long_int_k_, & + & psb_dpk_, mld_z_as_smoother_type, psb_epk_, & & psb_z_base_sparse_mat, psb_ipk_, psb_i_base_vect_type implicit none class(mld_z_as_smoother_type), intent(inout) :: sm @@ -254,7 +254,7 @@ module mld_z_as_smoother interface subroutine mld_z_as_smoother_cseti(sm,what,val,info,idx) import :: psb_zspmat_type, psb_z_vect_type, psb_z_base_vect_type, & - & psb_dpk_, mld_z_as_smoother_type, psb_long_int_k_, psb_desc_type, psb_ipk_ + & psb_dpk_, mld_z_as_smoother_type, psb_epk_, psb_desc_type, psb_ipk_ implicit none class(mld_z_as_smoother_type), intent(inout) :: sm character(len=*), intent(in) :: what @@ -267,7 +267,7 @@ module mld_z_as_smoother interface subroutine mld_z_as_smoother_csetc(sm,what,val,info,idx) import :: psb_zspmat_type, psb_z_vect_type, psb_z_base_vect_type, & - & psb_dpk_, mld_z_as_smoother_type, psb_long_int_k_, psb_desc_type, psb_ipk_ + & psb_dpk_, mld_z_as_smoother_type, psb_epk_, psb_desc_type, psb_ipk_ implicit none class(mld_z_as_smoother_type), intent(inout) :: sm character(len=*), intent(in) :: what @@ -280,7 +280,7 @@ module mld_z_as_smoother interface subroutine mld_z_as_smoother_free(sm,info) import :: psb_zspmat_type, psb_z_vect_type, psb_z_base_vect_type, & - & psb_dpk_, mld_z_as_smoother_type, psb_long_int_k_, psb_desc_type, psb_ipk_ + & psb_dpk_, mld_z_as_smoother_type, psb_epk_, psb_desc_type, psb_ipk_ implicit none class(mld_z_as_smoother_type), intent(inout) :: sm integer(psb_ipk_), intent(out) :: info @@ -290,7 +290,7 @@ module mld_z_as_smoother interface subroutine mld_z_as_smoother_dmp(sm,ictxt,level,info,prefix,head,smoother,solver) import :: psb_zspmat_type, psb_z_vect_type, psb_z_base_vect_type, & - & psb_dpk_, mld_z_as_smoother_type, psb_long_int_k_, psb_desc_type, & + & psb_dpk_, mld_z_as_smoother_type, psb_epk_, psb_desc_type, & & psb_ipk_ implicit none class(mld_z_as_smoother_type), intent(in) :: sm @@ -318,10 +318,10 @@ contains implicit none ! Arguments class(mld_z_as_smoother_type), intent(in) :: sm - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i - val = psb_sizeof_int + val = psb_sizeof_ip if (allocated(sm%sv)) val = val + sm%sv%sizeof() val = val + sm%nd%sizeof() @@ -331,7 +331,7 @@ contains function z_as_smoother_get_nzeros(sm) result(val) implicit none class(mld_z_as_smoother_type), intent(in) :: sm - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 if (allocated(sm%sv)) & diff --git a/mlprec/mld_z_base_aggregator_mod.f90 b/mlprec/mld_z_base_aggregator_mod.f90 index a1756af9..9e407514 100644 --- a/mlprec/mld_z_base_aggregator_mod.f90 +++ b/mlprec/mld_z_base_aggregator_mod.f90 @@ -42,9 +42,9 @@ module mld_z_base_aggregator_mod use mld_base_prec_type, only : mld_dml_parms - use psb_base_mod, only : psb_zspmat_type, psb_z_vect_type, & + use psb_base_mod, only : psb_zspmat_type, psb_lzspmat_type, psb_z_vect_type, & & psb_z_base_vect_type, psb_zlinmap_type, psb_dpk_, & - & psb_ipk_, psb_long_int_k_, psb_desc_type, psb_i_base_vect_type, & + & psb_ipk_, psb_epk_, psb_lpk_, psb_desc_type, psb_i_base_vect_type, & & psb_erractionsave, psb_error_handler, psb_success_ ! ! @@ -246,8 +246,8 @@ contains type(mld_dml_parms), intent(inout) :: parms type(psb_zspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) - type(psb_zspmat_type), intent(out) :: op_prol + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + type(psb_lzspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info integer(psb_ipk_) :: err_act @@ -295,9 +295,9 @@ contains type(mld_dml_parms), intent(inout) :: parms type(psb_zspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:), nlaggr(:) - type(psb_zspmat_type), intent(inout) :: op_prol - type(psb_zspmat_type), intent(out) :: ac,op_restr + integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) + type(psb_lzspmat_type), intent(inout) :: op_prol + type(psb_lzspmat_type), intent(out) :: ac,op_restr integer(psb_ipk_), intent(out) :: info integer(psb_ipk_) :: err_act character(len=20) :: name='z_base_aggregator_mat_asb' diff --git a/mlprec/mld_z_base_smoother_mod.f90 b/mlprec/mld_z_base_smoother_mod.f90 index 97fdaf1b..589323aa 100644 --- a/mlprec/mld_z_base_smoother_mod.f90 +++ b/mlprec/mld_z_base_smoother_mod.f90 @@ -60,7 +60,7 @@ module mld_z_base_smoother_mod use mld_z_base_solver_mod - use psb_base_mod, only : psb_desc_type, psb_zspmat_type, psb_long_int_k_,& + use psb_base_mod, only : psb_desc_type, psb_zspmat_type, psb_epk_,& & psb_z_vect_type, psb_z_base_vect_type, psb_z_base_sparse_mat, & & psb_dpk_, psb_i_base_vect_type, psb_erractionsave, psb_error_handler @@ -317,7 +317,7 @@ contains function z_base_smoother_get_nzeros(sm) result(val) implicit none class(mld_z_base_smoother_type), intent(in) :: sm - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 if (allocated(sm%sv)) & @@ -328,7 +328,7 @@ contains implicit none ! Arguments class(mld_z_base_smoother_type), intent(in) :: sm - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 diff --git a/mlprec/mld_z_base_solver_mod.f90 b/mlprec/mld_z_base_solver_mod.f90 index 3a1bf16a..de22baf6 100644 --- a/mlprec/mld_z_base_solver_mod.f90 +++ b/mlprec/mld_z_base_solver_mod.f90 @@ -324,7 +324,7 @@ contains implicit none ! Arguments class(mld_z_base_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 @@ -334,7 +334,7 @@ contains function z_base_solver_get_nzeros(sv) result(val) implicit none class(mld_z_base_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 end function z_base_solver_get_nzeros diff --git a/mlprec/mld_z_dec_aggregator_mod.f90 b/mlprec/mld_z_dec_aggregator_mod.f90 index 223bf085..d76345d2 100644 --- a/mlprec/mld_z_dec_aggregator_mod.f90 +++ b/mlprec/mld_z_dec_aggregator_mod.f90 @@ -90,13 +90,13 @@ module mld_z_dec_aggregator_mod abstract interface subroutine mld_z_map_bld(iorder,theta,a,desc_a,nlaggr,ilaggr,info) - import :: psb_zspmat_type, psb_desc_type, psb_dpk_, psb_ipk_ + import :: psb_zspmat_type, psb_desc_type, psb_dpk_, psb_ipk_, psb_lpk_ implicit none integer(psb_ipk_), intent(in) :: iorder type(psb_zspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a real(psb_dpk_), intent(in) :: theta - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) integer(psb_ipk_), intent(out) :: info end subroutine mld_z_map_bld end interface @@ -106,14 +106,14 @@ module mld_z_dec_aggregator_mod interface subroutine mld_z_dec_aggregator_build_tprol(ag,parms,a,desc_a,ilaggr,nlaggr,op_prol,info) import :: mld_z_dec_aggregator_type, psb_desc_type, psb_zspmat_type, psb_dpk_, & - & psb_ipk_, psb_long_int_k_, mld_dml_parms + & psb_ipk_, psb_lpk_, psb_lzspmat_type, mld_dml_parms implicit none class(mld_z_dec_aggregator_type), target, intent(inout) :: ag type(mld_dml_parms), intent(inout) :: parms type(psb_zspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) - type(psb_zspmat_type), intent(out) :: op_prol + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + type(psb_lzspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info end subroutine mld_z_dec_aggregator_build_tprol end interface @@ -122,15 +122,15 @@ module mld_z_dec_aggregator_mod subroutine mld_z_dec_aggregator_mat_asb(ag,parms,a,desc_a,ilaggr,nlaggr,ac,& & op_prol,op_restr,info) import :: mld_z_dec_aggregator_type, psb_desc_type, psb_zspmat_type, psb_dpk_, & - & psb_ipk_, psb_long_int_k_, mld_dml_parms + & psb_ipk_, psb_lpk_, psb_lzspmat_type, mld_dml_parms implicit none class(mld_z_dec_aggregator_type), target, intent(inout) :: ag type(mld_dml_parms), intent(inout) :: parms type(psb_zspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:), nlaggr(:) - type(psb_zspmat_type), intent(inout) :: op_prol - type(psb_zspmat_type), intent(out) :: ac,op_restr + integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) + type(psb_lzspmat_type), intent(inout) :: op_prol + type(psb_lzspmat_type), intent(out) :: ac,op_restr integer(psb_ipk_), intent(out) :: info end subroutine mld_z_dec_aggregator_mat_asb end interface diff --git a/mlprec/mld_z_diag_solver.f90 b/mlprec/mld_z_diag_solver.f90 index ee1c6562..74ada7f2 100644 --- a/mlprec/mld_z_diag_solver.f90 +++ b/mlprec/mld_z_diag_solver.f90 @@ -237,7 +237,7 @@ contains implicit none ! Arguments class(mld_z_diag_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 @@ -250,7 +250,7 @@ contains implicit none ! Arguments class(mld_z_diag_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 diff --git a/mlprec/mld_z_gs_solver.f90 b/mlprec/mld_z_gs_solver.f90 index f16657b1..087daf18 100644 --- a/mlprec/mld_z_gs_solver.f90 +++ b/mlprec/mld_z_gs_solver.f90 @@ -91,9 +91,11 @@ module mld_z_gs_solver end type mld_z_bwgs_solver_type - private :: z_gs_solver_free, & + private :: z_gs_solver_bld, z_gs_solver_apply, & + & z_gs_solver_free, & & z_gs_solver_descr, z_gs_solver_sizeof, & - & z_gs_solver_default, z_gs_solver_get_nzeros, & + & z_gs_solver_default, z_gs_solver_dmp, & + & z_gs_solver_apply_vect, z_gs_solver_get_nzeros, & & z_gs_solver_get_fmt, z_gs_solver_check,& & z_gs_solver_is_iterative, & & z_bwgs_solver_get_fmt, z_bwgs_solver_descr, & @@ -447,7 +449,7 @@ contains implicit none ! Arguments class(mld_z_gs_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 @@ -462,10 +464,10 @@ contains implicit none ! Arguments class(mld_z_gs_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i - val = psb_sizeof_int + val = psb_sizeof_ip val = val + sv%l%sizeof() val = val + sv%u%sizeof() diff --git a/mlprec/mld_z_ilu_solver.f90 b/mlprec/mld_z_ilu_solver.f90 index 955dbc2d..3d1694ef 100644 --- a/mlprec/mld_z_ilu_solver.f90 +++ b/mlprec/mld_z_ilu_solver.f90 @@ -88,9 +88,11 @@ module mld_z_ilu_solver end type mld_z_ilu_solver_type - private :: z_ilu_solver_free, & + private :: z_ilu_solver_bld, z_ilu_solver_apply, & + & z_ilu_solver_free, & & z_ilu_solver_descr, z_ilu_solver_sizeof, & - & z_ilu_solver_default, z_ilu_solver_get_nzeros, & + & z_ilu_solver_default, z_ilu_solver_dmp, & + & z_ilu_solver_apply_vect, z_ilu_solver_get_nzeros, & & z_ilu_solver_get_fmt, z_ilu_solver_check, & & z_ilu_solver_get_id, z_ilu_solver_get_wrksize @@ -419,7 +421,7 @@ contains implicit none ! Arguments class(mld_z_ilu_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 @@ -435,10 +437,10 @@ contains implicit none ! Arguments class(mld_z_ilu_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i - val = 2*psb_sizeof_int + (2*psb_sizeof_dp) + val = 2*psb_sizeof_ip + (2*psb_sizeof_dp) val = val + sv%dv%sizeof() val = val + sv%l%sizeof() val = val + sv%u%sizeof() diff --git a/mlprec/mld_z_inner_mod.f90 b/mlprec/mld_z_inner_mod.f90 index 04c41c4f..4fe6c8e6 100644 --- a/mlprec/mld_z_inner_mod.f90 +++ b/mlprec/mld_z_inner_mod.f90 @@ -47,7 +47,7 @@ module mld_z_inner_mod use psb_base_mod, only : psb_zspmat_type, psb_desc_type, psb_i_base_vect_type, & & psb_dpk_, psb_z_base_sparse_mat, psb_z_base_vect_type, psb_ipk_, & - & psb_z_vect_type + & psb_z_vect_type, psb_lpk_, psb_lzspmat_type use mld_z_prec_type, only : mld_zprec_type, mld_dml_parms, & & mld_z_onelev_type, mld_zmlprec_wrk_type @@ -99,80 +99,80 @@ module mld_z_inner_mod interface mld_aggrmap_bld subroutine mld_z_lev_aggrmap_bld(p,a,desc_a,ilaggr,nlaggr,op_prol,info) - import :: psb_zspmat_type, psb_desc_type, psb_dpk_, psb_ipk_ + import :: psb_zspmat_type, psb_desc_type, psb_dpk_, psb_ipk_, psb_lpk_, psb_lzspmat_type import :: mld_z_onelev_type implicit none type(mld_z_onelev_type), intent(inout), target :: p type(psb_zspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(out) :: ilaggr(:),nlaggr(:) - type(psb_zspmat_type), intent(out) :: op_prol + integer(psb_lpk_), intent(out) :: ilaggr(:),nlaggr(:) + type(psb_lzspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info end subroutine mld_z_lev_aggrmap_bld subroutine mld_zaggrmap_bld(aggr_type,iorder,theta,a,desc_a,ilaggr,nlaggr,op_prol,info) - import :: psb_zspmat_type, psb_desc_type, psb_dpk_, psb_ipk_ + import :: psb_zspmat_type, psb_desc_type, psb_dpk_, psb_ipk_, psb_lpk_, psb_lzspmat_type implicit none integer(psb_ipk_), intent(in) :: iorder integer(psb_ipk_), intent(in) :: aggr_type real(psb_dpk_), intent(in) :: theta type(psb_zspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) - type(psb_zspmat_type), intent(out) :: op_prol + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + type(psb_lzspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info end subroutine mld_zaggrmap_bld end interface mld_aggrmap_bld interface mld_map_to_tprol subroutine mld_z_map_to_tprol(desc_a,ilaggr,nlaggr,op_prol,info) - use psb_base_mod, only : psb_zspmat_type, psb_desc_type, psb_dpk_, psb_ipk_ + use psb_base_mod, only : psb_zspmat_type, psb_desc_type, psb_dpk_, psb_ipk_, psb_lpk_, psb_lzspmat_type use mld_z_prec_type, only : mld_z_onelev_type implicit none type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), allocatable, intent(inout) :: ilaggr(:),nlaggr(:) - type(psb_zspmat_type), intent(out) :: op_prol + integer(psb_lpk_), allocatable, intent(inout) :: ilaggr(:),nlaggr(:) + type(psb_lzspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info end subroutine mld_z_map_to_tprol end interface mld_map_to_tprol interface mld_lev_mat_asb subroutine mld_z_lev_aggrmat_asb(p,a,desc_a,ilaggr,nlaggr,op_prol,info) - import :: psb_zspmat_type, psb_desc_type, psb_dpk_, psb_ipk_ + import :: psb_zspmat_type, psb_desc_type, psb_dpk_, psb_ipk_, psb_lpk_, psb_lzspmat_type import :: mld_z_onelev_type implicit none type(mld_z_onelev_type), intent(inout), target :: p type(psb_zspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:),nlaggr(:) - type(psb_zspmat_type), intent(inout) :: op_prol + integer(psb_lpk_), intent(inout) :: ilaggr(:),nlaggr(:) + type(psb_lzspmat_type), intent(inout) :: op_prol integer(psb_ipk_), intent(out) :: info end subroutine mld_z_lev_aggrmat_asb end interface mld_lev_mat_asb interface mld_aggrmat_asb subroutine mld_zaggrmat_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr,info) - import :: psb_zspmat_type, psb_desc_type, psb_dpk_, psb_ipk_ + import :: psb_zspmat_type, psb_desc_type, psb_dpk_, psb_ipk_, psb_lpk_, psb_lzspmat_type import :: mld_dml_parms implicit none type(psb_zspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:), nlaggr(:) + integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) type(mld_dml_parms), intent(inout) :: parms - type(psb_zspmat_type), intent(out) :: ac,op_prol,op_restr + type(psb_lzspmat_type), intent(out) :: ac,op_prol,op_restr integer(psb_ipk_), intent(out) :: info end subroutine mld_zaggrmat_asb end interface mld_aggrmat_asb abstract interface subroutine mld_zaggrmat_var_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_restr,info) - import :: psb_zspmat_type, psb_desc_type, psb_dpk_, psb_ipk_ + import :: psb_zspmat_type, psb_desc_type, psb_dpk_, psb_ipk_, psb_lpk_, psb_lzspmat_type import :: mld_z_onelev_type, mld_dml_parms implicit none type(psb_zspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:), nlaggr(:) + integer(psb_lpk_), intent(inout) :: ilaggr(:), nlaggr(:) type(mld_dml_parms), intent(inout) :: parms - type(psb_zspmat_type), intent(out) :: ac,op_prol,op_restr + type(psb_lzspmat_type), intent(out) :: ac,op_prol,op_restr integer(psb_ipk_), intent(out) :: info end subroutine mld_zaggrmat_var_asb end interface diff --git a/mlprec/mld_z_jac_smoother.f90 b/mlprec/mld_z_jac_smoother.f90 index 2bf4cb36..e5518c97 100644 --- a/mlprec/mld_z_jac_smoother.f90 +++ b/mlprec/mld_z_jac_smoother.f90 @@ -77,7 +77,7 @@ module mld_z_jac_smoother end type mld_z_jac_smoother_type - private :: z_jac_smoother_free, & + private :: z_jac_smoother_free, z_jac_smoother_descr, & & z_jac_smoother_sizeof, z_jac_smoother_get_nzeros, & & z_jac_smoother_get_fmt, z_jac_smoother_get_id, & & z_jac_smoother_get_wrksize @@ -156,7 +156,7 @@ module mld_z_jac_smoother interface subroutine mld_z_jac_smoother_dmp(sm,ictxt,level,info,prefix,head,smoother,solver) import :: psb_zspmat_type, psb_z_vect_type, psb_z_base_vect_type, & - & psb_dpk_, mld_z_jac_smoother_type, psb_long_int_k_, psb_desc_type, & + & psb_dpk_, mld_z_jac_smoother_type, psb_epk_, psb_desc_type, & & psb_ipk_ implicit none class(mld_z_jac_smoother_type), intent(in) :: sm @@ -230,10 +230,10 @@ contains implicit none ! Arguments class(mld_z_jac_smoother_type), intent(in) :: sm - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i - val = psb_sizeof_int + val = psb_sizeof_ip if (allocated(sm%sv)) val = val + sm%sv%sizeof() val = val + sm%nd%sizeof() @@ -245,7 +245,7 @@ contains implicit none ! Arguments class(mld_z_jac_smoother_type), intent(in) :: sm - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 diff --git a/mlprec/mld_z_mumps_solver.F90 b/mlprec/mld_z_mumps_solver.F90 index 9ce08922..14f670f7 100644 --- a/mlprec/mld_z_mumps_solver.F90 +++ b/mlprec/mld_z_mumps_solver.F90 @@ -58,7 +58,7 @@ module mld_z_mumps_solver include 'zmumps_struc.h' #endif -#if defined(LONG_INTEGERS) +#if defined(LPK8) type, extends(mld_z_base_solver_type) :: mld_z_mumps_solver_type @@ -429,19 +429,18 @@ contains implicit none ! Arguments class(mld_z_mumps_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer :: i #if defined(HAVE_MUMPS_) val = (sv%id%INFOG(22)+sv%id%INFOG(32))*1d+6 #else val = 0 #endif - ! val = 2*psb_sizeof_int + psb_sizeof_dp + ! val = 2*psb_sizeof_ip + psb_sizeof_dp ! val = val + sv%symbsize ! val = val + sv%numsize return end function z_mumps_solver_sizeof -#endif function z_mumps_solver_get_fmt() result(val) implicit none @@ -456,6 +455,7 @@ contains val = mld_mumps_ end function z_mumps_solver_get_id +#endif end module mld_z_mumps_solver diff --git a/mlprec/mld_z_onelev_mod.f90 b/mlprec/mld_z_onelev_mod.f90 index 9074aa5d..253a10e5 100644 --- a/mlprec/mld_z_onelev_mod.f90 +++ b/mlprec/mld_z_onelev_mod.f90 @@ -57,8 +57,8 @@ module mld_z_onelev_mod use mld_z_base_smoother_mod use mld_z_dec_aggregator_mod use psb_base_mod, only : psb_zspmat_type, psb_z_vect_type, & - & psb_z_base_vect_type, psb_zlinmap_type, psb_dpk_, & - & psb_ipk_, psb_long_int_k_, psb_desc_type, psb_i_base_vect_type, & + & psb_z_base_vect_type, psb_lzspmat_type, psb_zlinmap_type, psb_dpk_, & + & psb_ipk_, psb_epk_, psb_lpk_, psb_desc_type, psb_i_base_vect_type, & & psb_erractionsave, psb_error_handler ! ! @@ -164,7 +164,7 @@ module mld_z_onelev_mod type(psb_desc_type) :: desc_ac type(psb_zspmat_type), pointer :: base_a => null() type(psb_desc_type), pointer :: base_desc => null() - type(psb_zspmat_type) :: tprol + type(psb_lzspmat_type) :: tprol type(psb_zlinmap_type) :: map real(psb_dpk_) :: szratio contains @@ -210,14 +210,14 @@ module mld_z_onelev_mod interface subroutine mld_z_base_onelev_mat_asb(lv,a,desc_a,ilaggr,nlaggr,op_prol,info) - import :: psb_zspmat_type, psb_desc_type, psb_dpk_, psb_ipk_ + import :: psb_zspmat_type, psb_desc_type, psb_dpk_, psb_ipk_, psb_lzspmat_type, psb_lpk_ import :: mld_z_onelev_type implicit none class(mld_z_onelev_type), intent(inout), target :: lv type(psb_zspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), intent(inout) :: ilaggr(:),nlaggr(:) - type(psb_zspmat_type), intent(inout) :: op_prol + integer(psb_lpk_), intent(inout) :: ilaggr(:),nlaggr(:) + type(psb_lzspmat_type), intent(inout) :: op_prol integer(psb_ipk_), intent(out) :: info end subroutine mld_z_base_onelev_mat_asb end interface @@ -226,7 +226,7 @@ module mld_z_onelev_mod subroutine mld_z_base_onelev_build(lv,info,amold,vmold,imold) import :: psb_z_base_sparse_mat, psb_z_base_vect_type, & & psb_i_base_vect_type, psb_dpk_, mld_z_onelev_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type implicit none class(mld_z_onelev_type), target, intent(inout) :: lv integer(psb_ipk_), intent(out) :: info @@ -240,7 +240,7 @@ module mld_z_onelev_mod subroutine mld_z_base_onelev_descr(lv,il,nl,ilmin,info,iout) import :: psb_zspmat_type, psb_z_vect_type, psb_z_base_vect_type, & & psb_zlinmap_type, psb_dpk_, mld_z_onelev_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type Implicit None ! Arguments class(mld_z_onelev_type), intent(in) :: lv @@ -263,11 +263,11 @@ module mld_z_onelev_mod end subroutine mld_z_base_onelev_cnv end interface - interface +interface subroutine mld_z_base_onelev_free(lv,info) import :: psb_zspmat_type, psb_z_vect_type, psb_z_base_vect_type, & & psb_zlinmap_type, psb_dpk_, mld_z_onelev_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type implicit none class(mld_z_onelev_type), intent(inout) :: lv @@ -279,7 +279,7 @@ module mld_z_onelev_mod subroutine mld_z_base_onelev_check(lv,info) import :: psb_zspmat_type, psb_z_vect_type, psb_z_base_vect_type, & & psb_zlinmap_type, psb_dpk_, mld_z_onelev_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type Implicit None ! Arguments class(mld_z_onelev_type), intent(inout) :: lv @@ -290,7 +290,7 @@ module mld_z_onelev_mod interface subroutine mld_z_base_onelev_setsm(lv,val,info,pos) import :: psb_dpk_, mld_z_onelev_type, mld_z_base_smoother_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type Implicit None ! Arguments @@ -304,7 +304,7 @@ module mld_z_onelev_mod interface subroutine mld_z_base_onelev_setsv(lv,val,info,pos) import :: psb_dpk_, mld_z_onelev_type, mld_z_base_solver_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type Implicit None ! Arguments @@ -318,7 +318,7 @@ module mld_z_onelev_mod interface subroutine mld_z_base_onelev_setag(lv,val,info,pos) import :: psb_dpk_, mld_z_onelev_type, mld_z_base_aggregator_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type Implicit None ! Arguments @@ -333,7 +333,7 @@ module mld_z_onelev_mod subroutine mld_z_base_onelev_cseti(lv,what,val,info,pos,idx) import :: psb_zspmat_type, psb_z_vect_type, psb_z_base_vect_type, & & psb_zlinmap_type, psb_dpk_, mld_z_onelev_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type Implicit None ! Arguments @@ -350,7 +350,7 @@ module mld_z_onelev_mod subroutine mld_z_base_onelev_csetc(lv,what,val,info,pos,idx) import :: psb_zspmat_type, psb_z_vect_type, psb_z_base_vect_type, & & psb_zlinmap_type, psb_dpk_, mld_z_onelev_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type Implicit None ! Arguments class(mld_z_onelev_type), intent(inout) :: lv @@ -366,7 +366,7 @@ module mld_z_onelev_mod subroutine mld_z_base_onelev_csetr(lv,what,val,info,pos,idx) import :: psb_zspmat_type, psb_z_vect_type, psb_z_base_vect_type, & & psb_zlinmap_type, psb_dpk_, mld_z_onelev_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type Implicit None class(mld_z_onelev_type), intent(inout) :: lv @@ -383,7 +383,7 @@ module mld_z_onelev_mod & solver,global_num) import :: psb_zspmat_type, psb_z_vect_type, psb_z_base_vect_type, & & psb_zlinmap_type, psb_dpk_, mld_z_onelev_type, & - & psb_ipk_, psb_long_int_k_, psb_desc_type + & psb_ipk_, psb_epk_, psb_desc_type implicit none class(mld_z_onelev_type), intent(in) :: lv integer(psb_ipk_), intent(in) :: level @@ -402,7 +402,7 @@ contains function z_base_onelev_get_nzeros(lv) result(val) implicit none class(mld_z_onelev_type), intent(in) :: lv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 if (allocated(lv%sm)) & @@ -414,7 +414,7 @@ contains function z_base_onelev_sizeof(lv) result(val) implicit none class(mld_z_onelev_type), intent(in) :: lv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 @@ -488,8 +488,8 @@ contains class(mld_z_onelev_type), intent(inout), target :: lv type(psb_zspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) - type(psb_zspmat_type), intent(out) :: op_prol + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + type(psb_lzspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info call lv%aggr%bld_tprol(lv%parms,a,desc_a,ilaggr,nlaggr,op_prol,info) diff --git a/mlprec/mld_z_prec_type.f90 b/mlprec/mld_z_prec_type.f90 index d84c37b7..0e167216 100644 --- a/mlprec/mld_z_prec_type.f90 +++ b/mlprec/mld_z_prec_type.f90 @@ -57,6 +57,7 @@ module mld_z_prec_type use mld_z_base_smoother_mod use mld_z_base_aggregator_mod use mld_z_onelev_mod + use psb_base_mod, only : psb_erractionsave, psb_erractionrestore, psb_errstatus_fatal use psb_prec_mod, only : psb_zprec_type ! @@ -407,7 +408,7 @@ contains function mld_z_get_nzeros(prec) result(val) implicit none class(mld_zprec_type), intent(in) :: prec - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 if (allocated(prec%precv)) then @@ -420,10 +421,10 @@ contains function mld_zprec_sizeof(prec) result(val) implicit none class(mld_zprec_type), intent(in) :: prec - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer(psb_ipk_) :: i val = 0 - val = val + psb_sizeof_int + val = val + psb_sizeof_ip if (allocated(prec%precv)) then do i=1, size(prec%precv) val = val + prec%precv(i)%sizeof() @@ -542,10 +543,12 @@ contains integer(psb_ipk_) :: me,err_act,i character(len=20) :: name - if(psb_get_errstatus().ne.0) return info=psb_success_ name = 'mld_zprecfree' call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; return + end if me=-1 @@ -557,7 +560,7 @@ contains end subroutine mld_zprecfree subroutine mld_z_prec_free(prec,info) - + implicit none ! Arguments @@ -568,10 +571,12 @@ contains integer(psb_ipk_) :: me,err_act,i character(len=20) :: name - if(psb_get_errstatus().ne.0) return info=psb_success_ name = 'mld_zprecfree' call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if me=-1 call prec%free_wrk(info) @@ -857,10 +862,12 @@ contains integer(psb_ipk_) :: me,err_act,i,j,level,nlev, nc2l character(len=20) :: name - if(psb_get_errstatus().ne.0) return info=psb_success_ name = 'mld_z_allocate_wrk' call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if nlev = size(prec%precv) level = 1 do level = 1, nlev @@ -896,10 +903,12 @@ contains integer(psb_ipk_) :: me,err_act,i,j,level, nlev, nc2l character(len=20) :: name - if(psb_get_errstatus().ne.0) return info=psb_success_ name = 'mld_z_free_wrk' call psb_erractionsave(err_act) + if (psb_errstatus_fatal()) then + info = psb_err_internal_error_; goto 9999 + end if nlev = size(prec%precv) do level = 1, nlev diff --git a/mlprec/mld_z_slu_solver.F90 b/mlprec/mld_z_slu_solver.F90 index 38c93bc5..b7fdb807 100644 --- a/mlprec/mld_z_slu_solver.F90 +++ b/mlprec/mld_z_slu_solver.F90 @@ -51,7 +51,7 @@ module mld_z_slu_solver use iso_c_binding use mld_z_base_solver_mod -#if defined(LONG_INTEGERS) +#if defined(IPK8) type, extends(mld_z_base_solver_type) :: mld_z_slu_solver_type @@ -402,10 +402,10 @@ contains implicit none ! Arguments class(mld_z_slu_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer :: i - val = 2*psb_sizeof_int + psb_sizeof_dp + val = 2*psb_sizeof_ip + psb_sizeof_dp val = val + sv%symbsize val = val + sv%numsize return diff --git a/mlprec/mld_z_sludist_solver.F90 b/mlprec/mld_z_sludist_solver.F90 index b2d81baa..03f1c489 100644 --- a/mlprec/mld_z_sludist_solver.F90 +++ b/mlprec/mld_z_sludist_solver.F90 @@ -52,7 +52,7 @@ module mld_z_sludist_solver use iso_c_binding use mld_z_base_solver_mod -#if defined(LONG_INTEGERS) +#if defined(LPK8) type, extends(mld_z_base_solver_type) :: mld_z_sludist_solver_type @@ -167,7 +167,7 @@ contains allocate(ww(n_col),stat=info) if (info /= psb_success_) then info=psb_err_alloc_request_ - call psb_errpush(info,name,i_err=(/n_col,0,0,0,0/),& + call psb_errpush(info,name,i_err=(/n_col/),& & a_err='complex(psb_dpk_)') goto 9999 end if @@ -411,10 +411,10 @@ contains implicit none ! Arguments class(mld_z_sludist_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer :: i - val = 2*psb_sizeof_int + psb_sizeof_dp + val = 2*psb_sizeof_ip + psb_sizeof_dp val = val + sv%symbsize val = val + sv%numsize return diff --git a/mlprec/mld_z_symdec_aggregator_mod.f90 b/mlprec/mld_z_symdec_aggregator_mod.f90 index 46b208f1..4da6fe6f 100644 --- a/mlprec/mld_z_symdec_aggregator_mod.f90 +++ b/mlprec/mld_z_symdec_aggregator_mod.f90 @@ -64,14 +64,14 @@ module mld_z_symdec_aggregator_mod interface subroutine mld_z_symdec_aggregator_build_tprol(ag,parms,a,desc_a,ilaggr,nlaggr,op_prol,info) import :: mld_z_symdec_aggregator_type, psb_desc_type, psb_zspmat_type, psb_dpk_, & - & psb_ipk_, psb_long_int_k_, mld_dml_parms + & psb_ipk_, psb_lpk_, psb_lzspmat_type, mld_dml_parms implicit none class(mld_z_symdec_aggregator_type), target, intent(inout) :: ag type(mld_dml_parms), intent(inout) :: parms type(psb_zspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a - integer(psb_ipk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) - type(psb_zspmat_type), intent(out) :: op_prol + integer(psb_lpk_), allocatable, intent(out) :: ilaggr(:),nlaggr(:) + type(psb_lzspmat_type), intent(out) :: op_prol integer(psb_ipk_), intent(out) :: info end subroutine mld_z_symdec_aggregator_build_tprol end interface diff --git a/mlprec/mld_z_umf_solver.F90 b/mlprec/mld_z_umf_solver.F90 index c2999616..2847e51f 100644 --- a/mlprec/mld_z_umf_solver.F90 +++ b/mlprec/mld_z_umf_solver.F90 @@ -51,7 +51,7 @@ module mld_z_umf_solver use iso_c_binding use mld_z_base_solver_mod -#if defined(LONG_INTEGERS) +#if defined(IPK8) type, extends(mld_z_base_solver_type) :: mld_z_umf_solver_type end type mld_z_umf_solver_type @@ -406,10 +406,10 @@ contains implicit none ! Arguments class(mld_z_umf_solver_type), intent(in) :: sv - integer(psb_long_int_k_) :: val + integer(psb_epk_) :: val integer :: i - val = 2*psb_sizeof_long_int + val = 2*psb_sizeof_lp val = val + sv%symbsize val = val + sv%numsize return diff --git a/tests/Bcmatch/mld_d_bcmatch_aggregator_mat_asb.f90 b/tests/Bcmatch/mld_d_bcmatch_aggregator_mat_asb.f90 index 1566dced..209da1e9 100644 --- a/tests/Bcmatch/mld_d_bcmatch_aggregator_mat_asb.f90 +++ b/tests/Bcmatch/mld_d_bcmatch_aggregator_mat_asb.f90 @@ -148,13 +148,13 @@ subroutine mld_d_bcmatch_aggregator_mat_asb(ag,parms,a,desc_a,ilaggr,nlaggr,ac, integer(psb_ipk_), intent(out) :: info ! Local variables - character(len=20) :: name - integer(psb_mpik_) :: ictxt, np, me + character(len=20) :: name + integer(psb_mpk_) :: ictxt, np, me type(psb_d_coo_sparse_mat) :: acoo, bcoo type(psb_d_csr_sparse_mat) :: acsr1 - integer(psb_ipk_) :: nzl,ntaggr - integer(psb_ipk_) :: err_act - integer(psb_ipk_) :: debug_level, debug_unit + integer(psb_ipk_) :: nzl,ntaggr + integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: debug_level, debug_unit name='mld_d_bcmatch_aggregator_mat_asb' if (psb_get_errstatus().ne.0) return diff --git a/tests/Bcmatch/mld_d_bcmatch_aggregator_tprol.f90 b/tests/Bcmatch/mld_d_bcmatch_aggregator_tprol.f90 index 509b76a7..c6fdd218 100644 --- a/tests/Bcmatch/mld_d_bcmatch_aggregator_tprol.f90 +++ b/tests/Bcmatch/mld_d_bcmatch_aggregator_tprol.f90 @@ -65,11 +65,11 @@ subroutine mld_d_bcmatch_aggregator_build_tprol(ag,parms,a,desc_a,ilaggr,nlaggr type(psb_dspmat_type) :: a_tmp type(bcm_CSRMatrix) :: C, P integer(c_int) :: match_algorithm, n_sweeps, max_csize, max_nlevels - character(len=20) :: name, ch_err - integer(psb_mpik_) :: ictxt, np, me - integer(psb_ipk_) :: err_act, ierr - integer(psb_ipk_) :: debug_level, debug_unit - integer(psb_ipk_) :: i, j, k, nr, nc, isz, num_pcols + character(len=20) :: name, ch_err + integer(psb_mpk_) :: ictxt, np, me + integer(psb_ipk_) :: err_act, ierr + integer(psb_ipk_) :: debug_level, debug_unit + integer(psb_ipk_) :: i, j, k, nr, nc, isz, num_pcols type(psb_d_csr_sparse_mat), target :: acsr integer(psb_ipk_), allocatable, target :: csr_ia(:), csr_ja(:) integer(psb_ipk_), allocatable :: aux(:) diff --git a/tests/fileread/mld_cf_sample.f90 b/tests/fileread/mld_cf_sample.f90 index 275604b4..08476ceb 100644 --- a/tests/fileread/mld_cf_sample.f90 +++ b/tests/fileread/mld_cf_sample.f90 @@ -138,7 +138,7 @@ program mld_cf_sample ! solver paramters integer(psb_ipk_) :: iter, ircode, nlv - integer(psb_long_int_k_) :: amatsize, precsize, descsize + integer(psb_epk_) :: amatsize, precsize, descsize real(psb_spk_) :: err character(len=5) :: afmt diff --git a/tests/fileread/mld_df_sample.f90 b/tests/fileread/mld_df_sample.f90 index 302e8b74..6b2d08fa 100644 --- a/tests/fileread/mld_df_sample.f90 +++ b/tests/fileread/mld_df_sample.f90 @@ -138,7 +138,7 @@ program mld_df_sample ! solver paramters integer(psb_ipk_) :: iter, ircode, nlv - integer(psb_long_int_k_) :: amatsize, precsize, descsize + integer(psb_epk_) :: amatsize, precsize, descsize real(psb_dpk_) :: err character(len=5) :: afmt diff --git a/tests/fileread/mld_sf_sample.f90 b/tests/fileread/mld_sf_sample.f90 index a5547dc1..57ce962a 100644 --- a/tests/fileread/mld_sf_sample.f90 +++ b/tests/fileread/mld_sf_sample.f90 @@ -138,7 +138,7 @@ program mld_sf_sample ! solver paramters integer(psb_ipk_) :: iter, ircode, nlv - integer(psb_long_int_k_) :: amatsize, precsize, descsize + integer(psb_epk_) :: amatsize, precsize, descsize real(psb_spk_) :: err character(len=5) :: afmt diff --git a/tests/fileread/mld_zf_sample.f90 b/tests/fileread/mld_zf_sample.f90 index a45f258c..8bc693be 100644 --- a/tests/fileread/mld_zf_sample.f90 +++ b/tests/fileread/mld_zf_sample.f90 @@ -138,7 +138,7 @@ program mld_zf_sample ! solver paramters integer(psb_ipk_) :: iter, ircode, nlv - integer(psb_long_int_k_) :: amatsize, precsize, descsize + integer(psb_epk_) :: amatsize, precsize, descsize real(psb_dpk_) :: err character(len=5) :: afmt diff --git a/tests/newslv/mld_pde3d_newslv.f90 b/tests/newslv/mld_pde3d_newslv.f90 index c0533508..25abddc8 100644 --- a/tests/newslv/mld_pde3d_newslv.f90 +++ b/tests/newslv/mld_pde3d_newslv.f90 @@ -153,7 +153,7 @@ program mld_d_pde3d ! solver parameters integer(psb_ipk_) :: iter, itmax,itrace, istopc, irst, nlv - integer(psb_long_int_k_) :: amatsize, precsize, descsize + integer(psb_epk_) :: amatsize, precsize, descsize real(psb_dpk_) :: err, eps ! other variables diff --git a/tests/pdegen/mld_d_pde2d.f90 b/tests/pdegen/mld_d_pde2d.f90 index 3e14779d..8afdc1ce 100644 --- a/tests/pdegen/mld_d_pde2d.f90 +++ b/tests/pdegen/mld_d_pde2d.f90 @@ -74,7 +74,7 @@ module mld_d_pde2d_mod real(psb_dpk_), intent(in) :: x,y real(psb_dpk_) :: val end function d_func_2d - end interface + end interface interface mld_gen_pde2d module procedure mld_d_gen_pde2d @@ -85,7 +85,7 @@ contains real(psb_dpk_), intent(in) :: x,y real(psb_dpk_) :: val - + val = dzero end function d_null_func_2d @@ -159,7 +159,7 @@ contains subroutine mld_d_gen_pde2d(ictxt,idim,a,bv,xv,desc_a,afmt,info,& & f,amold,vmold,imold,partition,nrl,iv) use psb_base_mod - use psb_util_mod + use psb_util_mod ! ! Discretizes the partial differential equation ! @@ -195,15 +195,19 @@ contains type(psb_d_coo_sparse_mat) :: acoo type(psb_d_csr_sparse_mat) :: acsr real(psb_dpk_) :: zt(nb),x,y,z - integer(psb_ipk_) :: m,n,nnz,nr,nt,glob_row,nlr,i,j,ii,ib,k, partition_ + integer(psb_ipk_) :: nnz,nr,nlr,i,j,ii,ib,k, partition_ + integer(psb_lpk_) :: m,n,glob_row,nt integer(psb_ipk_) :: ix,iy,iz,ia,indx_owner ! For 2D partition - integer(psb_ipk_) :: npx,npy,npdims(2),iamx,iamy,mynx,myny + ! Note: integer control variables going directly into an MPI call + ! must be 4 bytes, i.e. psb_mpk_ + integer(psb_mpk_) :: npdims(2), npp, minfo + integer(psb_ipk_) :: npx,npy,iamx,iamy,mynx,myny integer(psb_ipk_), allocatable :: bndx(:),bndy(:) ! Process grid integer(psb_ipk_) :: np, iam integer(psb_ipk_) :: icoeff - integer(psb_ipk_), allocatable :: irow(:),icol(:),myidx(:) + integer(psb_lpk_), allocatable :: irow(:),icol(:),myidx(:) real(psb_dpk_), allocatable :: val(:) ! deltah dimension of each grid cell ! deltat discretization time @@ -245,7 +249,7 @@ contains ! initialize array descriptor and sparse matrix storage. provide an ! estimate of the number of non zeroes - m = idim*idim + m = (1_psb_lpk_)*idim*idim n = m nnz = 7*((n+np-1)/np) if (iam == psb_root_) write(psb_out_unit,'("Generating Matrix (size=",i0,")...")')n @@ -528,9 +532,9 @@ contains return end subroutine mld_d_gen_pde2d - end module mld_d_pde2d_mod + program mld_d_pde2d use psb_base_mod use mld_prec_mod @@ -560,7 +564,7 @@ program mld_d_pde2d ! solver parameters integer(psb_ipk_) :: iter, itmax,itrace, istopc, irst, nlv - integer(psb_long_int_k_) :: amatsize, precsize, descsize + integer(psb_epk_) :: amatsize, precsize, descsize real(psb_dpk_) :: err, resmx, resmxp ! Krylov solver data diff --git a/tests/pdegen/mld_d_pde3d.f90 b/tests/pdegen/mld_d_pde3d.f90 index 4b7d03c2..7fb70edb 100644 --- a/tests/pdegen/mld_d_pde3d.f90 +++ b/tests/pdegen/mld_d_pde3d.f90 @@ -65,9 +65,10 @@ ! into subcubes, each one assigned to a process. ! module mld_d_pde3d_mod - use psb_base_mod, only : psb_dpk_, psb_ipk_, psb_desc_type,& + use psb_base_mod, only : psb_dpk_, psb_ipk_, psb_lpk_, psb_desc_type,& & psb_dspmat_type, psb_d_vect_type, dzero,& - & psb_d_base_sparse_mat, psb_d_base_vect_type, psb_i_base_vect_type + & psb_d_base_sparse_mat, psb_d_base_vect_type, & + & psb_i_base_vect_type, psb_l_base_vect_type interface function d_func_3d(x,y,z) result(val) @@ -95,7 +96,6 @@ contains ! ! functions parametrizing the differential equation ! - ! ! Note: b1, b2 and b3 are the coefficients of the first ! derivative of the unknown function. The default @@ -124,6 +124,7 @@ contains implicit none real(psb_dpk_) :: b3 real(psb_dpk_), intent(in) :: x,y,z + b3=dzero end function b3 function c(x,y,z) @@ -211,15 +212,19 @@ contains type(psb_d_coo_sparse_mat) :: acoo type(psb_d_csr_sparse_mat) :: acsr real(psb_dpk_) :: zt(nb),x,y,z - integer(psb_ipk_) :: m,n,nnz,nr,nt,glob_row,nlr,i,j,ii,ib,k, partition_ + integer(psb_ipk_) :: nnz,nr,nlr,i,j,ii,ib,k, partition_ + integer(psb_lpk_) :: m,n,glob_row,nt integer(psb_ipk_) :: ix,iy,iz,ia,indx_owner ! For 3D partition - integer(psb_ipk_) :: npx,npy,npz, npdims(3),iamx,iamy,iamz,mynx,myny,mynz + ! Note: integer control variables going directly into an MPI call + ! must be 4 bytes, i.e. psb_mpk_ + integer(psb_mpk_) :: npdims(3), npp, minfo + integer(psb_ipk_) :: npx,npy,npz, iamx,iamy,iamz,mynx,myny,mynz integer(psb_ipk_), allocatable :: bndx(:),bndy(:),bndz(:) ! Process grid integer(psb_ipk_) :: np, iam integer(psb_ipk_) :: icoeff - integer(psb_ipk_), allocatable :: irow(:),icol(:),myidx(:) + integer(psb_lpk_), allocatable :: irow(:),icol(:),myidx(:) real(psb_dpk_), allocatable :: val(:) ! deltah dimension of each grid cell ! deltat discretization time @@ -261,7 +266,7 @@ contains ! initialize array descriptor and sparse matrix storage. provide an ! estimate of the number of non zeroes - m = idim*idim*idim + m = (1_psb_lpk_*idim)*idim*idim n = m nnz = 7*((n+np-1)/np) if(iam == psb_root_) write(psb_out_unit,'("Generating Matrix (size=",i0,")...")')n @@ -599,7 +604,7 @@ program mld_d_pde3d ! solver parameters integer(psb_ipk_) :: iter, itmax,itrace, istopc, irst, nlv - integer(psb_long_int_k_) :: amatsize, precsize, descsize + integer(psb_epk_) :: amatsize, precsize, descsize real(psb_dpk_) :: err, resmx, resmxp ! Krylov solver data diff --git a/tests/pdegen/mld_s_pde2d.f90 b/tests/pdegen/mld_s_pde2d.f90 index b13c4462..7d34101e 100644 --- a/tests/pdegen/mld_s_pde2d.f90 +++ b/tests/pdegen/mld_s_pde2d.f90 @@ -74,7 +74,7 @@ module mld_s_pde2d_mod real(psb_spk_), intent(in) :: x,y real(psb_spk_) :: val end function s_func_2d - end interface + end interface interface mld_gen_pde2d module procedure mld_s_gen_pde2d @@ -85,7 +85,7 @@ contains real(psb_spk_), intent(in) :: x,y real(psb_spk_) :: val - + val = szero end function s_null_func_2d @@ -159,7 +159,7 @@ contains subroutine mld_s_gen_pde2d(ictxt,idim,a,bv,xv,desc_a,afmt,info,& & f,amold,vmold,imold,partition,nrl,iv) use psb_base_mod - use psb_util_mod + use psb_util_mod ! ! Discretizes the partial differential equation ! @@ -195,15 +195,19 @@ contains type(psb_s_coo_sparse_mat) :: acoo type(psb_s_csr_sparse_mat) :: acsr real(psb_spk_) :: zt(nb),x,y,z - integer(psb_ipk_) :: m,n,nnz,nr,nt,glob_row,nlr,i,j,ii,ib,k, partition_ + integer(psb_ipk_) :: nnz,nr,nlr,i,j,ii,ib,k, partition_ + integer(psb_lpk_) :: m,n,glob_row,nt integer(psb_ipk_) :: ix,iy,iz,ia,indx_owner ! For 2D partition - integer(psb_ipk_) :: npx,npy,npdims(2),iamx,iamy,mynx,myny + ! Note: integer control variables going directly into an MPI call + ! must be 4 bytes, i.e. psb_mpk_ + integer(psb_mpk_) :: npdims(2), npp, minfo + integer(psb_ipk_) :: npx,npy,iamx,iamy,mynx,myny integer(psb_ipk_), allocatable :: bndx(:),bndy(:) ! Process grid integer(psb_ipk_) :: np, iam integer(psb_ipk_) :: icoeff - integer(psb_ipk_), allocatable :: irow(:),icol(:),myidx(:) + integer(psb_lpk_), allocatable :: irow(:),icol(:),myidx(:) real(psb_spk_), allocatable :: val(:) ! deltah dimension of each grid cell ! deltat discretization time @@ -245,7 +249,7 @@ contains ! initialize array descriptor and sparse matrix storage. provide an ! estimate of the number of non zeroes - m = idim*idim + m = (1_psb_lpk_)*idim*idim n = m nnz = 7*((n+np-1)/np) if (iam == psb_root_) write(psb_out_unit,'("Generating Matrix (size=",i0,")...")')n @@ -528,9 +532,9 @@ contains return end subroutine mld_s_gen_pde2d - end module mld_s_pde2d_mod + program mld_s_pde2d use psb_base_mod use mld_prec_mod @@ -560,7 +564,7 @@ program mld_s_pde2d ! solver parameters integer(psb_ipk_) :: iter, itmax,itrace, istopc, irst, nlv - integer(psb_long_int_k_) :: amatsize, precsize, descsize + integer(psb_epk_) :: amatsize, precsize, descsize real(psb_spk_) :: err, resmx, resmxp ! Krylov solver data diff --git a/tests/pdegen/mld_s_pde3d.f90 b/tests/pdegen/mld_s_pde3d.f90 index d11e11ee..ff221879 100644 --- a/tests/pdegen/mld_s_pde3d.f90 +++ b/tests/pdegen/mld_s_pde3d.f90 @@ -65,9 +65,10 @@ ! into subcubes, each one assigned to a process. ! module mld_s_pde3d_mod - use psb_base_mod, only : psb_spk_, psb_ipk_, psb_desc_type,& + use psb_base_mod, only : psb_spk_, psb_ipk_, psb_lpk_, psb_desc_type,& & psb_sspmat_type, psb_s_vect_type, szero,& - & psb_s_base_sparse_mat, psb_s_base_vect_type, psb_i_base_vect_type + & psb_s_base_sparse_mat, psb_s_base_vect_type, & + & psb_i_base_vect_type, psb_l_base_vect_type interface function s_func_3d(x,y,z) result(val) @@ -95,7 +96,6 @@ contains ! ! functions parametrizing the differential equation ! - ! ! Note: b1, b2 and b3 are the coefficients of the first ! derivative of the unknown function. The default @@ -124,6 +124,7 @@ contains implicit none real(psb_spk_) :: b3 real(psb_spk_), intent(in) :: x,y,z + b3=szero end function b3 function c(x,y,z) @@ -211,15 +212,19 @@ contains type(psb_s_coo_sparse_mat) :: acoo type(psb_s_csr_sparse_mat) :: acsr real(psb_spk_) :: zt(nb),x,y,z - integer(psb_ipk_) :: m,n,nnz,nr,nt,glob_row,nlr,i,j,ii,ib,k, partition_ + integer(psb_ipk_) :: nnz,nr,nlr,i,j,ii,ib,k, partition_ + integer(psb_lpk_) :: m,n,glob_row,nt integer(psb_ipk_) :: ix,iy,iz,ia,indx_owner ! For 3D partition - integer(psb_ipk_) :: npx,npy,npz, npdims(3),iamx,iamy,iamz,mynx,myny,mynz + ! Note: integer control variables going directly into an MPI call + ! must be 4 bytes, i.e. psb_mpk_ + integer(psb_mpk_) :: npdims(3), npp, minfo + integer(psb_ipk_) :: npx,npy,npz, iamx,iamy,iamz,mynx,myny,mynz integer(psb_ipk_), allocatable :: bndx(:),bndy(:),bndz(:) ! Process grid integer(psb_ipk_) :: np, iam integer(psb_ipk_) :: icoeff - integer(psb_ipk_), allocatable :: irow(:),icol(:),myidx(:) + integer(psb_lpk_), allocatable :: irow(:),icol(:),myidx(:) real(psb_spk_), allocatable :: val(:) ! deltah dimension of each grid cell ! deltat discretization time @@ -261,7 +266,7 @@ contains ! initialize array descriptor and sparse matrix storage. provide an ! estimate of the number of non zeroes - m = idim*idim*idim + m = (1_psb_lpk_*idim)*idim*idim n = m nnz = 7*((n+np-1)/np) if(iam == psb_root_) write(psb_out_unit,'("Generating Matrix (size=",i0,")...")')n @@ -599,7 +604,7 @@ program mld_s_pde3d ! solver parameters integer(psb_ipk_) :: iter, itmax,itrace, istopc, irst, nlv - integer(psb_long_int_k_) :: amatsize, precsize, descsize + integer(psb_epk_) :: amatsize, precsize, descsize real(psb_spk_) :: err, resmx, resmxp ! Krylov solver data