#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.71 for Open MPI 5.0.5.
#
# Report bugs to .
#
#
# Copyright (C) 1992-1996, 1998-2017, 2020-2021 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. ##
## -------------------- ##
# Be more Bourne compatible
DUALCASE=1; export DUALCASE # for MKS sh
as_nop=:
if test ${ZSH_VERSION+y} && (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 $as_nop
case `(set -o) 2>/dev/null` in #(
*posix*) :
set -o posix ;; #(
*) :
;;
esac
fi
# Reset variables that may have inherited troublesome values from
# the environment.
# IFS needs to be set, to space, tab, and newline, in precisely that order.
# (If _AS_PATH_WALK were called with IFS unset, it would have the
# side effect of setting IFS to empty, thus disabling word splitting.)
# Quoting is to prevent editors from complaining about space-tab.
as_nl='
'
export as_nl
IFS=" "" $as_nl"
PS1='$ '
PS2='> '
PS4='+ '
# Ensure predictable behavior from utilities with locale-dependent output.
LC_ALL=C
export LC_ALL
LANGUAGE=C
export LANGUAGE
# We cannot yet rely on "unset" to work, but we need these variables
# to be unset--not just set to an empty or harmless value--now, to
# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct
# also avoids known problems related to "unset" and subshell syntax
# in other old shells (e.g. bash 2.01 and pdksh 5.2.14).
for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
do eval test \${$as_var+y} \
&& ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
done
# Ensure that fds 0, 1, and 2 are open.
if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi
if (exec 3>&2) ; then :; else exec 2>/dev/null; fi
# The user is always right.
if ${PATH_SEPARATOR+false} :; then
PATH_SEPARATOR=:
(PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
(PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
PATH_SEPARATOR=';'
}
fi
# Find who we are. Look in the path if we contain no directory separator.
as_myself=
case $0 in #((
*[\\/]* ) as_myself=$0 ;;
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
test -r "$as_dir$0" && as_myself=$as_dir$0 && break
done
IFS=$as_save_IFS
;;
esac
# We did not find ourselves, most probably we were run as `sh COMMAND'
# in which case we are not to be found in the path.
if test "x$as_myself" = x; then
as_myself=$0
fi
if test ! -f "$as_myself"; then
printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
exit 1
fi
# 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'.
printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2
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="as_nop=:
if test \${ZSH_VERSION+y} && (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 \$as_nop
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 \$as_nop
exitcode=1; echo positional parameters were not saved.
fi
test x\$exitcode = x0 || exit 1
blah=\$(echo \$(echo blah))
test x\"\$blah\" = xblah || 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
test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
PATH=/empty FPATH=/empty; export PATH FPATH
test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
|| test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1"
if (eval "$as_required") 2>/dev/null
then :
as_have_required=yes
else $as_nop
as_have_required=no
fi
if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null
then :
else $as_nop
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
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
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_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null
then :
CONFIG_SHELL=$as_shell as_have_required=yes
if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null
then :
break 2
fi
fi
done;;
esac
as_found=false
done
IFS=$as_save_IFS
if $as_found
then :
else $as_nop
if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null
then :
CONFIG_SHELL=$SHELL as_have_required=yes
fi
fi
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'.
printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2
exit 255
fi
if test x$as_have_required = xno
then :
printf "%s\n" "$0: This script requires a shell more modern than all"
printf "%s\n" "$0: the shells that I found on your system."
if test ${ZSH_VERSION+y} ; then
printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should"
printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later."
else
printf "%s\n" "$0: Please tell bug-autoconf@gnu.org and
$0: https://www.open-mpi.org/community/help/ about your
$0: system, including any error possibly output before this
$0: message. Then install a modern shell, or manually run
$0: 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_nop
# ---------
# Do nothing but, unlike ":", preserve the value of $?.
as_fn_nop ()
{
return $?
}
as_nop=as_fn_nop
# 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=`printf "%s\n" "$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 ||
printf "%s\n" 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_nop
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_nop
as_fn_arith ()
{
as_val=`expr "$@" || test $? -eq 1`
}
fi # as_fn_arith
# as_fn_nop
# ---------
# Do nothing but, unlike ":", preserve the value of $?.
as_fn_nop ()
{
return $?
}
as_nop=as_fn_nop
# as_fn_nop
# ---------
# Do nothing but, unlike ":", preserve the value of $?.
as_fn_nop ()
{
return $?
}
as_nop=as_fn_nop
# 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
printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
fi
printf "%s\n" "$as_me: error: $2" >&2
as_fn_exit $as_status
} # as_fn_error
if expr a : '\(a\)' >/dev/null 2>&1 &&
test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
else
as_expr=false
fi
if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
as_basename=basename
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
as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
X"$0" : 'X\(/\)' \| . 2>/dev/null ||
printf "%s\n" X/"$0" |
sed '/^.*\/\([^/][^/]*\)\/*$/{
s//\1/
q
}
/^X\/\(\/\/\)$/{
s//\1/
q
}
/^X\/\(\/\).*/{
s//\1/
q
}
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
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" ||
{ printf "%s\n" "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
# 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
}
# Determine whether it's possible to make 'echo' print without a newline.
# These variables are no longer used directly by Autoconf, but are AC_SUBSTed
# for compatibility with existing Makefiles.
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
# For backward compatibility with old third-party macros, we provide
# the shell variables $as_echo and $as_echo_n. New code should use
# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively.
as_echo='printf %s\n'
as_echo_n='printf %s'
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 -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'
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"'
else
test -d ./-p && rmdir ./-p
as_mkdir_p=false
fi
as_test_x='test -x'
as_executable_p=as_fn_executable_p
# 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'"
as_awk_strverscmp='
# Use only awk features that work with 7th edition Unix awk (1978).
# My, what an old awk you have, Mr. Solaris!
END {
while (length(v1) && length(v2)) {
# Set d1 to be the next thing to compare from v1, and likewise for d2.
# Normally this is a single character, but if v1 and v2 contain digits,
# compare them as integers and fractions as strverscmp does.
if (v1 ~ /^[0-9]/ && v2 ~ /^[0-9]/) {
# Split v1 and v2 into their leading digit string components d1 and d2,
# and advance v1 and v2 past the leading digit strings.
for (len1 = 1; substr(v1, len1 + 1) ~ /^[0-9]/; len1++) continue
for (len2 = 1; substr(v2, len2 + 1) ~ /^[0-9]/; len2++) continue
d1 = substr(v1, 1, len1); v1 = substr(v1, len1 + 1)
d2 = substr(v2, 1, len2); v2 = substr(v2, len2 + 1)
if (d1 ~ /^0/) {
if (d2 ~ /^0/) {
# Compare two fractions.
while (d1 ~ /^0/ && d2 ~ /^0/) {
d1 = substr(d1, 2); len1--
d2 = substr(d2, 2); len2--
}
if (len1 != len2 && ! (len1 && len2 && substr(d1, 1, 1) == substr(d2, 1, 1))) {
# The two components differ in length, and the common prefix
# contains only leading zeros. Consider the longer to be less.
d1 = -len1
d2 = -len2
} else {
# Otherwise, compare as strings.
d1 = "x" d1
d2 = "x" d2
}
} else {
# A fraction is less than an integer.
exit 1
}
} else {
if (d2 ~ /^0/) {
# An integer is greater than a fraction.
exit 2
} else {
# Compare two integers.
d1 += 0
d2 += 0
}
}
} else {
# The normal case, without worrying about digits.
d1 = substr(v1, 1, 1); v1 = substr(v1, 2)
d2 = substr(v2, 1, 1); v2 = substr(v2, 2)
}
if (d1 < d2) exit 1
if (d1 > d2) exit 2
}
# Beware Solaris /usr/xgp4/bin/awk (at least through Solaris 10),
# which mishandles some comparisons of empty strings to integers.
if (length(v2)) exit 1
if (length(v1)) exit 2
}
'
SHELL=${CONFIG_SHELL-/bin/sh}
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`
#
# Initializations.
#
ac_default_prefix=/usr/local
ac_clean_files=
ac_config_libobj_dir=.
LIBOBJS=
cross_compiling=no
subdirs=
MFLAGS=
MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='Open MPI'
PACKAGE_TARNAME='openmpi'
PACKAGE_VERSION='5.0.5'
PACKAGE_STRING='Open MPI 5.0.5'
PACKAGE_BUGREPORT='https://www.open-mpi.org/community/help/'
PACKAGE_URL=''
# Factoring default headers for most tests.
ac_includes_default="\
#include
#ifdef HAVE_STDIO_H
# include
#endif
#ifdef HAVE_STDLIB_H
# include
#endif
#ifdef HAVE_STRING_H
# include
#endif
#ifdef HAVE_INTTYPES_H
# include
#endif
#ifdef HAVE_STDINT_H
# include
#endif
#ifdef HAVE_STRINGS_H
# include
#endif
#ifdef HAVE_SYS_TYPES_H
# include
#endif
#ifdef HAVE_SYS_STAT_H
# include
#endif
#ifdef HAVE_UNISTD_H
# include
#endif"
ac_header_c_list=
ac_subst_vars='am__EXEEXT_FALSE
am__EXEEXT_TRUE
LTLIBOBJS
LIBOBJS
OPAL_MAKEDIST_DISABLE
oshmemincludedir
oshmemlibdir
oshmemdatadir
ompiincludedir
ompilibdir
ompidatadir
opalincludedir
opallibdir
opaldatadir
PROJECT_OSHMEM_FALSE
PROJECT_OSHMEM_TRUE
PROJECT_OMPI_FALSE
PROJECT_OMPI_TRUE
OSHMEM_PC_MODULES_PRIVATE
OSHMEM_PC_MODULES
OSHMEM_PC_FC_LIBS_PRIVATE
OSHMEM_PC_FC_LIBS
OSHMEM_PC_FC_CFLAGS
OSHMEM_PC_LIBS_PRIVATE
OSHMEM_PC_LIBS
OSHMEM_PC_CFLAGS
OSHMEM_WRAPPER_FORTRAN_REQUIRED_FILE
OSHMEM_WRAPPER_CXX_REQUIRED_FILE
OSHMEM_WRAPPER_FC_LIBS_STATIC
OSHMEM_WRAPPER_FC_LIBS
OSHMEM_WRAPPER_FC_LDFLAGS_STATIC
OSHMEM_WRAPPER_FC_LDFLAGS
OSHMEM_WRAPPER_LIBS_STATIC
OSHMEM_WRAPPER_LIBS
OSHMEM_WRAPPER_LDFLAGS_STATIC
OSHMEM_WRAPPER_LDFLAGS
OSHMEM_WRAPPER_FCFLAGS_PREFIX
OSHMEM_WRAPPER_FCFLAGS
OSHMEM_WRAPPER_CXXFLAGS_PREFIX
OSHMEM_WRAPPER_CXXFLAGS
OSHMEM_WRAPPER_CFLAGS_PREFIX
OSHMEM_WRAPPER_CFLAGS
OSHMEM_WRAPPER_CPPFLAGS
OMPI_PC_MODULES_PRIVATE
OMPI_PC_MODULES
OMPI_PC_FC_LIBS_PRIVATE
OMPI_PC_FC_LIBS
OMPI_PC_FC_CFLAGS
OMPI_PC_LIBS_PRIVATE
OMPI_PC_LIBS
OMPI_PC_CFLAGS
OMPI_WRAPPER_LIBDIR
OMPI_WRAPPER_INCLUDEDIR
OMPI_WRAPPER_FORTRAN_REQUIRED_FILE
OMPI_WRAPPER_CXX_REQUIRED_FILE
OMPI_WRAPPER_FC_LIBS_STATIC
OMPI_WRAPPER_FC_LIBS
OMPI_WRAPPER_FC_LDFLAGS_STATIC
OMPI_WRAPPER_FC_LDFLAGS
OMPI_WRAPPER_LIBS_STATIC
OMPI_WRAPPER_LIBS
OMPI_WRAPPER_LDFLAGS_STATIC
OMPI_WRAPPER_LDFLAGS
OMPI_WRAPPER_FCFLAGS_PREFIX
OMPI_WRAPPER_FCFLAGS
OMPI_WRAPPER_CXXFLAGS_PREFIX
OMPI_WRAPPER_CXXFLAGS
OMPI_WRAPPER_CFLAGS_PREFIX
OMPI_WRAPPER_CFLAGS
OMPI_WRAPPER_CPPFLAGS
OPAL_WRAPPER_LIBS_STATIC
OPAL_WRAPPER_LIBS
OPAL_WRAPPER_LDFLAGS_STATIC
OPAL_WRAPPER_LDFLAGS
OPAL_WRAPPER_CXXFLAGS_PREFIX
OPAL_WRAPPER_CXXFLAGS
OPAL_WRAPPER_CFLAGS_PREFIX
OPAL_WRAPPER_CFLAGS
OPAL_WRAPPER_CPPFLAGS
AMCA_PARAM_SETS_DIR
OMPI_LIBMPI_EXTRA_LDFLAGS
OMPI_LIBMPI_EXTRA_LIBS
FFLAGS
MPIR_UNWIND_CFLAGS
DEBUGGER_CFLAGS
CFLAGS_WITHOUT_OPTFLAGS
OPAL_DYN_LIB_SUFFIX
OPAL_DYN_LIB_PREFIX
LT_SYS_LIBRARY_PATH
OTOOL64
OTOOL
LIPO
NMEDIT
DSYMUTIL
MANIFEST_TOOL
RANLIB
ac_ct_AR
AR
DLLTOOL
OBJDUMP
LD
FGREP
LIBTOOL
OMPI_MPIEXT_USEMPIF08_LIBS
OMPI_MPIEXT_USEMPIF08_DIRS
OMPI_MPIEXT_USEMPI_LIBS
OMPI_MPIEXT_USEMPI_DIRS
OMPI_MPIEXT_MPIFH_LIBS
OMPI_MPIEXT_MPIFH_DIRS
OMPI_MPIEXT_C_LIBS
OMPI_MPIEXT_C_DIRS
OMPI_MPIEXT_ALL_SUBDIRS
OMPI_MPIX_C_FLOAT16_FORTRAN_COMMENT_OUT
OMPI_MPIX_SHORT_FLOAT_IS_C_FLOAT16
OMPI_BUILD_FORTRAN_USEMPI_OR_USEMPIF08_EXT_FALSE
OMPI_BUILD_FORTRAN_USEMPI_OR_USEMPIF08_EXT_TRUE
OMPI_BUILD_FORTRAN_USEMPIF08_EXT_FALSE
OMPI_BUILD_FORTRAN_USEMPIF08_EXT_TRUE
OMPI_BUILD_FORTRAN_USEMPI_EXT_FALSE
OMPI_BUILD_FORTRAN_USEMPI_EXT_TRUE
MCA_PROJECT_DIST_SUBDIRS
MCA_PROJECT_SUBDIRS
MCA_oshmem_FRAMEWORK_CORE_LIBS
MCA_oshmem_FRAMEWORK_LIBS
MCA_oshmem_FRAMEWORK_COMPONENT_STATIC_SUBDIRS
MCA_oshmem_FRAMEWORK_COMPONENT_DSO_SUBDIRS
MCA_oshmem_FRAMEWORK_COMPONENT_ALL_SUBDIRS
MCA_oshmem_FRAMEWORKS_SUBDIRS
MCA_oshmem_FRAMEWORKS
MCA_oshmem_sshmem_DSO_SUBDIRS
MCA_oshmem_sshmem_STATIC_SUBDIRS
MCA_oshmem_sshmem_ALL_SUBDIRS
MCA_oshmem_sshmem_STATIC_LTLIBS
MCA_oshmem_sshmem_DSO_COMPONENTS
MCA_oshmem_sshmem_STATIC_COMPONENTS
MCA_oshmem_sshmem_ALL_COMPONENTS
MCA_BUILD_oshmem_sshmem_ucx_DSO_FALSE
MCA_BUILD_oshmem_sshmem_ucx_DSO_TRUE
sshmem_ucx_LIBS
sshmem_ucx_LDFLAGS
sshmem_ucx_CPPFLAGS
MCA_BUILD_oshmem_sshmem_sysv_DSO_FALSE
MCA_BUILD_oshmem_sshmem_sysv_DSO_TRUE
MCA_BUILD_oshmem_sshmem_mmap_DSO_FALSE
MCA_BUILD_oshmem_sshmem_mmap_DSO_TRUE
MCA_oshmem_spml_DIRECT_CALL_HEADER
MCA_oshmem_spml_DSO_SUBDIRS
MCA_oshmem_spml_STATIC_SUBDIRS
MCA_oshmem_spml_ALL_SUBDIRS
MCA_oshmem_spml_STATIC_LTLIBS
MCA_oshmem_spml_DSO_COMPONENTS
MCA_oshmem_spml_STATIC_COMPONENTS
MCA_oshmem_spml_ALL_COMPONENTS
MCA_BUILD_oshmem_spml_ucx_DSO_FALSE
MCA_BUILD_oshmem_spml_ucx_DSO_TRUE
spml_ucx_LIBS
spml_ucx_LDFLAGS
spml_ucx_CPPFLAGS
MCA_oshmem_scoll_DSO_SUBDIRS
MCA_oshmem_scoll_STATIC_SUBDIRS
MCA_oshmem_scoll_ALL_SUBDIRS
MCA_oshmem_scoll_STATIC_LTLIBS
MCA_oshmem_scoll_DSO_COMPONENTS
MCA_oshmem_scoll_STATIC_COMPONENTS
MCA_oshmem_scoll_ALL_COMPONENTS
MCA_BUILD_oshmem_scoll_ucc_DSO_FALSE
MCA_BUILD_oshmem_scoll_ucc_DSO_TRUE
scoll_ucc_LIBS
scoll_ucc_LDFLAGS
scoll_ucc_CPPFLAGS
MCA_BUILD_oshmem_scoll_mpi_DSO_FALSE
MCA_BUILD_oshmem_scoll_mpi_DSO_TRUE
MCA_BUILD_oshmem_scoll_basic_DSO_FALSE
MCA_BUILD_oshmem_scoll_basic_DSO_TRUE
MCA_oshmem_memheap_DIRECT_CALL_HEADER
MCA_oshmem_memheap_DSO_SUBDIRS
MCA_oshmem_memheap_STATIC_SUBDIRS
MCA_oshmem_memheap_ALL_SUBDIRS
MCA_oshmem_memheap_STATIC_LTLIBS
MCA_oshmem_memheap_DSO_COMPONENTS
MCA_oshmem_memheap_STATIC_COMPONENTS
MCA_oshmem_memheap_ALL_COMPONENTS
MCA_BUILD_oshmem_memheap_ptmalloc_DSO_FALSE
MCA_BUILD_oshmem_memheap_ptmalloc_DSO_TRUE
MCA_BUILD_oshmem_memheap_buddy_DSO_FALSE
MCA_BUILD_oshmem_memheap_buddy_DSO_TRUE
MCA_oshmem_atomic_DSO_SUBDIRS
MCA_oshmem_atomic_STATIC_SUBDIRS
MCA_oshmem_atomic_ALL_SUBDIRS
MCA_oshmem_atomic_STATIC_LTLIBS
MCA_oshmem_atomic_DSO_COMPONENTS
MCA_oshmem_atomic_STATIC_COMPONENTS
MCA_oshmem_atomic_ALL_COMPONENTS
MCA_BUILD_oshmem_atomic_ucx_DSO_FALSE
MCA_BUILD_oshmem_atomic_ucx_DSO_TRUE
atomic_ucx_LIBS
atomic_ucx_LDFLAGS
atomic_ucx_CPPFLAGS
MCA_BUILD_oshmem_atomic_basic_DSO_FALSE
MCA_BUILD_oshmem_atomic_basic_DSO_TRUE
MCA_ompi_FRAMEWORK_CORE_LIBS
MCA_ompi_FRAMEWORK_LIBS
MCA_ompi_FRAMEWORK_COMPONENT_STATIC_SUBDIRS
MCA_ompi_FRAMEWORK_COMPONENT_DSO_SUBDIRS
MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS
MCA_ompi_FRAMEWORKS_SUBDIRS
MCA_ompi_FRAMEWORKS
MCA_ompi_vprotocol_DSO_SUBDIRS
MCA_ompi_vprotocol_STATIC_SUBDIRS
MCA_ompi_vprotocol_ALL_SUBDIRS
MCA_ompi_vprotocol_STATIC_LTLIBS
MCA_ompi_vprotocol_DSO_COMPONENTS
MCA_ompi_vprotocol_STATIC_COMPONENTS
MCA_ompi_vprotocol_ALL_COMPONENTS
MCA_BUILD_ompi_vprotocol_pessimist_DSO_FALSE
MCA_BUILD_ompi_vprotocol_pessimist_DSO_TRUE
MCA_ompi_topo_DSO_SUBDIRS
MCA_ompi_topo_STATIC_SUBDIRS
MCA_ompi_topo_ALL_SUBDIRS
MCA_ompi_topo_STATIC_LTLIBS
MCA_ompi_topo_DSO_COMPONENTS
MCA_ompi_topo_STATIC_COMPONENTS
MCA_ompi_topo_ALL_COMPONENTS
MCA_BUILD_ompi_topo_treematch_DSO_FALSE
MCA_BUILD_ompi_topo_treematch_DSO_TRUE
topo_treematch_LIBS
topo_treematch_LDFLAGS
topo_treematch_CPPFLAGS
MCA_BUILD_ompi_topo_basic_DSO_FALSE
MCA_BUILD_ompi_topo_basic_DSO_TRUE
MCA_ompi_sharedfp_DSO_SUBDIRS
MCA_ompi_sharedfp_STATIC_SUBDIRS
MCA_ompi_sharedfp_ALL_SUBDIRS
MCA_ompi_sharedfp_STATIC_LTLIBS
MCA_ompi_sharedfp_DSO_COMPONENTS
MCA_ompi_sharedfp_STATIC_COMPONENTS
MCA_ompi_sharedfp_ALL_COMPONENTS
MCA_BUILD_ompi_sharedfp_sm_DSO_FALSE
MCA_BUILD_ompi_sharedfp_sm_DSO_TRUE
MCA_BUILD_ompi_sharedfp_lockedfile_DSO_FALSE
MCA_BUILD_ompi_sharedfp_lockedfile_DSO_TRUE
MCA_BUILD_ompi_sharedfp_individual_DSO_FALSE
MCA_BUILD_ompi_sharedfp_individual_DSO_TRUE
MCA_ompi_pml_DIRECT_CALL_HEADER
MCA_ompi_pml_DSO_SUBDIRS
MCA_ompi_pml_STATIC_SUBDIRS
MCA_ompi_pml_ALL_SUBDIRS
MCA_ompi_pml_STATIC_LTLIBS
MCA_ompi_pml_DSO_COMPONENTS
MCA_ompi_pml_STATIC_COMPONENTS
MCA_ompi_pml_ALL_COMPONENTS
MCA_BUILD_ompi_pml_v_DSO_FALSE
MCA_BUILD_ompi_pml_v_DSO_TRUE
MCA_BUILD_ompi_pml_ucx_DSO_FALSE
MCA_BUILD_ompi_pml_ucx_DSO_TRUE
pml_ucx_LIBS
pml_ucx_LDFLAGS
pml_ucx_CPPFLAGS
MCA_BUILD_ompi_pml_ob1_DSO_FALSE
MCA_BUILD_ompi_pml_ob1_DSO_TRUE
MCA_BUILD_ompi_pml_monitoring_DSO_FALSE
MCA_BUILD_ompi_pml_monitoring_DSO_TRUE
MCA_BUILD_ompi_pml_cm_DSO_FALSE
MCA_BUILD_ompi_pml_cm_DSO_TRUE
MCA_ompi_part_DIRECT_CALL_HEADER
MCA_ompi_part_DSO_SUBDIRS
MCA_ompi_part_STATIC_SUBDIRS
MCA_ompi_part_ALL_SUBDIRS
MCA_ompi_part_STATIC_LTLIBS
MCA_ompi_part_DSO_COMPONENTS
MCA_ompi_part_STATIC_COMPONENTS
MCA_ompi_part_ALL_COMPONENTS
MCA_BUILD_ompi_part_persist_DSO_FALSE
MCA_BUILD_ompi_part_persist_DSO_TRUE
MCA_ompi_osc_DSO_SUBDIRS
MCA_ompi_osc_STATIC_SUBDIRS
MCA_ompi_osc_ALL_SUBDIRS
MCA_ompi_osc_STATIC_LTLIBS
MCA_ompi_osc_DSO_COMPONENTS
MCA_ompi_osc_STATIC_COMPONENTS
MCA_ompi_osc_ALL_COMPONENTS
MCA_BUILD_ompi_osc_ucx_DSO_FALSE
MCA_BUILD_ompi_osc_ucx_DSO_TRUE
osc_ucx_LIBS
osc_ucx_LDFLAGS
osc_ucx_CPPFLAGS
MCA_BUILD_ompi_osc_rdma_DSO_FALSE
MCA_BUILD_ompi_osc_rdma_DSO_TRUE
MCA_BUILD_ompi_osc_portals4_DSO_FALSE
MCA_BUILD_ompi_osc_portals4_DSO_TRUE
osc_portals4_LIBS
osc_portals4_LDFLAGS
osc_portals4_CPPFLAGS
MCA_BUILD_ompi_osc_monitoring_DSO_FALSE
MCA_BUILD_ompi_osc_monitoring_DSO_TRUE
MCA_BUILD_ompi_osc_sm_DSO_FALSE
MCA_BUILD_ompi_osc_sm_DSO_TRUE
MCA_ompi_op_DSO_SUBDIRS
MCA_ompi_op_STATIC_SUBDIRS
MCA_ompi_op_ALL_SUBDIRS
MCA_ompi_op_STATIC_LTLIBS
MCA_ompi_op_DSO_COMPONENTS
MCA_ompi_op_STATIC_COMPONENTS
MCA_ompi_op_ALL_COMPONENTS
MCA_BUILD_ompi_op_avx_DSO_FALSE
MCA_BUILD_ompi_op_avx_DSO_TRUE
MCA_BUILD_OP_AVX_FLAGS
MCA_BUILD_OP_AVX2_FLAGS
MCA_BUILD_OP_AVX512_FLAGS
MCA_BUILD_ompi_op_has_sse3_support_FALSE
MCA_BUILD_ompi_op_has_sse3_support_TRUE
MCA_BUILD_ompi_op_has_sse41_support_FALSE
MCA_BUILD_ompi_op_has_sse41_support_TRUE
MCA_BUILD_ompi_op_has_avx_support_FALSE
MCA_BUILD_ompi_op_has_avx_support_TRUE
MCA_BUILD_ompi_op_has_avx2_support_FALSE
MCA_BUILD_ompi_op_has_avx2_support_TRUE
MCA_BUILD_ompi_op_has_avx512_support_FALSE
MCA_BUILD_ompi_op_has_avx512_support_TRUE
MCA_BUILD_ompi_op_aarch64_DSO_FALSE
MCA_BUILD_ompi_op_aarch64_DSO_TRUE
MCA_BUILD_ompi_op_has_sve_support
MCA_BUILD_ompi_op_has_neon_fp_support
MCA_BUILD_ompi_op_has_neon_support
MCA_BUILD_ompi_op_has_sve_support_FALSE
MCA_BUILD_ompi_op_has_sve_support_TRUE
MCA_BUILD_ompi_op_has_neon_fp_support_FALSE
MCA_BUILD_ompi_op_has_neon_fp_support_TRUE
MCA_BUILD_ompi_op_has_neon_support_FALSE
MCA_BUILD_ompi_op_has_neon_support_TRUE
MCA_ompi_mtl_DIRECT_CALL_HEADER
MCA_ompi_mtl_DSO_SUBDIRS
MCA_ompi_mtl_STATIC_SUBDIRS
MCA_ompi_mtl_ALL_SUBDIRS
MCA_ompi_mtl_STATIC_LTLIBS
MCA_ompi_mtl_DSO_COMPONENTS
MCA_ompi_mtl_STATIC_COMPONENTS
MCA_ompi_mtl_ALL_COMPONENTS
MCA_BUILD_ompi_mtl_psm2_DSO_FALSE
MCA_BUILD_ompi_mtl_psm2_DSO_TRUE
mtl_psm2_LIBS
mtl_psm2_LDFLAGS
mtl_psm2_CPPFLAGS
MCA_BUILD_ompi_mtl_portals4_DSO_FALSE
MCA_BUILD_ompi_mtl_portals4_DSO_TRUE
mtl_portals4_LIBS
mtl_portals4_LDFLAGS
mtl_portals4_CPPFLAGS
OMPI_MTL_PORTALS4_FLOW_CONTROL_FALSE
OMPI_MTL_PORTALS4_FLOW_CONTROL_TRUE
MCA_BUILD_ompi_mtl_ofi_DSO_FALSE
MCA_BUILD_ompi_mtl_ofi_DSO_TRUE
mtl_ofi_LIBS
mtl_ofi_LDFLAGS
mtl_ofi_CPPFLAGS
MCA_ompi_io_DSO_SUBDIRS
MCA_ompi_io_STATIC_SUBDIRS
MCA_ompi_io_ALL_SUBDIRS
MCA_ompi_io_STATIC_LTLIBS
MCA_ompi_io_DSO_COMPONENTS
MCA_ompi_io_STATIC_COMPONENTS
MCA_ompi_io_ALL_COMPONENTS
MCA_BUILD_ompi_io_romio341_DSO_FALSE
MCA_BUILD_ompi_io_romio341_DSO_TRUE
MCA_io_romio341_SHOULD_BUILD_FALSE
MCA_io_romio341_SHOULD_BUILD_TRUE
MCA_BUILD_ompi_io_ompio_DSO_FALSE
MCA_BUILD_ompi_io_ompio_DSO_TRUE
MCA_ompi_hook_DSO_SUBDIRS
MCA_ompi_hook_STATIC_SUBDIRS
MCA_ompi_hook_ALL_SUBDIRS
MCA_ompi_hook_STATIC_LTLIBS
MCA_ompi_hook_DSO_COMPONENTS
MCA_ompi_hook_STATIC_COMPONENTS
MCA_ompi_hook_ALL_COMPONENTS
MCA_BUILD_ompi_hook_comm_method_DSO_FALSE
MCA_BUILD_ompi_hook_comm_method_DSO_TRUE
MCA_ompi_fs_DSO_SUBDIRS
MCA_ompi_fs_STATIC_SUBDIRS
MCA_ompi_fs_ALL_SUBDIRS
MCA_ompi_fs_STATIC_LTLIBS
MCA_ompi_fs_DSO_COMPONENTS
MCA_ompi_fs_STATIC_COMPONENTS
MCA_ompi_fs_ALL_COMPONENTS
MCA_BUILD_ompi_fs_ufs_DSO_FALSE
MCA_BUILD_ompi_fs_ufs_DSO_TRUE
MCA_BUILD_ompi_fs_pvfs2_DSO_FALSE
MCA_BUILD_ompi_fs_pvfs2_DSO_TRUE
fs_pvfs2_LIBS
fs_pvfs2_LDFLAGS
fs_pvfs2_CPPFLAGS
MCA_BUILD_ompi_fs_lustre_DSO_FALSE
MCA_BUILD_ompi_fs_lustre_DSO_TRUE
fs_lustre_LIBS
fs_lustre_LDFLAGS
fs_lustre_CPPFLAGS
MCA_BUILD_ompi_fs_ime_DSO_FALSE
MCA_BUILD_ompi_fs_ime_DSO_TRUE
fs_ime_LIBS
fs_ime_LDFLAGS
fs_ime_CPPFLAGS
MCA_BUILD_ompi_fs_gpfs_DSO_FALSE
MCA_BUILD_ompi_fs_gpfs_DSO_TRUE
fs_gpfs_LIBS
fs_gpfs_LDFLAGS
fs_gpfs_CPPFLAGS
MCA_ompi_fcoll_DSO_SUBDIRS
MCA_ompi_fcoll_STATIC_SUBDIRS
MCA_ompi_fcoll_ALL_SUBDIRS
MCA_ompi_fcoll_STATIC_LTLIBS
MCA_ompi_fcoll_DSO_COMPONENTS
MCA_ompi_fcoll_STATIC_COMPONENTS
MCA_ompi_fcoll_ALL_COMPONENTS
MCA_BUILD_ompi_fcoll_vulcan_DSO_FALSE
MCA_BUILD_ompi_fcoll_vulcan_DSO_TRUE
MCA_BUILD_ompi_fcoll_individual_DSO_FALSE
MCA_BUILD_ompi_fcoll_individual_DSO_TRUE
MCA_BUILD_ompi_fcoll_dynamic_gen2_DSO_FALSE
MCA_BUILD_ompi_fcoll_dynamic_gen2_DSO_TRUE
MCA_BUILD_ompi_fcoll_dynamic_DSO_FALSE
MCA_BUILD_ompi_fcoll_dynamic_DSO_TRUE
MCA_ompi_fbtl_DSO_SUBDIRS
MCA_ompi_fbtl_STATIC_SUBDIRS
MCA_ompi_fbtl_ALL_SUBDIRS
MCA_ompi_fbtl_STATIC_LTLIBS
MCA_ompi_fbtl_DSO_COMPONENTS
MCA_ompi_fbtl_STATIC_COMPONENTS
MCA_ompi_fbtl_ALL_COMPONENTS
MCA_BUILD_ompi_fbtl_pvfs2_DSO_FALSE
MCA_BUILD_ompi_fbtl_pvfs2_DSO_TRUE
fbtl_pvfs2_LIBS
fbtl_pvfs2_LDFLAGS
fbtl_pvfs2_CPPFLAGS
MCA_BUILD_ompi_fbtl_posix_DSO_FALSE
MCA_BUILD_ompi_fbtl_posix_DSO_TRUE
MCA_BUILD_ompi_fbtl_ime_DSO_FALSE
MCA_BUILD_ompi_fbtl_ime_DSO_TRUE
fbtl_ime_LIBS
fbtl_ime_LDFLAGS
fbtl_ime_CPPFLAGS
MCA_ompi_coll_DSO_SUBDIRS
MCA_ompi_coll_STATIC_SUBDIRS
MCA_ompi_coll_ALL_SUBDIRS
MCA_ompi_coll_STATIC_LTLIBS
MCA_ompi_coll_DSO_COMPONENTS
MCA_ompi_coll_STATIC_COMPONENTS
MCA_ompi_coll_ALL_COMPONENTS
MCA_BUILD_ompi_coll_ucc_DSO_FALSE
MCA_BUILD_ompi_coll_ucc_DSO_TRUE
coll_ucc_LIBS
coll_ucc_LDFLAGS
coll_ucc_CPPFLAGS
MCA_BUILD_ompi_coll_sm_DSO_FALSE
MCA_BUILD_ompi_coll_sm_DSO_TRUE
MCA_BUILD_ompi_coll_portals4_DSO_FALSE
MCA_BUILD_ompi_coll_portals4_DSO_TRUE
coll_portals4_LIBS
coll_portals4_LDFLAGS
coll_portals4_CPPFLAGS
MCA_BUILD_ompi_coll_monitoring_DSO_FALSE
MCA_BUILD_ompi_coll_monitoring_DSO_TRUE
MCA_BUILD_ompi_coll_hcoll_DSO_FALSE
MCA_BUILD_ompi_coll_hcoll_DSO_TRUE
coll_hcoll_LIBS
coll_hcoll_LDFLAGS
coll_hcoll_CPPFLAGS
MCA_BUILD_ompi_coll_ftagree_DSO_FALSE
MCA_BUILD_ompi_coll_ftagree_DSO_TRUE
MCA_BUILD_ompi_coll_cuda_DSO_FALSE
MCA_BUILD_ompi_coll_cuda_DSO_TRUE
MCA_BUILD_ompi_coll_tuned_DSO_FALSE
MCA_BUILD_ompi_coll_tuned_DSO_TRUE
MCA_BUILD_ompi_coll_sync_DSO_FALSE
MCA_BUILD_ompi_coll_sync_DSO_TRUE
MCA_BUILD_ompi_coll_self_DSO_FALSE
MCA_BUILD_ompi_coll_self_DSO_TRUE
MCA_BUILD_ompi_coll_libnbc_DSO_FALSE
MCA_BUILD_ompi_coll_libnbc_DSO_TRUE
MCA_BUILD_ompi_coll_inter_DSO_FALSE
MCA_BUILD_ompi_coll_inter_DSO_TRUE
MCA_BUILD_ompi_coll_han_DSO_FALSE
MCA_BUILD_ompi_coll_han_DSO_TRUE
MCA_BUILD_ompi_coll_basic_DSO_FALSE
MCA_BUILD_ompi_coll_basic_DSO_TRUE
MCA_BUILD_ompi_coll_adapt_DSO_FALSE
MCA_BUILD_ompi_coll_adapt_DSO_TRUE
MCA_ompi_bml_DSO_SUBDIRS
MCA_ompi_bml_STATIC_SUBDIRS
MCA_ompi_bml_ALL_SUBDIRS
MCA_ompi_bml_STATIC_LTLIBS
MCA_ompi_bml_DSO_COMPONENTS
MCA_ompi_bml_STATIC_COMPONENTS
MCA_ompi_bml_ALL_COMPONENTS
MCA_BUILD_ompi_bml_r2_DSO_FALSE
MCA_BUILD_ompi_bml_r2_DSO_TRUE
MCA_ompi_common_DSO_SUBDIRS
MCA_ompi_common_STATIC_SUBDIRS
MCA_ompi_common_ALL_SUBDIRS
MCA_ompi_common_STATIC_LTLIBS
MCA_ompi_common_DSO_COMPONENTS
MCA_ompi_common_STATIC_COMPONENTS
MCA_ompi_common_ALL_COMPONENTS
MCA_BUILD_ompi_common_ompio_DSO_FALSE
MCA_BUILD_ompi_common_ompio_DSO_TRUE
MCA_BUILD_ompi_common_monitoring_DSO_FALSE
MCA_BUILD_ompi_common_monitoring_DSO_TRUE
MCA_opal_FRAMEWORK_CORE_LIBS
MCA_opal_FRAMEWORK_LIBS
MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS
MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS
MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS
MCA_opal_FRAMEWORKS_SUBDIRS
MCA_opal_FRAMEWORKS
MCA_opal_timer_DSO_SUBDIRS
MCA_opal_timer_STATIC_SUBDIRS
MCA_opal_timer_ALL_SUBDIRS
MCA_opal_timer_STATIC_LTLIBS
MCA_opal_timer_DSO_COMPONENTS
MCA_opal_timer_STATIC_COMPONENTS
MCA_opal_timer_ALL_COMPONENTS
MCA_BUILD_opal_timer_solaris_DSO_FALSE
MCA_BUILD_opal_timer_solaris_DSO_TRUE
MCA_BUILD_opal_timer_linux_DSO_FALSE
MCA_BUILD_opal_timer_linux_DSO_TRUE
MCA_BUILD_opal_timer_darwin_DSO_FALSE
MCA_BUILD_opal_timer_darwin_DSO_TRUE
MCA_BUILD_opal_timer_altix_DSO_FALSE
MCA_BUILD_opal_timer_altix_DSO_TRUE
THREAD_LIBS
THREAD_LDFLAGS
THREAD_CPPFLAGS
THREAD_CXXFLAGS
THREAD_FCFLAGS
THREAD_CFLAGS
MCA_opal_threads_DSO_SUBDIRS
MCA_opal_threads_STATIC_SUBDIRS
MCA_opal_threads_ALL_SUBDIRS
MCA_opal_threads_STATIC_LTLIBS
MCA_opal_threads_DSO_COMPONENTS
MCA_opal_threads_STATIC_COMPONENTS
MCA_opal_threads_ALL_COMPONENTS
MCA_BUILD_opal_threads_qthreads_DSO_FALSE
MCA_BUILD_opal_threads_qthreads_DSO_TRUE
opal_qthreads_LIBS
opal_qthreads_LDFLAGS
opal_qthreads_CPPFLAGS
MCA_BUILD_opal_threads_pthreads_DSO_FALSE
MCA_BUILD_opal_threads_pthreads_DSO_TRUE
MCA_BUILD_opal_threads_argobots_DSO_FALSE
MCA_BUILD_opal_threads_argobots_DSO_TRUE
opal_argo_LIBS
opal_argo_LDFLAGS
opal_argo_CPPFLAGS
MCA_opal_smsc_DIRECT_CALL_HEADER
MCA_opal_smsc_DSO_SUBDIRS
MCA_opal_smsc_STATIC_SUBDIRS
MCA_opal_smsc_ALL_SUBDIRS
MCA_opal_smsc_STATIC_LTLIBS
MCA_opal_smsc_DSO_COMPONENTS
MCA_opal_smsc_STATIC_COMPONENTS
MCA_opal_smsc_ALL_COMPONENTS
MCA_BUILD_opal_smsc_xpmem_DSO_FALSE
MCA_BUILD_opal_smsc_xpmem_DSO_TRUE
smsc_xpmem_LIBS
smsc_xpmem_LDFLAGS
smsc_xpmem_CPPFLAGS
CRAY_XPMEM_STATIC_LIBS
CRAY_XPMEM_LIBS
CRAY_XPMEM_CFLAGS
MCA_BUILD_opal_smsc_knem_DSO_FALSE
MCA_BUILD_opal_smsc_knem_DSO_TRUE
smsc_knem_LIBS
smsc_knem_LDFLAGS
smsc_knem_CPPFLAGS
MCA_BUILD_opal_smsc_cma_DSO_FALSE
MCA_BUILD_opal_smsc_cma_DSO_TRUE
smsc_cma_LIBS
smsc_cma_LDFLAGS
smsc_cma_CPPFLAGS
MCA_opal_shmem_DSO_SUBDIRS
MCA_opal_shmem_STATIC_SUBDIRS
MCA_opal_shmem_ALL_SUBDIRS
MCA_opal_shmem_STATIC_LTLIBS
MCA_opal_shmem_DSO_COMPONENTS
MCA_opal_shmem_STATIC_COMPONENTS
MCA_opal_shmem_ALL_COMPONENTS
MCA_BUILD_opal_shmem_sysv_DSO_FALSE
MCA_BUILD_opal_shmem_sysv_DSO_TRUE
MCA_BUILD_opal_shmem_posix_DSO_FALSE
MCA_BUILD_opal_shmem_posix_DSO_TRUE
MCA_BUILD_opal_shmem_mmap_DSO_FALSE
MCA_BUILD_opal_shmem_mmap_DSO_TRUE
MCA_opal_reachable_DSO_SUBDIRS
MCA_opal_reachable_STATIC_SUBDIRS
MCA_opal_reachable_ALL_SUBDIRS
MCA_opal_reachable_STATIC_LTLIBS
MCA_opal_reachable_DSO_COMPONENTS
MCA_opal_reachable_STATIC_COMPONENTS
MCA_opal_reachable_ALL_COMPONENTS
MCA_BUILD_opal_reachable_netlink_DSO_FALSE
MCA_BUILD_opal_reachable_netlink_DSO_TRUE
reachable_netlink_LIBS
reachable_netlink_LDFLAGS
reachable_netlink_CPPFLAGS
MCA_BUILD_opal_reachable_weighted_DSO_FALSE
MCA_BUILD_opal_reachable_weighted_DSO_TRUE
MCA_opal_rcache_DSO_SUBDIRS
MCA_opal_rcache_STATIC_SUBDIRS
MCA_opal_rcache_ALL_SUBDIRS
MCA_opal_rcache_STATIC_LTLIBS
MCA_opal_rcache_DSO_COMPONENTS
MCA_opal_rcache_STATIC_COMPONENTS
MCA_opal_rcache_ALL_COMPONENTS
MCA_BUILD_opal_rcache_udreg_DSO_FALSE
MCA_BUILD_opal_rcache_udreg_DSO_TRUE
rcache_udreg_LIBS
rcache_udreg_LDFLAGS
rcache_udreg_CPPFLAGS
CRAY_UDREG_LIBS
CRAY_UDREG_CFLAGS
MCA_BUILD_opal_rcache_rgpusm_DSO_FALSE
MCA_BUILD_opal_rcache_rgpusm_DSO_TRUE
rcache_rgpusm_LIBS
rcache_rgpusm_LDFLAGS
rcache_rgpusm_CPPFLAGS
MCA_BUILD_opal_rcache_gpusm_DSO_FALSE
MCA_BUILD_opal_rcache_gpusm_DSO_TRUE
rcache_gpusm_LIBS
rcache_gpusm_LDFLAGS
rcache_gpusm_CPPFLAGS
MCA_BUILD_opal_rcache_grdma_DSO_FALSE
MCA_BUILD_opal_rcache_grdma_DSO_TRUE
MCA_opal_patcher_DSO_SUBDIRS
MCA_opal_patcher_STATIC_SUBDIRS
MCA_opal_patcher_ALL_SUBDIRS
MCA_opal_patcher_STATIC_LTLIBS
MCA_opal_patcher_DSO_COMPONENTS
MCA_opal_patcher_STATIC_COMPONENTS
MCA_opal_patcher_ALL_COMPONENTS
MCA_BUILD_opal_patcher_overwrite_DSO_FALSE
MCA_BUILD_opal_patcher_overwrite_DSO_TRUE
MCA_opal_mpool_DSO_SUBDIRS
MCA_opal_mpool_STATIC_SUBDIRS
MCA_opal_mpool_ALL_SUBDIRS
MCA_opal_mpool_STATIC_LTLIBS
MCA_opal_mpool_DSO_COMPONENTS
MCA_opal_mpool_STATIC_COMPONENTS
MCA_opal_mpool_ALL_COMPONENTS
MCA_BUILD_opal_mpool_memkind_DSO_FALSE
MCA_BUILD_opal_mpool_memkind_DSO_TRUE
mpool_memkind_LIBS
mpool_memkind_LDFLAGS
mpool_memkind_CPPFLAGS
MCA_BUILD_opal_mpool_hugepage_DSO_FALSE
MCA_BUILD_opal_mpool_hugepage_DSO_TRUE
MCA_opal_memory_DSO_SUBDIRS
MCA_opal_memory_STATIC_SUBDIRS
MCA_opal_memory_ALL_SUBDIRS
MCA_opal_memory_STATIC_LTLIBS
MCA_opal_memory_DSO_COMPONENTS
MCA_opal_memory_STATIC_COMPONENTS
MCA_opal_memory_ALL_COMPONENTS
MCA_BUILD_opal_memory_malloc_solaris_DSO_FALSE
MCA_BUILD_opal_memory_malloc_solaris_DSO_TRUE
memory_malloc_solaris_LIBS
MCA_BUILD_opal_memory_patcher_DSO_FALSE
MCA_BUILD_opal_memory_patcher_DSO_TRUE
MCA_opal_memcpy_DSO_SUBDIRS
MCA_opal_memcpy_STATIC_SUBDIRS
MCA_opal_memcpy_ALL_SUBDIRS
MCA_opal_memcpy_STATIC_LTLIBS
MCA_opal_memcpy_DSO_COMPONENTS
MCA_opal_memcpy_STATIC_COMPONENTS
MCA_opal_memcpy_ALL_COMPONENTS
MCA_opal_memchecker_DSO_SUBDIRS
MCA_opal_memchecker_STATIC_SUBDIRS
MCA_opal_memchecker_ALL_SUBDIRS
MCA_opal_memchecker_STATIC_LTLIBS
MCA_opal_memchecker_DSO_COMPONENTS
MCA_opal_memchecker_STATIC_COMPONENTS
MCA_opal_memchecker_ALL_COMPONENTS
MCA_BUILD_opal_memchecker_valgrind_DSO_FALSE
MCA_BUILD_opal_memchecker_valgrind_DSO_TRUE
opal_memchecker_valgrind_CPPFLAGS
OPAL_WANT_MEMCHECKER_FALSE
OPAL_WANT_MEMCHECKER_TRUE
MCA_opal_installdirs_DSO_SUBDIRS
MCA_opal_installdirs_STATIC_SUBDIRS
MCA_opal_installdirs_ALL_SUBDIRS
MCA_opal_installdirs_STATIC_LTLIBS
MCA_opal_installdirs_DSO_COMPONENTS
MCA_opal_installdirs_STATIC_COMPONENTS
MCA_opal_installdirs_ALL_COMPONENTS
MCA_BUILD_opal_installdirs_config_DSO_FALSE
MCA_BUILD_opal_installdirs_config_DSO_TRUE
MCA_BUILD_opal_installdirs_env_DSO_FALSE
MCA_BUILD_opal_installdirs_env_DSO_TRUE
MCA_opal_if_DSO_SUBDIRS
MCA_opal_if_STATIC_SUBDIRS
MCA_opal_if_ALL_SUBDIRS
MCA_opal_if_STATIC_LTLIBS
MCA_opal_if_DSO_COMPONENTS
MCA_opal_if_STATIC_COMPONENTS
MCA_opal_if_ALL_COMPONENTS
MCA_BUILD_opal_if_solaris_ipv6_DSO_FALSE
MCA_BUILD_opal_if_solaris_ipv6_DSO_TRUE
MCA_BUILD_opal_if_posix_ipv4_DSO_FALSE
MCA_BUILD_opal_if_posix_ipv4_DSO_TRUE
MCA_BUILD_opal_if_linux_ipv6_DSO_FALSE
MCA_BUILD_opal_if_linux_ipv6_DSO_TRUE
MCA_BUILD_opal_if_bsdx_ipv6_DSO_FALSE
MCA_BUILD_opal_if_bsdx_ipv6_DSO_TRUE
MCA_BUILD_opal_if_bsdx_ipv4_DSO_FALSE
MCA_BUILD_opal_if_bsdx_ipv4_DSO_TRUE
MCA_opal_dl_DSO_SUBDIRS
MCA_opal_dl_STATIC_SUBDIRS
MCA_opal_dl_ALL_SUBDIRS
MCA_opal_dl_STATIC_LTLIBS
MCA_opal_dl_DSO_COMPONENTS
MCA_opal_dl_STATIC_COMPONENTS
MCA_opal_dl_ALL_COMPONENTS
MCA_BUILD_opal_dl_libltdl_DSO_FALSE
MCA_BUILD_opal_dl_libltdl_DSO_TRUE
dl_libltdl_LIBS
dl_libltdl_LDFLAGS
dl_libltdl_CPPFLAGS
MCA_BUILD_opal_dl_dlopen_DSO_FALSE
MCA_BUILD_opal_dl_dlopen_DSO_TRUE
opal_dl_dlopen_LIBS
MCA_opal_btl_DSO_SUBDIRS
MCA_opal_btl_STATIC_SUBDIRS
MCA_opal_btl_ALL_SUBDIRS
MCA_opal_btl_STATIC_LTLIBS
MCA_opal_btl_DSO_COMPONENTS
MCA_opal_btl_STATIC_COMPONENTS
MCA_opal_btl_ALL_COMPONENTS
MCA_BUILD_opal_btl_usnic_DSO_FALSE
MCA_BUILD_opal_btl_usnic_DSO_TRUE
OPAL_BTL_USNIC_BUILD_UNIT_TESTS_FALSE
OPAL_BTL_USNIC_BUILD_UNIT_TESTS_TRUE
btl_usnic_LIBS
btl_usnic_LDFLAGS
btl_usnic_CPPFLAGS
MCA_BUILD_opal_btl_ugni_DSO_FALSE
MCA_BUILD_opal_btl_ugni_DSO_TRUE
btl_ugni_LIBS
btl_ugni_LDFLAGS
btl_ugni_CPPFLAGS
CRAY_UGNI_LIBS
CRAY_UGNI_CFLAGS
PKG_CONFIG_LIBDIR
PKG_CONFIG_PATH
MCA_BUILD_opal_btl_uct_DSO_FALSE
MCA_BUILD_opal_btl_uct_DSO_TRUE
btl_uct_LIBS
btl_uct_LDFLAGS
btl_uct_CPPFLAGS
MCA_BUILD_opal_btl_tcp_DSO_FALSE
MCA_BUILD_opal_btl_tcp_DSO_TRUE
MCA_BUILD_opal_btl_smcuda_DSO_FALSE
MCA_BUILD_opal_btl_smcuda_DSO_TRUE
btl_smcuda_LIBS
btl_smcuda_LDFLAGS
btl_smcuda_CPPFLAGS
MCA_BUILD_opal_btl_sm_DSO_FALSE
MCA_BUILD_opal_btl_sm_DSO_TRUE
MCA_BUILD_opal_btl_portals4_DSO_FALSE
MCA_BUILD_opal_btl_portals4_DSO_TRUE
btl_portals4_LIBS
btl_portals4_LDFLAGS
btl_portals4_CPPFLAGS
OPAL_BTL_PORTALS4_FLOW_CONTROL_FALSE
OPAL_BTL_PORTALS4_FLOW_CONTROL_TRUE
MCA_BUILD_opal_btl_ofi_DSO_FALSE
MCA_BUILD_opal_btl_ofi_DSO_TRUE
btl_ofi_LIBS
btl_ofi_LDFLAGS
btl_ofi_CPPFLAGS
MCA_BUILD_opal_btl_self_DSO_FALSE
MCA_BUILD_opal_btl_self_DSO_TRUE
MCA_opal_backtrace_DSO_SUBDIRS
MCA_opal_backtrace_STATIC_SUBDIRS
MCA_opal_backtrace_ALL_SUBDIRS
MCA_opal_backtrace_STATIC_LTLIBS
MCA_opal_backtrace_DSO_COMPONENTS
MCA_opal_backtrace_STATIC_COMPONENTS
MCA_opal_backtrace_ALL_COMPONENTS
MCA_BUILD_opal_backtrace_none_DSO_FALSE
MCA_BUILD_opal_backtrace_none_DSO_TRUE
MCA_BUILD_opal_backtrace_printstack_DSO_FALSE
MCA_BUILD_opal_backtrace_printstack_DSO_TRUE
MCA_BUILD_opal_backtrace_execinfo_DSO_FALSE
MCA_BUILD_opal_backtrace_execinfo_DSO_TRUE
MCA_opal_allocator_DSO_SUBDIRS
MCA_opal_allocator_STATIC_SUBDIRS
MCA_opal_allocator_ALL_SUBDIRS
MCA_opal_allocator_STATIC_LTLIBS
MCA_opal_allocator_DSO_COMPONENTS
MCA_opal_allocator_STATIC_COMPONENTS
MCA_opal_allocator_ALL_COMPONENTS
MCA_BUILD_opal_allocator_bucket_DSO_FALSE
MCA_BUILD_opal_allocator_bucket_DSO_TRUE
MCA_BUILD_opal_allocator_basic_DSO_FALSE
MCA_BUILD_opal_allocator_basic_DSO_TRUE
MCA_opal_accelerator_DSO_SUBDIRS
MCA_opal_accelerator_STATIC_SUBDIRS
MCA_opal_accelerator_ALL_SUBDIRS
MCA_opal_accelerator_STATIC_LTLIBS
MCA_opal_accelerator_DSO_COMPONENTS
MCA_opal_accelerator_STATIC_COMPONENTS
MCA_opal_accelerator_ALL_COMPONENTS
MCA_BUILD_opal_accelerator_rocm_DSO_FALSE
MCA_BUILD_opal_accelerator_rocm_DSO_TRUE
opal_rocm_CPPFLAGS
opal_rocm_LIBS
opal_rocm_LDFLAGS
OPAL_rocm_support_FALSE
OPAL_rocm_support_TRUE
MCA_BUILD_opal_accelerator_cuda_DSO_FALSE
MCA_BUILD_opal_accelerator_cuda_DSO_TRUE
accelerator_cuda_LIBS
accelerator_cuda_LDFLAGS
accelerator_cuda_CPPFLAGS
OPAL_cuda_gdr_support_FALSE
OPAL_cuda_gdr_support_TRUE
OPAL_cuda_get_attributes_FALSE
OPAL_cuda_get_attributes_TRUE
OPAL_cuda_sync_memops_FALSE
OPAL_cuda_sync_memops_TRUE
OPAL_cuda_support_FALSE
OPAL_cuda_support_TRUE
common_cuda_CPPFLAGS
MCA_BUILD_opal_accelerator_null_DSO_FALSE
MCA_BUILD_opal_accelerator_null_DSO_TRUE
MCA_opal_common_DSO_SUBDIRS
MCA_opal_common_STATIC_SUBDIRS
MCA_opal_common_ALL_SUBDIRS
MCA_opal_common_STATIC_LTLIBS
MCA_opal_common_DSO_COMPONENTS
MCA_opal_common_STATIC_COMPONENTS
MCA_opal_common_ALL_COMPONENTS
MCA_BUILD_opal_common_ucx_DSO_FALSE
MCA_BUILD_opal_common_ucx_DSO_TRUE
common_ucx_LIBS
common_ucx_LDFLAGS
common_ucx_CPPFLAGS
MCA_BUILD_opal_common_sm_DSO_FALSE
MCA_BUILD_opal_common_sm_DSO_TRUE
MCA_BUILD_opal_common_ofi_DSO_FALSE
MCA_BUILD_opal_common_ofi_DSO_TRUE
common_ofi_LIBS
common_ofi_LDFLAGS
common_ofi_CPPFLAGS
WANT_FT_MPI_FALSE
WANT_FT_MPI_TRUE
WANT_FT_FALSE
WANT_FT_TRUE
OPAL_3RDPARTY_DISTCLEAN_DIRS
OPAL_3RDPARTY_EXTRA_DIST
OPAL_3RDPARTY_DIST_SUBDIRS
OPAL_3RDPARTY_SUBDIRS
OMPI_HAVE_PRRTE_RST_FALSE
OMPI_HAVE_PRRTE_RST_TRUE
OMPI_SCHIZO_OMPI_RST_CONTENT_DIR
OMPI_PRRTE_RST_CONTENT_DIR
OMPI_WANT_PRRTE_FALSE
OMPI_WANT_PRRTE_TRUE
BZIP2_BIN
GZIP_BIN
PKG_CONFIG
CASE_SENSITIVE_FS_AND_HAVE_CXX_COMPILER_FALSE
CASE_SENSITIVE_FS_AND_HAVE_CXX_COMPILER_TRUE
CASE_SENSITIVE_FS_FALSE
CASE_SENSITIVE_FS_TRUE
OPAL_INSTALL_DOCS_FALSE
OPAL_INSTALL_DOCS_TRUE
OPAL_BUILD_DOCS_FALSE
OPAL_BUILD_DOCS_TRUE
SPHINX_BUILD
LEXLIB
LEX_OUTPUT_ROOT
LEX
OMPI_MPI_OFFSET_KIND
OMPI_MPI_COUNT_KIND
OMPI_MPI_ADDRESS_KIND
OMPI_MPI_INTEGER_KIND
EGREP
CPP
WRAPPER_CC
OSHMEM_BUILD_FORTRAN_BINDINGS_FALSE
OSHMEM_BUILD_FORTRAN_BINDINGS_TRUE
MAN_PAGE_BUILD_USEMPIF08_BINDINGS_FALSE
MAN_PAGE_BUILD_USEMPIF08_BINDINGS_TRUE
MAN_PAGE_BUILD_MPIFH_BINDINGS_FALSE
MAN_PAGE_BUILD_MPIFH_BINDINGS_TRUE
OMPI_BUILD_ANY_FORTRAN_BINDINGS_FALSE
OMPI_BUILD_ANY_FORTRAN_BINDINGS_TRUE
OMPI_BUILD_FORTRAN_USEMPIF08_BINDINGS_FALSE
OMPI_BUILD_FORTRAN_USEMPIF08_BINDINGS_TRUE
OMPI_FORTRAN_HAVE_BIND_C
OMPI_FORTRAN_HAVE_C_FUNLOC
OMPI_FORTRAN_HAVE_USE_ONLY
OMPI_FORTRAN_HAVE_PROCEDURE
OMPI_FORTRAN_HAVE_ASYNCHRONOUS
OMPI_FORTRAN_HAVE_ABSTRACT
OMPI_FORTRAN_HAVE_ISO_C_BINDING
OMPI_FORTRAN_NEED_WRAPPER_ROUTINES
OMPI_F_SUFFIX
OMPI_F08_SUFFIX
OMPI_MPI_BIND_PREFIX
OMPI_MPI_PREFIX
OMPI_FORTRAN_F08_TYPE
OMPI_FORTRAN_F08_PREDECL
OMPI_FORTRAN_USEMPIF08_LIB
OMPI_FORTRAN_HAVE_PRIVATE
OMPI_BUILD_FORTRAN_USEMPI_IGNORE_TKR_BINDINGS_FALSE
OMPI_BUILD_FORTRAN_USEMPI_IGNORE_TKR_BINDINGS_TRUE
OMPI_BUILD_FORTRAN_USEMPI_TKR_BINDINGS_FALSE
OMPI_BUILD_FORTRAN_USEMPI_TKR_BINDINGS_TRUE
OMPI_BUILD_FORTRAN_USEMPI_BINDINGS_FALSE
OMPI_BUILD_FORTRAN_USEMPI_BINDINGS_TRUE
OMPI_FORTRAN_IGNORE_TKR_TYPE
OMPI_FORTRAN_IGNORE_TKR_PREDECL
OMPI_FORTRAN_USEMPI_LIB
OMPI_FORTRAN_USEMPI_DIR
OMPI_BUILD_FORTRAN_MPIFH_BINDINGS_FALSE
OMPI_BUILD_FORTRAN_MPIFH_BINDINGS_TRUE
BUILD_PMPI_FORTRAN_MPIFH_BINDINGS_LAYER_FALSE
BUILD_PMPI_FORTRAN_MPIFH_BINDINGS_LAYER_TRUE
BUILD_MPI_FORTRAN_MPIFH_BINDINGS_LAYER_FALSE
BUILD_MPI_FORTRAN_MPIFH_BINDINGS_LAYER_TRUE
BUILD_FORTRAN_SIZEOF_FALSE
BUILD_FORTRAN_SIZEOF_TRUE
OMPI_FORTRAN_MPIFH_LINK
OMPI_FC_ABSOLUTE
OMPI_FC
OMPI_FORTRAN_ELEMENTAL_TYPE
OMPI_FORTRAN_HAVE_TYPE_MPI_STATUS_FALSE
OMPI_FORTRAN_HAVE_TYPE_MPI_STATUS_TRUE
OMPI_FORTRAN_HAVE_TYPE_MPI_STATUS
OMPI_FC_MODULE_FLAG
OMPI_FORTRAN_BUILD_SIZEOF
OMPI_FORTRAN_HAVE_STORAGE_SIZE
OMPI_FORTRAN_HAVE_ISO_FORTRAN_ENV_REAL16
OMPI_FORTRAN_HAVE_ISO_FORTRAN_ENV
OMPI_FORTRAN_HAVE_INTERFACE
OMPI_FORTRAN_HAVE_ATTR_DEPRECATED
OMPI_FORTRAN_CKINDS
OMPI_FORTRAN_RKINDS
OMPI_FORTRAN_IKINDS
OMPI_FORTRAN_STATUS_SIZE
OMPI_FORTRAN_MAX_ARRAY_RANK
OMPI_ALIGNMENT_FORTRAN_DOUBLE_COMPLEX
OMPI_SIZEOF_FORTRAN_DOUBLE_COMPLEX
OMPI_KIND_FORTRAN_DOUBLE_COMPLEX
OMPI_HAVE_FORTRAN_DOUBLE_COMPLEX
OMPI_ALIGNMENT_FORTRAN_COMPLEX32
OMPI_SIZEOF_FORTRAN_COMPLEX32
OMPI_KIND_FORTRAN_COMPLEX32
OMPI_HAVE_FORTRAN_COMPLEX32
OMPI_ALIGNMENT_FORTRAN_COMPLEX16
OMPI_SIZEOF_FORTRAN_COMPLEX16
OMPI_KIND_FORTRAN_COMPLEX16
OMPI_HAVE_FORTRAN_COMPLEX16
OMPI_ALIGNMENT_FORTRAN_COMPLEX8
OMPI_SIZEOF_FORTRAN_COMPLEX8
OMPI_KIND_FORTRAN_COMPLEX8
OMPI_HAVE_FORTRAN_COMPLEX8
OMPI_ALIGNMENT_FORTRAN_COMPLEX4
OMPI_SIZEOF_FORTRAN_COMPLEX4
OMPI_KIND_FORTRAN_COMPLEX4
OMPI_HAVE_FORTRAN_COMPLEX4
OMPI_ALIGNMENT_FORTRAN_COMPLEX
OMPI_SIZEOF_FORTRAN_COMPLEX
OMPI_KIND_FORTRAN_COMPLEX
OMPI_HAVE_FORTRAN_COMPLEX
OMPI_ALIGNMENT_FORTRAN_DOUBLE_PRECISION
OMPI_SIZEOF_FORTRAN_DOUBLE_PRECISION
OMPI_KIND_FORTRAN_DOUBLE_PRECISION
OMPI_HAVE_FORTRAN_DOUBLE_PRECISION
OMPI_ALIGNMENT_FORTRAN_REAL16
OMPI_SIZEOF_FORTRAN_REAL16
OMPI_KIND_FORTRAN_REAL16
OMPI_HAVE_FORTRAN_REAL16
OMPI_ALIGNMENT_FORTRAN_REAL8
OMPI_SIZEOF_FORTRAN_REAL8
OMPI_KIND_FORTRAN_REAL8
OMPI_HAVE_FORTRAN_REAL8
OMPI_ALIGNMENT_FORTRAN_REAL4
OMPI_SIZEOF_FORTRAN_REAL4
OMPI_KIND_FORTRAN_REAL4
OMPI_HAVE_FORTRAN_REAL4
OMPI_ALIGNMENT_FORTRAN_REAL2
OMPI_SIZEOF_FORTRAN_REAL2
OMPI_KIND_FORTRAN_REAL2
OMPI_HAVE_FORTRAN_REAL2
OMPI_ALIGNMENT_FORTRAN_REAL
OMPI_SIZEOF_FORTRAN_REAL
OMPI_KIND_FORTRAN_REAL
OMPI_HAVE_FORTRAN_REAL
OMPI_ALIGNMENT_FORTRAN_INTEGER16
OMPI_SIZEOF_FORTRAN_INTEGER16
OMPI_KIND_FORTRAN_INTEGER16
OMPI_HAVE_FORTRAN_INTEGER16
OMPI_ALIGNMENT_FORTRAN_INTEGER8
OMPI_SIZEOF_FORTRAN_INTEGER8
OMPI_KIND_FORTRAN_INTEGER8
OMPI_HAVE_FORTRAN_INTEGER8
OMPI_ALIGNMENT_FORTRAN_INTEGER4
OMPI_SIZEOF_FORTRAN_INTEGER4
OMPI_KIND_FORTRAN_INTEGER4
OMPI_HAVE_FORTRAN_INTEGER4
OMPI_ALIGNMENT_FORTRAN_INTEGER2
OMPI_SIZEOF_FORTRAN_INTEGER2
OMPI_KIND_FORTRAN_INTEGER2
OMPI_HAVE_FORTRAN_INTEGER2
OMPI_ALIGNMENT_FORTRAN_INTEGER1
OMPI_SIZEOF_FORTRAN_INTEGER1
OMPI_KIND_FORTRAN_INTEGER1
OMPI_HAVE_FORTRAN_INTEGER1
OMPI_ALIGNMENT_FORTRAN_INTEGER
OMPI_SIZEOF_FORTRAN_INTEGER
OMPI_KIND_FORTRAN_INTEGER
OMPI_HAVE_FORTRAN_INTEGER
OMPI_ALIGNMENT_FORTRAN_LOGICAL8
OMPI_SIZEOF_FORTRAN_LOGICAL8
OMPI_KIND_FORTRAN_LOGICAL8
OMPI_HAVE_FORTRAN_LOGICAL8
OMPI_ALIGNMENT_FORTRAN_LOGICAL4
OMPI_SIZEOF_FORTRAN_LOGICAL4
OMPI_KIND_FORTRAN_LOGICAL4
OMPI_HAVE_FORTRAN_LOGICAL4
OMPI_ALIGNMENT_FORTRAN_LOGICAL2
OMPI_SIZEOF_FORTRAN_LOGICAL2
OMPI_KIND_FORTRAN_LOGICAL2
OMPI_HAVE_FORTRAN_LOGICAL2
OMPI_ALIGNMENT_FORTRAN_LOGICAL1
OMPI_SIZEOF_FORTRAN_LOGICAL1
OMPI_KIND_FORTRAN_LOGICAL1
OMPI_HAVE_FORTRAN_LOGICAL1
OMPI_ALIGNMENT_FORTRAN_LOGICAL
OMPI_SIZEOF_FORTRAN_LOGICAL
OMPI_KIND_FORTRAN_LOGICAL
OMPI_HAVE_FORTRAN_LOGICAL
OMPI_ALIGNMENT_FORTRAN_CHARACTER
OMPI_SIZEOF_FORTRAN_CHARACTER
OMPI_KIND_FORTRAN_CHARACTER
OMPI_HAVE_FORTRAN_CHARACTER
OMPI_FORTRAN_PLAIN
OMPI_FORTRAN_CAPS
OMPI_FORTRAN_SINGLE_UNDERSCORE
OMPI_FORTRAN_DOUBLE_UNDERSCORE
OMPI_HAVE_FORTRAN_COMPILER_FALSE
OMPI_HAVE_FORTRAN_COMPILER_TRUE
NM
ac_ct_DUMPBIN
DUMPBIN
FCFLAGS_f90
FCFLAGS_f
OMPI_FORTRAN_EXTRA_SHARED_LIBRARY_FLAGS
ac_ct_FC
FCFLAGS
FC
LN_S
am__fastdepCCAS_FALSE
am__fastdepCCAS_TRUE
CCASDEPMODE
CCASFLAGS
CCAS
OSHMEM_PROFILING_FALSE
OSHMEM_PROFILING_TRUE
COMPILE_PROFILING_SEPARATELY_FALSE
COMPILE_PROFILING_SEPARATELY_TRUE
BUILD_MPI_BINDINGS_LAYER_FALSE
BUILD_MPI_BINDINGS_LAYER_TRUE
OMPI_WANT_JAVA_BINDINGS_FALSE
OMPI_WANT_JAVA_BINDINGS_TRUE
OMPI_HAVE_JAVAH_SUPPORT_FALSE
OMPI_HAVE_JAVAH_SUPPORT_TRUE
OMPI_JDK_CPPFLAGS
JAVAH
JAVADOC
JAR
JAVAC
OMPI_HAVE_CXX_COMPILER_FALSE
OMPI_HAVE_CXX_COMPILER_TRUE
OMPI_CXX_ABSOLUTE
CXXCPP
am__fastdepCXX_FALSE
am__fastdepCXX_TRUE
CXXDEPMODE
ac_ct_CXX
CXXFLAGS
CXX
GREP
OPAL_CC_ABSOLUTE
am__fastdepCC_FALSE
am__fastdepCC_TRUE
CCDEPMODE
am__nodep
AMDEPBACKSLASH
AMDEP_FALSE
AMDEP_TRUE
am__include
DEPDIR
OBJEXT
EXEEXT
ac_ct_CC
CPPFLAGS
LDFLAGS
CFLAGS
CC
OSHMEM_LIBSHMEM_EXTRA_LDFLAGS
OSHMEM_LIBSHMEM_EXTRA_LIBS
OMPI_LIBMPI_NAME
OPAL_LIB_NAME
SPC_ENABLE_FALSE
SPC_ENABLE_TRUE
OMPI_OMPIO_SUPPORT_FALSE
OMPI_OMPIO_SUPPORT_TRUE
OMPI_ENABLE_GREQUEST_EXTENSIONS_FALSE
OMPI_ENABLE_GREQUEST_EXTENSIONS_TRUE
OMPI_ENABLE_GREQUEST_EXTENSIONS
OMPI_ENABLE_MPI1_COMPAT_FALSE
OMPI_ENABLE_MPI1_COMPAT_TRUE
OMPI_ENABLE_MPI1_COMPAT
OMPI_FORTRAN_MODULEDIR
WANT_PERUSE_FALSE
WANT_PERUSE_TRUE
OPAL_MAX_STRINGTAG_LEN
OPAL_MAX_PSET_NAME_LEN
OPAL_MAX_DATAREP_STRING
OPAL_MAX_PORT_NAME
OPAL_MAX_INFO_VAL
OPAL_MAX_INFO_KEY
OPAL_MAX_OBJECT_NAME
OPAL_MAX_ERROR_STRING
OPAL_MAX_PROCESSOR_NAME
OPAL_WANT_SCRIPT_WRAPPER_COMPILERS_FALSE
OPAL_WANT_SCRIPT_WRAPPER_COMPILERS_TRUE
OPAL_INSTALL_BINARIES_FALSE
OPAL_INSTALL_BINARIES_TRUE
WANT_INSTALL_HEADERS_FALSE
WANT_INSTALL_HEADERS_TRUE
OPAL_INSTALL_TIMING_BINARIES_FALSE
OPAL_INSTALL_TIMING_BINARIES_TRUE
OPAL_COMPILE_TIMING_FALSE
OPAL_COMPILE_TIMING_TRUE
OSHMEM_TOP_BUILDDIR
OSHMEM_TOP_SRCDIR
OPAL_TOP_BUILDDIR
OPAL_TOP_SRCDIR
ac_prefix_program
CLEANFILES
OMPI_TOP_SRCDIR
OMPI_TOP_BUILDDIR
libmca_opal_common_ucx_so_version
libmca_ompi_common_monitoring_so_version
libmca_ompi_common_ompio_so_version
libmca_opal_common_ugni_so_version
libmca_opal_common_sm_so_version
libmca_opal_common_cuda_so_version
libmca_opal_common_ofi_so_version
libopen_pal_so_version
liboshmem_so_version
libompitrace_so_version
libmpi_java_so_version
libmpi_usempif08_so_version
libmpi_usempi_ignore_tkr_so_version
libmpi_usempi_tkr_so_version
libmpi_mpifh_so_version
libmpi_so_version
OPAL_RELEASE_DATE
OPAL_VERSION
OPAL_TARBALL_VERSION
OPAL_REPO_REV
OPAL_GREEK_VERSION
OPAL_RELEASE_VERSION
OPAL_MINOR_VERSION
OPAL_MAJOR_VERSION
OSHMEM_RELEASE_DATE
OSHMEM_VERSION
OSHMEM_TARBALL_VERSION
OSHMEM_REPO_REV
OSHMEM_GREEK_VERSION
OSHMEM_RELEASE_VERSION
OSHMEM_MINOR_VERSION
OSHMEM_MAJOR_VERSION
MPI_SUBVERSION
MPI_VERSION
OMPI_RELEASE_DATE
OMPI_VERSION
OMPI_TARBALL_VERSION
OMPI_REPO_REV
OMPI_GREEK_VERSION
OMPI_RELEASE_VERSION
OMPI_MINOR_VERSION
OMPI_MAJOR_VERSION
CONFIGURE_DEPENDENCIES
AM_BACKSLASH
AM_DEFAULT_VERBOSITY
AM_DEFAULT_V
AM_V
CSCOPE
ETAGS
CTAGS
am__untar
am__tar
AMTAR
am__leading_dot
SET_MAKE
AWK
mkdir_p
MKDIR_P
INSTALL_STRIP_PROGRAM
STRIP
install_sh
MAKEINFO
AUTOHEADER
AUTOMAKE
AUTOCONF
ACLOCAL
VERSION
PACKAGE
CYGPATH_W
am__isrc
INSTALL_DATA
INSTALL_SCRIPT
INSTALL_PROGRAM
target_os
target_vendor
target_cpu
target
host_os
host_vendor
host_cpu
host
build_os
build_vendor
build_cpu
build
PERL
SED
OPAL_CONFIGURE_DATE
OPAL_CONFIGURE_HOST
OPAL_CONFIGURE_USER
OPAL_PARAM_FROM_PLATFORM
OPAL_DEFAULT_MCA_PARAM_CONF
OPAL_CONFIGURE_CLI
target_alias
host_alias
build_alias
LIBS
ECHO_T
ECHO_N
ECHO_C
DEFS
mandir
localedir
libdir
psdir
pdfdir
dvidir
htmldir
infodir
docdir
oldincludedir
includedir
runstatedir
localstatedir
sharedstatedir
sysconfdir
datadir
datarootdir
libexecdir
sbindir
bindir
program_transform_name
prefix
exec_prefix
PACKAGE_URL
PACKAGE_BUGREPORT
PACKAGE_STRING
PACKAGE_VERSION
PACKAGE_TARNAME
PACKAGE_NAME
PATH_SEPARATOR
SHELL
am__quote'
ac_subst_files=''
ac_user_opts='
enable_option_checking
with_platform_patches_dir
with_platform
with_libnl
with_libn_libdirl
enable_silent_rules
with_pmi
with_pmi_libdir
enable_mpi_cxx
enable_mpi_cxx_seek
enable_cxx_exceptions
enable_coverage
enable_branch_probabilities
enable_mem_debug
enable_mem_profile
enable_picky
enable_debug
enable_timing
enable_debug_symbols
with_devel_headers
enable_pretty_print_stacktrace
enable_pty_support
enable_weak_symbols
enable_dlopen
with_show_load_errors
enable_heterogeneous
with_cross
enable_binaries
enable_script_wrapper_compilers
enable_per_user_config_files
enable_ipv6
with_package_string
with_ident_string
with_dst_checksum
with_max_processor_name
with_max_error_string
with_max_object_name
with_max_info_key
with_max_info_val
with_max_port_name
with_max_datarep_string
with_max_pset_name_len
with_max_stringtag_len
enable_getpwuid
enable_mpi
enable_mpi_interface_warning
enable_sparse_groups
enable_peruse
enable_mpi_fortran
with_mpi_moduledir
enable_mpi1_compatibility
enable_grequest_extensions
with_mpi_param_check
enable_io_ompio
enable_spc
with_libmpi_name
enable_oshmem
enable_oshmem_compat
with_oshmem_param_check
enable_oshmem_profile
enable_oshmem_fortran
enable_shared
enable_static
enable_dependency_tracking
enable_alt_short_float
enable_mpi_java
with_jdk_dir
with_jdk_bindir
with_jdk_headers
enable_c11_atomics
enable_builtin_atomics
enable_builtin_atomics_for_ppc
with_wrapper_cc
with_wrapper_cflags
with_wrapper_cflags_prefix
with_wrapper_cxxflags
with_wrapper_cxxflags_prefix
with_wrapper_fcflags
with_wrapper_fcflags_prefix
with_wrapper_ldflags
with_wrapper_libs
enable_wrapper_rpath
enable_wrapper_runpath
with_broken_qsort
enable_sphinx
with_cs_fs
with_ft
with_libevent
with_libevent_libdir
with_hwloc
with_hwloc_libdir
with_pmix
with_pmix_libdir
with_pmix_package_string
enable_devel_check
enable_memory_sanitizers
with_pmix_headers
with_tests_examples
enable_pmix_timing
enable_pmix_binaries
enable_python_bindings
enable_nonglobal_dlopen
enable_dummy_handshake
with_alps_libdir
with_alps
with_curl
with_curl_libdir
with_jansson
with_jansson_libdir
with_slurm
with_pmix_platform_patches_dir
with_pmix_platform
with_hwloc_extra_libs
enable_hwloc_lib_checks
with_libev
with_libev_libdir
with_libev_extra_libs
enable_libev_lib_checks
with_libevent_extra_libs
enable_libevent_lib_checks
enable_werror
with_zlib
with_zlib_libdir
enable_pmix_dlopen
with_simptest
with_slingshot
with_cxi
with_cxi_libdir
with_pbs
with_munge
with_munge_libdir
with_prrte
with_prrte_libdir
with_prrte_bindir
with_lsf
with_lsf_libdir
with_moab
with_moab_libdir
with_sge
with_singularity
with_tm
with_tm_libdir
enable_show_load_errors_by_default
with_proxy_version_string
with_proxy_package_name
with_proxy_bugreport
with_prte_platform_patches_dir
with_prte_platform
with_pmix_extra_libs
enable_pmix_lib_checks
enable_prte_dlopen
enable_ompi_support
enable_prte_prefix_by_default
enable_orterun_prefix_by_default
enable_mpirun_prefix_by_default
enable_mca_no_build
enable_mca_dso
enable_mca_static
enable_mca_direct
with_libfabric
with_libfabric_libdir
with_ofi
with_ofi_libdir
with_ucx
with_ucx_libdir
with_cuda
with_cuda_libdir
with_rocm
with_portals4
with_portals4_libdir
with_portals4_max_md_size
with_portals4_max_va_size
enable_btl_portals4_flow_control
enable_uct_version_check
with_ugni
with_usnic
enable_opal_btl_usnic_unit_tests
with_libltdl
with_libltdl_libdir
enable_memchecker
with_valgrind
with_memory_manager
with_memkind
with_udreg
enable_mmap_shmem
enable_posix_shmem
enable_sysv_shmem
with_cma
with_knem
with_cray_xpmem
with_xpmem
with_xpmem_libdir
with_threads
with_argobots
with_argobots_libdir
with_qthreads
with_qthreads_libdir
with_timer
with_hcoll
with_ucc
with_ime
with_pvfs2
with_gpfs
with_lustre
enable_io_romio
with_io_romio_flags
enable_mtl_portals4_flow_control
with_psm2
with_psm2_libdir
enable_psm2_version_check
with_pml_ob1_matching
with_treematch
enable_mmap_sshmem
enable_sysv_sshmem
enable_mpi_ext
enable_visibility
with_pic
enable_fast_install
with_aix_soname
with_gnu_ld
with_sysroot
enable_libtool_lock
'
ac_precious_vars='build_alias
host_alias
target_alias
CC
CFLAGS
LDFLAGS
LIBS
CPPFLAGS
CXX
CXXFLAGS
CCC
CXXCPP
CCAS
CCASFLAGS
FC
FCFLAGS
CPP
PKG_CONFIG
PKG_CONFIG_PATH
PKG_CONFIG_LIBDIR
CRAY_UGNI_CFLAGS
CRAY_UGNI_LIBS
CRAY_UDREG_CFLAGS
CRAY_UDREG_LIBS
CRAY_XPMEM_CFLAGS
CRAY_XPMEM_LIBS
CRAY_XPMEM_STATIC_LIBS
LT_SYS_LIBRARY_PATH'
ac_subdirs_all='3rd-party/libevent_directory
3rd-party/hwloc_directory
3rd-party/openpmix
3rd-party/prrte'
# Initialize some variables set by options.
ac_init_help=
ac_init_version=false
ac_unrecognized_opts=
ac_unrecognized_sep=
# The variables have the same names as the options, with
# dashes changed to underlines.
cache_file=/dev/null
exec_prefix=NONE
no_create=
no_recursion=
prefix=NONE
program_prefix=NONE
program_suffix=NONE
program_transform_name=s,x,x,
silent=
site=
srcdir=
verbose=
x_includes=NONE
x_libraries=NONE
# Installation directory options.
# These are left unexpanded so users can "make install exec_prefix=/foo"
# and all the variables that are supposed to be based on exec_prefix
# by default will actually change.
# Use braces instead of parens because sh, perl, etc. also accept them.
# (The list follows the same order as the GNU Coding Standards.)
bindir='${exec_prefix}/bin'
sbindir='${exec_prefix}/sbin'
libexecdir='${exec_prefix}/libexec'
datarootdir='${prefix}/share'
datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
runstatedir='${localstatedir}/run'
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
infodir='${datarootdir}/info'
htmldir='${docdir}'
dvidir='${docdir}'
pdfdir='${docdir}'
psdir='${docdir}'
libdir='${exec_prefix}/lib'
localedir='${datarootdir}/locale'
mandir='${datarootdir}/man'
ac_prev=
ac_dashdash=
for ac_option
do
# If the previous option needs an argument, assign it.
if test -n "$ac_prev"; then
eval $ac_prev=\$ac_option
ac_prev=
continue
fi
case $ac_option in
*=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
*=) ac_optarg= ;;
*) ac_optarg=yes ;;
esac
case $ac_dashdash$ac_option in
--)
ac_dashdash=yes ;;
-bindir | --bindir | --bindi | --bind | --bin | --bi)
ac_prev=bindir ;;
-bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
bindir=$ac_optarg ;;
-build | --build | --buil | --bui | --bu)
ac_prev=build_alias ;;
-build=* | --build=* | --buil=* | --bui=* | --bu=*)
build_alias=$ac_optarg ;;
-cache-file | --cache-file | --cache-fil | --cache-fi \
| --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
ac_prev=cache_file ;;
-cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
| --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
cache_file=$ac_optarg ;;
--config-cache | -C)
cache_file=config.cache ;;
-datadir | --datadir | --datadi | --datad)
ac_prev=datadir ;;
-datadir=* | --datadir=* | --datadi=* | --datad=*)
datadir=$ac_optarg ;;
-datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
| --dataroo | --dataro | --datar)
ac_prev=datarootdir ;;
-datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
| --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
datarootdir=$ac_optarg ;;
-disable-* | --disable-*)
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'"
ac_useropt_orig=$ac_useropt
ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
*"
"enable_$ac_useropt"
"*) ;;
*) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
ac_unrecognized_sep=', ';;
esac
eval enable_$ac_useropt=no ;;
-docdir | --docdir | --docdi | --doc | --do)
ac_prev=docdir ;;
-docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
docdir=$ac_optarg ;;
-dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
ac_prev=dvidir ;;
-dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
dvidir=$ac_optarg ;;
-enable-* | --enable-*)
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'"
ac_useropt_orig=$ac_useropt
ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
*"
"enable_$ac_useropt"
"*) ;;
*) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
ac_unrecognized_sep=', ';;
esac
eval enable_$ac_useropt=\$ac_optarg ;;
-exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
| --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
| --exec | --exe | --ex)
ac_prev=exec_prefix ;;
-exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
| --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
| --exec=* | --exe=* | --ex=*)
exec_prefix=$ac_optarg ;;
-gas | --gas | --ga | --g)
# Obsolete; use --with-gas.
with_gas=yes ;;
-help | --help | --hel | --he | -h)
ac_init_help=long ;;
-help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
ac_init_help=recursive ;;
-help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
ac_init_help=short ;;
-host | --host | --hos | --ho)
ac_prev=host_alias ;;
-host=* | --host=* | --hos=* | --ho=*)
host_alias=$ac_optarg ;;
-htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
ac_prev=htmldir ;;
-htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
| --ht=*)
htmldir=$ac_optarg ;;
-includedir | --includedir | --includedi | --included | --include \
| --includ | --inclu | --incl | --inc)
ac_prev=includedir ;;
-includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
| --includ=* | --inclu=* | --incl=* | --inc=*)
includedir=$ac_optarg ;;
-infodir | --infodir | --infodi | --infod | --info | --inf)
ac_prev=infodir ;;
-infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
infodir=$ac_optarg ;;
-libdir | --libdir | --libdi | --libd)
ac_prev=libdir ;;
-libdir=* | --libdir=* | --libdi=* | --libd=*)
libdir=$ac_optarg ;;
-libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
| --libexe | --libex | --libe)
ac_prev=libexecdir ;;
-libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
| --libexe=* | --libex=* | --libe=*)
libexecdir=$ac_optarg ;;
-localedir | --localedir | --localedi | --localed | --locale)
ac_prev=localedir ;;
-localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
localedir=$ac_optarg ;;
-localstatedir | --localstatedir | --localstatedi | --localstated \
| --localstate | --localstat | --localsta | --localst | --locals)
ac_prev=localstatedir ;;
-localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
| --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
localstatedir=$ac_optarg ;;
-mandir | --mandir | --mandi | --mand | --man | --ma | --m)
ac_prev=mandir ;;
-mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
mandir=$ac_optarg ;;
-nfp | --nfp | --nf)
# Obsolete; use --without-fp.
with_fp=no ;;
-no-create | --no-create | --no-creat | --no-crea | --no-cre \
| --no-cr | --no-c | -n)
no_create=yes ;;
-no-recursion | --no-recursion | --no-recursio | --no-recursi \
| --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
no_recursion=yes ;;
-oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
| --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
| --oldin | --oldi | --old | --ol | --o)
ac_prev=oldincludedir ;;
-oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
| --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
| --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
oldincludedir=$ac_optarg ;;
-prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
ac_prev=prefix ;;
-prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
prefix=$ac_optarg ;;
-program-prefix | --program-prefix | --program-prefi | --program-pref \
| --program-pre | --program-pr | --program-p)
ac_prev=program_prefix ;;
-program-prefix=* | --program-prefix=* | --program-prefi=* \
| --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
program_prefix=$ac_optarg ;;
-program-suffix | --program-suffix | --program-suffi | --program-suff \
| --program-suf | --program-su | --program-s)
ac_prev=program_suffix ;;
-program-suffix=* | --program-suffix=* | --program-suffi=* \
| --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
program_suffix=$ac_optarg ;;
-program-transform-name | --program-transform-name \
| --program-transform-nam | --program-transform-na \
| --program-transform-n | --program-transform- \
| --program-transform | --program-transfor \
| --program-transfo | --program-transf \
| --program-trans | --program-tran \
| --progr-tra | --program-tr | --program-t)
ac_prev=program_transform_name ;;
-program-transform-name=* | --program-transform-name=* \
| --program-transform-nam=* | --program-transform-na=* \
| --program-transform-n=* | --program-transform-=* \
| --program-transform=* | --program-transfor=* \
| --program-transfo=* | --program-transf=* \
| --program-trans=* | --program-tran=* \
| --progr-tra=* | --program-tr=* | --program-t=*)
program_transform_name=$ac_optarg ;;
-pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
ac_prev=pdfdir ;;
-pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
pdfdir=$ac_optarg ;;
-psdir | --psdir | --psdi | --psd | --ps)
ac_prev=psdir ;;
-psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
psdir=$ac_optarg ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
-runstatedir | --runstatedir | --runstatedi | --runstated \
| --runstate | --runstat | --runsta | --runst | --runs \
| --run | --ru | --r)
ac_prev=runstatedir ;;
-runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
| --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
| --run=* | --ru=* | --r=*)
runstatedir=$ac_optarg ;;
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
| --sbi=* | --sb=*)
sbindir=$ac_optarg ;;
-sharedstatedir | --sharedstatedir | --sharedstatedi \
| --sharedstated | --sharedstate | --sharedstat | --sharedsta \
| --sharedst | --shareds | --shared | --share | --shar \
| --sha | --sh)
ac_prev=sharedstatedir ;;
-sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
| --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
| --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
| --sha=* | --sh=*)
sharedstatedir=$ac_optarg ;;
-site | --site | --sit)
ac_prev=site ;;
-site=* | --site=* | --sit=*)
site=$ac_optarg ;;
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
ac_prev=srcdir ;;
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
srcdir=$ac_optarg ;;
-sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
| --syscon | --sysco | --sysc | --sys | --sy)
ac_prev=sysconfdir ;;
-sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
| --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
sysconfdir=$ac_optarg ;;
-target | --target | --targe | --targ | --tar | --ta | --t)
ac_prev=target_alias ;;
-target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
target_alias=$ac_optarg ;;
-v | -verbose | --verbose | --verbos | --verbo | --verb)
verbose=yes ;;
-version | --version | --versio | --versi | --vers | -V)
ac_init_version=: ;;
-with-* | --with-*)
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'"
ac_useropt_orig=$ac_useropt
ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
*"
"with_$ac_useropt"
"*) ;;
*) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
ac_unrecognized_sep=', ';;
esac
eval with_$ac_useropt=\$ac_optarg ;;
-without-* | --without-*)
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'"
ac_useropt_orig=$ac_useropt
ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
*"
"with_$ac_useropt"
"*) ;;
*) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
ac_unrecognized_sep=', ';;
esac
eval with_$ac_useropt=no ;;
--x)
# Obsolete; use --with-x.
with_x=yes ;;
-x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
| --x-incl | --x-inc | --x-in | --x-i)
ac_prev=x_includes ;;
-x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
| --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
x_includes=$ac_optarg ;;
-x-libraries | --x-libraries | --x-librarie | --x-librari \
| --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
ac_prev=x_libraries ;;
-x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
| --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"
;;
*=*)
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
eval $ac_envvar=\$ac_optarg
export $ac_envvar ;;
*)
# FIXME: should be removed in autoconf 3.0.
printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2
expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
printf "%s\n" "$as_me: WARNING: invalid host type: $ac_option" >&2
: "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
;;
esac
done
if test -n "$ac_prev"; then
ac_option=--`echo $ac_prev | sed 's/_/-/g'`
as_fn_error $? "missing argument to $ac_option"
fi
if test -n "$ac_unrecognized_opts"; then
case $enable_option_checking in
no) ;;
fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
*) printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
esac
fi
# Check all directory arguments for consistency.
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
libdir localedir mandir runstatedir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
case $ac_val in
*/ )
ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
eval $ac_var=\$ac_val;;
esac
# Be sure to have absolute directory names.
case $ac_val in
[\\/$]* | ?:[\\/]* ) continue;;
NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
esac
as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
done
# There might be people who depend on the old broken behavior: `$host'
# used to hold the argument of --host etc.
# FIXME: To remove some day.
build=$build_alias
host=$host_alias
target=$target_alias
# FIXME: To remove some day.
if test "x$host_alias" != x; then
if test "x$build_alias" = x; then
cross_compiling=maybe
elif test "x$build_alias" != "x$host_alias"; then
cross_compiling=yes
fi
fi
ac_tool_prefix=
test -n "$host_alias" && ac_tool_prefix=$host_alias-
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"
test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
as_fn_error $? "pwd does not report name of working directory"
# Find the source files, if location was not specified.
if test -z "$srcdir"; then
ac_srcdir_defaulted=yes
# Try the directory containing this script, then the parent directory.
ac_confdir=`$as_dirname -- "$as_myself" ||
$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$as_myself" : 'X\(//\)[^/]' \| \
X"$as_myself" : 'X\(//\)$' \| \
X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
printf "%s\n" X"$as_myself" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
srcdir=$ac_confdir
if test ! -r "$srcdir/$ac_unique_file"; then
srcdir=..
fi
else
ac_srcdir_defaulted=no
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"
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"
pwd)`
# When building in place, set srcdir=.
if test "$ac_abs_confdir" = "$ac_pwd"; then
srcdir=.
fi
# Remove unnecessary trailing slashes from srcdir.
# Double slashes in file names in object file debugging info
# mess up M-x gdb in Emacs.
case $srcdir in
*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
esac
for ac_var in $ac_precious_vars; do
eval ac_env_${ac_var}_set=\${${ac_var}+set}
eval ac_env_${ac_var}_value=\$${ac_var}
eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
eval ac_cv_env_${ac_var}_value=\$${ac_var}
done
#
# Report the --help message.
#
if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures Open MPI 5.0.5 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE. See below for descriptions of some of the useful variables.
Defaults for the options are specified in brackets.
Configuration:
-h, --help display this help and exit
--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
--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
--srcdir=DIR find the sources in DIR [configure dir or \`..']
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
[$ac_default_prefix]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[PREFIX]
By default, \`make install' will install all the files in
\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
an installation prefix other than \`$ac_default_prefix' using \`--prefix',
for instance \`--prefix=\$HOME'.
For better control, use the options below.
Fine tuning of the installation directories:
--bindir=DIR user executables [EPREFIX/bin]
--sbindir=DIR system admin executables [EPREFIX/sbin]
--libexecdir=DIR program executables [EPREFIX/libexec]
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
--datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
--datadir=DIR read-only architecture-independent data [DATAROOTDIR]
--infodir=DIR info documentation [DATAROOTDIR/info]
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]
--mandir=DIR man documentation [DATAROOTDIR/man]
--docdir=DIR documentation root [DATAROOTDIR/doc/openmpi]
--htmldir=DIR html documentation [DOCDIR]
--dvidir=DIR dvi documentation [DOCDIR]
--pdfdir=DIR pdf documentation [DOCDIR]
--psdir=DIR ps documentation [DOCDIR]
_ACEOF
cat <<\_ACEOF
Program names:
--program-prefix=PREFIX prepend PREFIX to installed program names
--program-suffix=SUFFIX append SUFFIX to installed program names
--program-transform-name=PROGRAM run sed PROGRAM on installed program names
System types:
--build=BUILD configure for building on BUILD [guessed]
--host=HOST cross-compile to build programs to run on HOST [BUILD]
--target=TARGET configure for building compilers for TARGET [HOST]
_ACEOF
fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of Open MPI 5.0.5:";;
esac
cat <<\_ACEOF
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-mpi-cxx *DELETED* Build the MPI C++ bindings
--enable-mpi-cxx-seek *DELETED* Build support for MPI::SEEK
--enable-cxx-exceptions *DELETED* Build support for C++ exceptions in the
MPI C++ bindings
--enable-coverage enable code coverage files to be generated
--enable-branch-probabilities
enable profile arcs and branch probability
optimization
--enable-mem-debug enable memory debugging (not for general MPI users!)
(default: disabled)
--enable-mem-profile enable memory profiling (not for general MPI users!)
(default: disabled)
--enable-picky enable developer-level compiler pickyness when
building Open MPI (default: disabled, unless a .git
directory is found in the build tree)
--enable-debug enable developer-level debugging code (not for
general MPI users!) (default: disabled)
--enable-timing enable developer-level timing code (not for general
MPI users!) (default: disabled)
--disable-debug-symbols Disable adding compiler flags to enable debugging
symbols if --enable-debug is specified. For
non-debugging builds, this flag has no effect.
--enable-pretty-print-stacktrace
Pretty print stacktrace on process signal (default:
enabled)
--enable-pty-support Enable/disable PTY support for STDIO forwarding.
(default: enabled)
--enable-weak-symbols use weak symbols, if available (default: enabled)
--enable-dlopen Whether build should attempt to use dlopen (or
similar) to dynamically load components. Disabling
dlopen implies --disable-mca-dso. (default: enabled)
--enable-heterogeneous Enable features required for heterogeneous platform
support (default: disabled)
--enable-binaries Build and install binaries required for Open MPI,
such as the wrapper compilers. Useful for multi-lib
installations. (default: enabled)
--enable-script-wrapper-compilers
Use less featured script-based wrapper compilers
instead of the standard C-based wrapper compilers.
This option ignores the --disable-binaries option
and is mainly useful in cross-compile environments
--enable-per-user-config-files
Disable per-user configuration files, to save disk
accesses during job start-up. This is likely
desirable for large jobs. Note that this can also be
achieved by environment variables at run-time.
(default: enabled)
--enable-ipv6 Enable IPv6 support, but only if the underlying
system supports it (default: disabled)
--disable-getpwuid Disable getpwuid support (default: enabled)
--disable-mpi Disable building the MPI layer (default:enabled)
--enable-mpi-interface-warning
enable compile-time warnings when deprecated MPI
functions are used (default: enabled)
--enable-sparse-groups enable sparse process groups (default: not enabled)
--enable-peruse enable PERUSE interface (default: disabled)
--enable-mpi-fortran specify which Fortran MPI bindings to build: yes,
none (or no), best-effort, mpifh (build only mpif.h
support), usempi (build mpif.h and the mpi module),
or usempif08 (or all, build mpifh, the mpi module,
and the mpi_f08 module) (default: "yes" if Fortran
compiler found)
--enable-mpi1-compatibility
Enable support for MPI-1.x functions removed from
the current MPI standard (MPI-3.x). This option will
go away in a future release of Open MPI (default:
disabled)
--enable-grequest-extensions
Enable support for Grequest extensions (default:
disabled)
--disable-io-ompio Disable the ompio MPI-IO component
--enable-spc Enable software-based performance counters
capability (default: disabled)
--enable-oshmem Enable building the OpenSHMEM interface (available
on Linux only, where it is enabled by default)
--enable-oshmem-compat enable compatibility mode (default: enabled)
--enable-oshmem-profile enable OpenSHMEM profiling (default: enabled)
--enable-oshmem-fortran enable OpenSHMEM Fortran bindings (default: enabled
if Fortran compiler found)
--enable-shared[=PKGS] build shared libraries [default=yes]
--enable-static[=PKGS] build static libraries [default=no]
--enable-dependency-tracking
do not reject slow dependency extractors
--disable-dependency-tracking
speeds up one-time build
--enable-alt-short-float=TYPE
Use an alternate C type TYPE of 'short float' if
'short float' is not available on the C compiler.
'short float' is a new C type proposed for the next
C language standard in ISO/IEC JTC 1/SC 22 WG 14 (C
WG). (default: "_Float16" if available, disabled
otherwise)
--enable-mpi-java enable Java MPI bindings (default: disabled)
--enable-c11-atomics Enable use of C11 atomics if available. Note: GCC
builtin atomics are currently preferred over C11
atomics. (default: use if available, disabled by
default on 64-bit PowerPC)
--enable-builtin-atomics
Enable use of GCC built-in atomics. Currently
preferred over C11 atomics. (default: use if
available, disabled by default on 64-bit PowerPC)
--enable-builtin-atomics-for-ppc
For performance reasons, 64-bit POWER architectures
will not use C11 or GCC built-in atomics, even if
--enable-c11-atomics is passed to configure.
Enabling this option will re-enable support for both
C11 and GCC built-in atomics.
--enable-wrapper-rpath enable rpath/runpath support in the wrapper
compilers (default=yes)
--enable-wrapper-runpath
enable runpath in the wrapper compilers if linker
supports it (default: enabled, unless wrapper-rpath
is disabled).
--enable-sphinx Force configure to fail if Sphinx is not found
(Sphinx is used to build the HTML docs and man
pages). This option is likely only useful for
developers; end users who are building from
distribution tarballs do ***not*** need to have
Sphinx installed
--enable-devel-check enable developer-level compiler pickyness when
building PMIx (default: disabled)
--memory-sanitizers enable developer-level memory sanitizers when
building PMIx (default: disabled)
--enable-pmix-timing enable PMIx developer-level timing code (default:
disabled)
--enable-pmix-binaries enable PMIx tools
--enable-python-bindings
enable Python bindings (default: disabled)
--enable-nonglobal-dlopen
enable non-global dlopen (default: enabled)
--enable-dummy-handshake
Enables psec dummy component intended to check the
PTL handshake scenario (default: disabled)
--disable-hwloc-lib-checks
If --disable-hwloc-lib-checks is specified,
configure will assume that -lhwloc is available
--disable-libev-lib-checks
If --disable-libev-lib-checks is specified,
configure will assume that -lev is available
--disable-libevent-lib-checks
If --disable-libevent-lib-checks is specified,
configure will assume that -levent is available
--enable-werror Treat compiler warnings as errors
--disable-pmix-dlopen Disable the PMIx "dlopen" PDL component (and
probably force the use of the "libltdl" PDL
component).
--enable-show-load-errors-by-default
Set the default value for the MCA parameter
mca_base_component_show_load_errors (but can be
overridden at run time by the usual
MCA-variable-setting mechansism). This MCA variable
controls whether warnings are displayed when an MCA
component fails to load at run time due to an error.
(default: enabled in --enable-debug builds, meaning
that mca_base_component_show_load_errors is enabled
by default when configured with --enable-debug
--disable-pmix-lib-checks
If --disable-pmix-lib-checks is specified, configure
will assume that -lpmix is available
--disable-prte-dlopen Disable the "dlopen" PRTE DL component (and probably
force the use of the "libltdl" DL component). This
option should really only be used by PRTE
developers. You are probably actually looking for
the "--disable-dlopen" option, which disables all
dlopen-like functionality from PRTE.
--disable-ompi-support Disable support for Open MPI (default: no)
--enable-prte-prefix-by-default
Make "mpirun ..." behave exactly the same as "mpirun
--prefix \$prefix", where \$prefix is the value
given to --prefix in configure (default:enabled)
--enable-orterun-prefix-by-default
*DEPRECATED* Please use
--enable-prte-prefix-by-default in the future.
--enable-mpirun-prefix-by-default
*DEPRECATED* Please use
--enable-prte-prefix-by-default in the future.
--enable-mca-no-build=LIST
Comma-separated list of - pairs
that will not be built. Example:
"--enable-mca-no-build=btl-portals4,topo-treematch"
will disable building the "portals4" btl and the
"treematch" topo components.
--enable-mca-dso=LIST Comma-separated list of types and/or type-component
pairs that will be built as run-time loadable
components (as opposed to statically linked in), if
supported on this platform.
--enable-mca-static=LIST
Comma-separated list of types and/or type-component
pairs that will be built statically linked into the
library. The default (if DSOs are supported) is to
build all components as DSOs. Enabling a component
as static disables it building as a DSO. The default
is to build all components statically.
--enable-mca-direct=LIST
Comma-separated list of type-component pairs that
will be hard coded as the one component to use for a
given component type, saving the (small) overhead of
the component architecture. LIST must not be empty
and implies given component pairs are build as
static components.
--enable-btl-portals4-flow-control
enable flow control for Portals 4 BTL (default:
disabled)
--enable-uct-version-check
enable UCT version check (default: enabled)
--enable-opal-btl-usnic-unit-tests
build unit tests for the usnic BTL, including the
test runner program, opal_btl_usnic_run_tests
--enable-memchecker Enable memory and buffer checks. Note that disabling
will *also* add "memchecker" to the
--enable-mca-no-build list (default: disabled)
--disable-mmap-shmem disable mmap shared memory support (default:
enabled)
--disable-posix-shmem disable posix shared memory support (default:
enabled)
--disable-sysv-shmem disable sysv shared memory support (default:
enabled)
--disable-io-romio Disable the ROMIO MPI-IO component
--enable-mtl-portals4-flow-control
enable flow control for Portals 4 MTL (default:
disabled)
--disable-psm2-version-check
Disable PSM2 version checking. Not recommended to
disable. (default: enabled)
--disable-mmap-sshmem disable mmap shared memory support (default:
enabled)
--disable-sysv-sshmem disable sysv shared memory support (default:
enabled)
--enable-mpi-ext=LIST Comma-separated list of extensions that should be
built. Possible values:
affinity,cuda,ftmpi,rocm,shortfloat. Example:
"--enable-mpi-ext=foo,bar" will enable building the
MPI extensions "foo" and "bar". If LIST is empty or
the special value "all", then all available MPI
extensions will be built (default: all).
--enable-visibility enable visibility feature of certain
compilers/linkers (default: enabled)
--enable-fast-install[=PKGS]
optimize for fast installation [default=yes]
--disable-libtool-lock avoid locking (might break parallel builds)
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-platform-patches-dir=DIR
Location of the platform patches directory. If you
use this option, you must also use --with-platform.
--with-platform=FILE Load options for build from FILE. Options on the
command line not in FILE are used. Options on the
command line and in FILE are replaced by what is in
FILE.
--with-libnl(=DIR) Directory prefix for libnlv3 (typically only
necessary if libnl is installed in a location that
the compiler/linker will not search by default)
--with-libnl-libdir=DIR Directory prefix for libnlv3 libs(typically only
necessary if libnl is installed in a location that
the compiler/linker will not search by default)
--with-pmi(=DIR) *DELETED* Build PMI support, optionally adding DIR
to the search path (default: no)
--with-pmi-libdir=DIR *DELETED* Look for libpmi or libpmi2 in the given
directory DIR, DIR/lib or DIR/lib64
--with-devel-headers normal MPI users/applications do not need this
(mpi.h and mpif.h are ALWAYS installed). Developer
headers are only necessary for MCA module authors
(default: disabled).
--with-show-load-errors Set the default value for the MCA parameter
mca_base_component_show_load_errors (but can be
overridden at run time by the usual
MCA-variable-setting mechansism). (default: "all")
--with-cross=FILE Specify configure values that can not be determined
in a cross-compilation environment. See the Open MPI
FAQ.
--with-package-string=STRING
Use a branding string throughout Open MPI
--with-ident-string=STRING
Embed an ident string into Open MPI object files
--with-dst-checksum Use an alternative checksum algorithm for messages
--with-max-processor-name=VALUE
maximum length of processor names. VALUE argument
has to be specified (default: [256]).
--with-max-error-string=VALUE
maximum length of error strings. VALUE argument has
to be specified (default: [256]).
--with-max-object-name=VALUE
maximum length of object names. VALUE argument has
to be specified (default: [64]).
--with-max-info-key=VALUE
maximum length of info keys. VALUE argument has to
be specified (default: [36]).
--with-max-info-val=VALUE
maximum length of info vals. VALUE argument has to
be specified (default: [256]).
--with-max-port-name=VALUE
maximum length of port names. VALUE argument has to
be specified (default: [1024]).
--with-max-datarep-string=VALUE
maximum length of datarep strings. VALUE argument
has to be specified (default: [128]).
--with-max-pset-name-len=VALUE
maximum length of pset name lens. VALUE argument has
to be specified (default: [512]).
--with-max-stringtag-len=VALUE
maximum length of stringtag lens. VALUE argument has
to be specified (default: [1024]).
--with-mpi-moduledir specify where to install Fortran MPI modules
(default: $libdir)
--with-mpi-param-check(=VALUE)
behavior of MPI function parameter checking. Valid
values are: always, never, runtime. If
--with-mpi-param-check is specified with no VALUE
argument, it is equivalent to a VALUE of "always";
--without-mpi-param-check is equivalent to "never"
(default: runtime).
--with-libmpi-name=STRING
"Replace \"libmpi(_FOO)\" with \"libSTRING(_FOO)\"
(default=mpi)"
--with-oshmem-param-check(=VALUE)
behavior of OSHMEM API function parameter checking.
Valid values are: always, never. If
--with-oshmem-param-check is specified with no VALUE
argument, it is equivalent to a VALUE of "always";
--without-oshmem-param-check is equivalent to
"never" (default: always).
--with-jdk-dir(=DIR) Location of the JDK header directory. If you use
this option, do not specify --with-jdk-bindir or
--with-jdk-headers.
--with-jdk-bindir(=DIR) Location of the JDK bin directory. If you use this
option, you must also use --with-jdk-headers (and
you must NOT use --with-jdk-dir)
--with-jdk-headers(=DIR)
Location of the JDK header directory. If you use
this option, you must also use --with-jdk-bindir
(and you must NOT use --with-jdk-dir)
--with-wrapper-cc=path Set a different wrapper C compiler than the one used
to build Open MPI
--with-wrapper-cflags Extra flags to add to CFLAGS when using mpicc
--with-wrapper-cflags-prefix
Extra flags (before user flags) to add to CFLAGS
when using mpicc
--with-wrapper-cxxflags Extra flags to add to CXXFLAGS when using
mpiCC/mpic++
--with-wrapper-cxxflags-prefix
Extra flags to add to CXXFLAGS when using
mpiCC/mpic++
--with-wrapper-fcflags Extra flags to add to FCFLAGS when using mpifort
--with-wrapper-fcflags-prefix
Extra flags (before user flags) to add to FCFLAGS
when using mpifort
--with-wrapper-ldflags Extra flags to add to LDFLAGS when using wrapper
compilers
--with-wrapper-libs Extra flags to add to LIBS when using wrapper
compilers
--with-broken-qsort Build with FreeBSD qsort instead of native qsort
(default: no)
--with-cs-fs Destination FS is case sensitive (default: set to
value of the build FS's case sensitivity)
--with-ft=TYPE Specify the type of fault tolerance to enable.
Options: mpi (ULFM), (default: mpi)
--with-libevent(=DIR) Build libevent support. DIR can take one of three
values: "internal", "external", or a valid directory
name. "internal" forces Open MPI to use its internal
copy of libevent. "external" forces Open MPI to use
an external installation of libevent. Supplying a
valid directory name also forces Open MPI to use an
external installation of libevent, and adds
DIR/include, DIR/lib, and DIR/lib64 to the search
path for headers and libraries. Note that Open MPI
no longer supports --without-libevent. If no
argument is specified, Open MPI will search default
locations for libevent and fall back to an internal
version if one is not found.
--with-libevent-libdir=DIR
Search for libevent libraries in DIR. Should only be
used if an external copy of libevent is being used.
--with-hwloc(=DIR) Build hwloc support. DIR can take one of three
values: "internal", "external", or a valid directory
name. "internal" forces Open MPI to use its internal
copy of hwloc. "external" forces Open MPI to use an
external installation of hwloc. Supplying a valid
directory name also forces Open MPI to use an
external installation of hwloc, and adds
DIR/include, DIR/lib, and DIR/lib64 to the search
path for headers and libraries. Note that Open MPI
no longer supports --without-hwloc. If no argument
is specified, Open MPI will search default locations
for hwloc and fall back to an internal version if
one is not found.
--with-hwloc-libdir=DIR Search for hwloc libraries in DIR. Should only be
used if an external copy of hwloc is being used.
--with-pmix(=DIR) Build pmix support. DIR can take one of three
values: "internal", "external", or a valid directory
name. "internal" forces Open MPI to use its internal
copy of pmix. "external" forces Open MPI to use an
external installation of pmix. Supplying a valid
directory name also forces Open MPI to use an
external installation of pmix, and adds DIR/include,
DIR/lib, and DIR/lib64 to the search path for
headers and libraries. Note that Open MPI no longer
supports --without-pmix. If no argument is
specified, Open MPI will search default locations
for pmix and fall back to an internal version if one
is not found.
--with-pmix-libdir=DIR Search for pmix libraries in DIR. Should only be
used if an external copy of pmix is being used.
--with-pmix-package-string=STRING
Use a branding string throughout PMIx
--with-pmix-headers Install the PMIx header files (pmix.h and friends)
(default: enabled)
--with-tests-examples Whether or not to install the tests and example
programs.
--with-alps-libdir=DIR Location of alps libraries (alpslli, alpsutil)
(default: /usr/lib/alps
(/opt/cray/xe-sysroot/default/user on eslogin
nodes))
--with-alps(=DIR|yes|no)
Build with ALPS scheduler component, optionally
adding DIR/include, DIR/lib, and DIR/lib64 to the
search path for headers and libraries (default:
auto)
--with-curl(=DIR) Build curl support (default=no), optionally adding
DIR/include, DIR/lib, and DIR/lib64 to the search
path for headers and libraries
--with-curl-libdir=DIR Search for Curl libraries in DIR
--with-jansson(=DIR) Build jansson support (default=no), optionally
adding DIR/include, DIR/lib, and DIR/lib64 to the
search path for headers and libraries
--with-jansson-libdir=DIR
Search for Jansson libraries in DIR
--with-slurm Build SLURM scheduler component (default: yes)
--with-pmix-platform-patches-dir=DIR
Location of the platform patches directory. If you
use this option, you must also use --with-platform.
--with-pmix-platform=FILE
Load options for build from FILE. Options on the
command line not in FILE are used. Options on the
command line and in FILE are replaced by what is in
FILE.
--with-hwloc=DIR Search for hwloc headers and libraries in DIR
--with-hwloc-libdir=DIR Search for hwloc libraries in DIR
--with-hwloc-extra-libs=LIBS
Add LIBS as dependencies of hwloc
--with-libev=DIR Search for libev headers and libraries in DIR
--with-libev-libdir=DIR Search for libev libraries in DIR
--with-libev-extra-libs=LIBS
Add LIBS as dependencies of Libev
--with-libevent-extra-libs=LIBS
Add LIBS as dependencies of Libevent
--with-zlib=DIR Search for zlib headers and libraries in DIR
--with-zlib-libdir=DIR Search for zlib libraries in DIR
--with-simptest Include simptest fabric support
--with-slingshot Include Slingshot fabric support
--with-cxi(=DIR) Include CXI service library support, optionally
adding DIR/include, DIR/include/cxi, DIR/lib, and
DIR/lib64 to the search path for headers and
libraries
--with-cxi-libdir=DIR Search for CXI libraries in DIR
--with-pbs Build PBS scheduler component (default: yes)
--with-munge=DIR Search for munge headers and libraries in DIR
--with-munge-libdir=DIR Search for munge libraries in DIR
--with-prrte(=DIR) Build prrte support. DIR can take one of four
values: "internal", "external", "no", or a valid
directory name. "internal" forces Open MPI to use
its internal copy of prrte. "external" forces Open
MPI to use an external installation of prrte.
Supplying a valid directory name also forces Open
MPI to use an external installation of prrte, and
adds DIR/include, DIR/lib, and DIR/lib64 to the
search path for headers and libraries. "no" means
that Open MPI will not build components that require
this package. If no argument is specified, Open MPI
will search default locations for prrte and fall
back to an internal version if one is not found.
--with-prrte-libdir=DIR Search for prrte libraries in DIR. Should only be
used if an external copy of prrte is being used.
--with-prrte-bindir=DIR Search for PRRTE binaries in DIR. Defaults to
PRRTE_DIR/bin if not specified
--with-lsf(=DIR) Build LSF support
--with-lsf-libdir=DIR Search for LSF libraries in DIR
--with-moab Build MOAB scheduler component (default: yes)
--with-moab-libdir=DIR Search for Moab libraries in DIR
--with-sge Build SGE or Grid Engine support (default: no)
--with-singularity(=DIR)
Build support for the Singularity container,
optionally adding DIR to the search path
--with-tm(=DIR) Build TM (Torque, PBSPro, and compatible) support,
optionally adding DIR/include, DIR/lib, and
DIR/lib64 to the search path for headers and
libraries
--with-tm-libdir=DIR Search for Torque libraries in DIR
--with-proxy-version-string
Return the provided string when prte is used in
proxy mode and the version is requested
--with-proxy-package-name
Return the provided string when prte is used in
proxy mode and the package name is requested
--with-proxy-bugreport Return the provided string when prte is used in
proxy mode and the PACKAGE_BUGREPORT is requested
--with-prte-platform-patches-dir=DIR
Location of the platform patches directory. If you
use this option, you must also use --with-platform.
--with-prte-platform=FILE
Load options for build from FILE. Options on the
command line not in FILE are used. Options on the
command line and in FILE are replaced by what is in
FILE.
--with-pmix-extra-libs=LIBS
Add LIBS as dependencies of pmix
--with-libfabric=DIR Deprecated synonym for --with-ofi
--with-libfabric-libdir=DIR
Deprecated synonym for --with-ofi-libdir
--with-ofi=DIR Specify location of OFI libfabric installation,
adding DIR/include to the default search location
for libfabric headers, and DIR/lib or DIR/lib64 to
the default search location for libfabric libraries.
Error if libfabric support cannot be found.
--with-ofi-libdir=DIR Search for OFI libfabric libraries in DIR
--with-ucx(=DIR) Build with Unified Communication X library support
--with-ucx-libdir=DIR Search for Unified Communication X libraries in DIR
--with-cuda(=DIR) Build cuda support, optionally adding DIR/include
--with-cuda-libdir=DIR Search for CUDA libraries in DIR
--with-rocm(=DIR) Build ROCm support, optionally adding DIR/include,
DIR/lib, and DIR/lib64 to the search path for
headers and libraries
--with-portals4(=DIR) Build Portals4 support, optionally adding
DIR/include, DIR/lib, and DIR/lib64 to the search
path for headers and libraries
--with-portals4-libdir=DIR
Search for Portals4 libraries in DIR
--with-portals4-max-md-size=SIZE
Log base 2 of the maximum size in bytes of a memory
descriptor. Should only be set for implementations
which do not support binding all of virtual address
space.
--with-portals4-max-va-size=SIZE
Log base 2 of the maximum size in bytes of the user
virtual address space. Should only be set for
implementations which do not support binding all of
virtual address space.
--with-ugni Build support for Cray GNI. Set PKG_CONFIG_PATH env.
variable to specify alternate path.
--with-usnic If specified, cause an error if usNIC support cannot
be built
--with-libltdl(=DIR) Build libltdl support, optionally adding
DIR/include, DIR/lib, and DIR/lib64 to the search
path for headers and libraries
--with-libltdl-libdir=DIR
Search for libltdl libraries in DIR
--with-valgrind(=DIR) Directory where the valgrind software is installed
--with-memory-manager=TYPE
Use TYPE for intercepting memory management calls to
control memory pinning.
--with-memkind(=DIR) ,
Build with MEMKIND, searching for headers in DIR)
--with-udreg Build support for Cray udreg support. Set
PKG_CONFIG_PATH env. variable to specify alternate
path.
--with-cma Build Cross Memory Attach support (default:
autodetect)
--with-knem(=DIR) Build knem Linux kernel module support, searching
for headers in DIR/include
--with-cray-xpmem(=yes/no)
Build Cray XPMEM support(default: auto)
--with-xpmem(=DIR) Build with XPMEM kernel module support, searching
for headers in DIR
--with-xpmem-libdir=DIR Search for XPMEM library in DIR
--with-threads=TYPE Specify thread TYPE to use. default:pthreads. Other
options are qthreads and argobots.
--with-argobots=DIR Specify location of argobots installation. Error if
argobots support cannot be found.
--with-argobots-libdir=DIR
Search for argobots libraries in DIR
--with-qthreads=DIR Specify location of qthreads installation. Error if
qthreads support cannot be found.
--with-qthreads-libdir=DIR
Search for qthreads libraries in DIR
--with-timer=TYPE Build high resolution timer component TYPE
--with-hcoll(=DIR) Build hcoll (Mellanox Hierarchical Collectives)
support, optionally adding DIR/include and DIR/lib
or DIR/lib64 to the search path for headers and
libraries
--with-ucc(=DIR) Build UCC (Unified Collective Communication)
--with-ime(=DIR) Build IME support, optionally adding DIR/include,
DIR/lib, and DIR/lib64 to the search path for
headers and libraries
--with-pvfs2(=DIR) Build Pvfs2 support, optionally adding DIR/include,
DIR/lib, and DIR/lib64 to the search path for
headers and libraries
--with-gpfs(=DIR) Build Gpfs support, optionally adding DIR/include,
DIR/lib, and DIR/lib64 to the search path for
headers and libraries
--with-lustre(=DIR) Build Lustre support, optionally adding DIR/include,
DIR/lib, and DIR/lib64 to the search path for
headers and libraries
--with-io-romio-flags=FLAGS
Pass FLAGS to the ROMIO distribution configuration
script
--with-psm2(=DIR) Build PSM2 (Intel PSM2) support, optionally adding
DIR/include, DIR/lib, and DIR/lib64 to the search
path for headers and libraries
--with-psm2-libdir=DIR Search for PSM (Intel PSM2) libraries in DIR
--with-pml-ob1-matching=type
Configure pml/ob1 to use an alternate matching
engine. Only valid on x86_64 systems. Valid values
are: none, default, arrays, fuzzy-byte, fuzzy-short,
fuzzy-word, vector (default: none)
--with-treematch Build TreeMatch topology support. Building against
an external TreeMatch is no longer supported, so
valid values are "yes" or "no".
--with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use
both]
--with-aix-soname=aix|svr4|both
shared library versioning (aka "SONAME") variant to
provide on AIX, [default=aix].
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
--with-sysroot[=DIR] Search for dependent libraries within DIR (or the
compiler's sysroot if not specified).
Some influential environment variables:
CC C compiler command
CFLAGS C compiler flags
LDFLAGS linker flags, e.g. -L if you have libraries in a
nonstandard directory
LIBS libraries to pass to the linker, e.g. -l
CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if
you have headers in a nonstandard directory
CXX C++ compiler command
CXXFLAGS C++ compiler flags
CXXCPP C++ preprocessor
CCAS assembler compiler command (defaults to CC)
CCASFLAGS assembler compiler flags (defaults to CFLAGS)
FC Fortran compiler command
FCFLAGS Fortran compiler flags
CPP C preprocessor
PKG_CONFIG path to pkg-config utility
PKG_CONFIG_PATH
directories to add to pkg-config's search path
PKG_CONFIG_LIBDIR
path overriding pkg-config's built-in search path
CRAY_UGNI_CFLAGS
C compiler flags for CRAY_UGNI, overriding pkg-config
CRAY_UGNI_LIBS
linker flags for CRAY_UGNI, overriding pkg-config
CRAY_UDREG_CFLAGS
C compiler flags for CRAY_UDREG, overriding pkg-config
CRAY_UDREG_LIBS
linker flags for CRAY_UDREG, overriding pkg-config
CRAY_XPMEM_CFLAGS
C compiler flags for CRAY_XPMEM, overriding pkg-config
CRAY_XPMEM_LIBS
linker flags for CRAY_XPMEM, overriding pkg-config
CRAY_XPMEM_STATIC_LIBS
static linker flags for CRAY_XPMEM, overriding pkg-config
LT_SYS_LIBRARY_PATH
User-defined run-time library search path.
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
Report bugs to .
_ACEOF
ac_status=$?
fi
if test "$ac_init_help" = "recursive"; then
# If there are subdirs, report their specific --help.
for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
test -d "$ac_dir" ||
{ cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
continue
ac_builddir=.
case "$ac_dir" in
.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
*)
ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'`
# A ".." for each directory in $ac_dir_suffix.
ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
case $ac_top_builddir_sub in
"") ac_top_builddir_sub=. ac_top_build_prefix= ;;
*) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
esac ;;
esac
ac_abs_top_builddir=$ac_pwd
ac_abs_builddir=$ac_pwd$ac_dir_suffix
# for backward compatibility:
ac_top_builddir=$ac_top_build_prefix
case $srcdir in
.) # We are building in place.
ac_srcdir=.
ac_top_srcdir=$ac_top_builddir_sub
ac_abs_top_srcdir=$ac_pwd ;;
[\\/]* | ?:[\\/]* ) # Absolute name.
ac_srcdir=$srcdir$ac_dir_suffix;
ac_top_srcdir=$srcdir
ac_abs_top_srcdir=$srcdir ;;
*) # Relative name.
ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
ac_top_srcdir=$ac_top_build_prefix$srcdir
ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
esac
ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
cd "$ac_dir" || { ac_status=$?; continue; }
# Check for configure.gnu first; this name is used for a wrapper for
# Metaconfig's "Configure" on case-insensitive file systems.
if test -f "$ac_srcdir/configure.gnu"; then
echo &&
$SHELL "$ac_srcdir/configure.gnu" --help=recursive
elif test -f "$ac_srcdir/configure"; then
echo &&
$SHELL "$ac_srcdir/configure" --help=recursive
else
printf "%s\n" "$as_me: WARNING: no configuration information is in $ac_dir" >&2
fi || ac_status=$?
cd "$ac_pwd" || { ac_status=$?; break; }
done
fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
Open MPI configure 5.0.5
generated by GNU Autoconf 2.71
Copyright (C) 2021 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
## ------------------------ ##
## Autoconf initialization. ##
## ------------------------ ##
# 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 conftest.beam
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\""
printf "%s\n" "$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
printf "%s\n" "$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_nop
printf "%s\n" "$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_compile
# 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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
printf %s "checking for $2... " >&6; }
if eval test \${$3+y}
then :
printf %s "(cached) " >&6
else $as_nop
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 $as_nop
eval "$3=no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
eval ac_res=\$$3
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_header_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.beam 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\""
printf "%s\n" "$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
printf "%s\n" "$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_nop
printf "%s\n" "$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_type LINENO TYPE VAR INCLUDES
# -------------------------------------------
# Tests whether TYPE exists after having included INCLUDES, setting cache
# variable VAR accordingly.
ac_fn_c_check_type ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
printf %s "checking for $2... " >&6; }
if eval test \${$3+y}
then :
printf %s "(cached) " >&6
else $as_nop
eval "$3=no"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$4
int
main (void)
{
if (sizeof ($2))
return 0;
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$4
int
main (void)
{
if (sizeof (($2)))
return 0;
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
else $as_nop
eval "$3=yes"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
eval ac_res=\$$3
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_type
# ac_fn_c_try_run LINENO
# ----------------------
# Try to run 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\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_link") 2>&5
ac_status=$?
printf "%s\n" "$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\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_try") 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }
then :
ac_retval=0
else $as_nop
printf "%s\n" "$as_me: program exited with status $ac_status" >&5
printf "%s\n" "$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 (void)
{
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 (void)
{
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_nop
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.beam conftest.$ac_ext
done
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$4
int
main (void)
{
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 (void)
{
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_nop
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.beam conftest.$ac_ext
done
else $as_nop
ac_lo= ac_hi=
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam 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 (void)
{
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_nop
as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam 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 (void) { return $2; }
static unsigned long int ulongval (void) { return $2; }
#include
#include
int
main (void)
{
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_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
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext
then :
ac_retval=0
else $as_nop
printf "%s\n" "$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_cxx_try_compile
# ac_fn_cxx_try_cpp LINENO
# ------------------------
# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
ac_fn_cxx_try_cpp ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
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:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&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
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } > conftest.i && {
test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
test ! -s conftest.err
}
then :
ac_retval=0
else $as_nop
printf "%s\n" "$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_cxx_try_cpp
# ac_fn_cxx_try_link LINENO
# -------------------------
# Try to link conftest.$ac_ext, and return whether this succeeded.
ac_fn_cxx_try_link ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
rm -f conftest.$ac_objext conftest.beam 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\""
printf "%s\n" "$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
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } && {
test -z "$ac_cxx_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_nop
printf "%s\n" "$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_cxx_try_link
# ac_fn_fc_try_compile LINENO
# ---------------------------
# Try to compile conftest.$ac_ext, and return whether this succeeded.
ac_fn_fc_try_compile ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
rm -f conftest.$ac_objext conftest.beam
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\""
printf "%s\n" "$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
printf "%s\n" "$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_nop
printf "%s\n" "$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_fc_try_compile
# 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.beam 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\""
printf "%s\n" "$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
printf "%s\n" "$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_nop
printf "%s\n" "$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_fc_try_run LINENO
# -----------------------
# Try to run conftest.$ac_ext, and return whether this succeeded. Assumes that
# executables *can* be run.
ac_fn_fc_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\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_link") 2>&5
ac_status=$?
printf "%s\n" "$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\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_try") 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }
then :
ac_retval=0
else $as_nop
printf "%s\n" "$as_me: program exited with status $ac_status" >&5
printf "%s\n" "$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_fc_try_run
# ac_fn_check_decl LINENO SYMBOL VAR INCLUDES EXTRA-OPTIONS FLAG-VAR
# ------------------------------------------------------------------
# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
# accordingly. Pass EXTRA-OPTIONS to the compiler, using FLAG-VAR.
ac_fn_check_decl ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
as_decl_name=`echo $2|sed 's/ *(.*//'`
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
printf %s "checking whether $as_decl_name is declared... " >&6; }
if eval test \${$3+y}
then :
printf %s "(cached) " >&6
else $as_nop
as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
eval ac_save_FLAGS=\$$6
as_fn_append $6 " $5"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$4
int
main (void)
{
#ifndef $as_decl_name
#ifdef __cplusplus
(void) $as_decl_use;
#else
(void) $as_decl_name;
#endif
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
eval "$3=yes"
else $as_nop
eval "$3=no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
eval $6=\$ac_save_FLAGS
fi
eval ac_res=\$$3
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_check_decl
# ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES
# ----------------------------------------------------
# Tries to find if the field MEMBER exists in type AGGR, after including
# INCLUDES, setting cache variable VAR accordingly.
ac_fn_c_check_member ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
printf %s "checking for $2.$3... " >&6; }
if eval test \${$4+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$5
int
main (void)
{
static $2 ac_aggr;
if (ac_aggr.$3)
return 0;
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
eval "$4=yes"
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$5
int
main (void)
{
static $2 ac_aggr;
if (sizeof ac_aggr.$3)
return 0;
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
eval "$4=yes"
else $as_nop
eval "$4=no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
eval ac_res=\$$4
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_member
# ac_fn_c_try_cpp LINENO
# ----------------------
# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
ac_fn_c_try_cpp ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
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:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&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
printf "%s\n" "$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_nop
printf "%s\n" "$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_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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
printf %s "checking for $2... " >&6; }
if eval test \${$3+y}
then :
printf %s "(cached) " >&6
else $as_nop
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. */
#include
#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 (void)
{
return $2 ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
eval "$3=yes"
else $as_nop
eval "$3=no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
fi
eval ac_res=\$$3
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_func
ac_configure_args_raw=
for ac_arg
do
case $ac_arg in
*\'*)
ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
as_fn_append ac_configure_args_raw " '$ac_arg'"
done
case $ac_configure_args_raw in
*$as_nl*)
ac_safe_unquote= ;;
*)
ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab.
ac_unsafe_a="$ac_unsafe_z#~"
ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g"
ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;;
esac
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 Open MPI $as_me 5.0.5, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
_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
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
printf "%s\n" "PATH: $as_dir"
done
IFS=$as_save_IFS
} >&5
cat >&5 <<_ACEOF
## ----------- ##
## Core tests. ##
## ----------- ##
_ACEOF
# Keep a trace of the command line.
# Strip out --no-create and --no-recursion so they do not pile up.
# Strip out --silent because we don't want to record it for future runs.
# Also quote any args containing shell meta-characters.
# Make two passes to allow for proper duplicate-argument suppression.
ac_configure_args=
ac_configure_args0=
ac_configure_args1=
ac_must_keep_next=false
for ac_pass in 1 2
do
for ac_arg
do
case $ac_arg in
-no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
continue ;;
*\'*)
ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
case $ac_pass in
1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
2)
as_fn_append ac_configure_args1 " '$ac_arg'"
if test $ac_must_keep_next = true; then
ac_must_keep_next=false # Got value, back to normal.
else
case $ac_arg in
*=* | --config-cache | -C | -disable-* | --disable-* \
| -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
| -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
| -with-* | --with-* | -without-* | --without-* | --x)
case "$ac_configure_args0 " in
"$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
esac
;;
-* ) ac_must_keep_next=true ;;
esac
fi
as_fn_append ac_configure_args " '$ac_arg'"
;;
esac
done
done
{ ac_configure_args0=; unset ac_configure_args0;}
{ ac_configure_args1=; unset ac_configure_args1;}
# When interrupted or exit'd, cleanup temporary files, and complete
# config.log. We remove comments because anyway the quotes in there
# would cause problems or look ugly.
# WARNING: Use '\'' to represent an apostrophe within the trap.
# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
trap 'exit_status=$?
# Sanitize IFS.
IFS=" "" $as_nl"
# Save into config.log some information that might help in debugging.
{
echo
printf "%s\n" "## ---------------- ##
## Cache variables. ##
## ---------------- ##"
echo
# The following way of writing the cache mishandles newlines in values,
(
for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
eval ac_val=\$$ac_var
case $ac_val in #(
*${as_nl}*)
case $ac_var in #(
*_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
printf "%s\n" "$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;} ;;
esac ;;
esac
done
(set) 2>&1 |
case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
*${as_nl}ac_space=\ *)
sed -n \
"s/'\''/'\''\\\\'\'''\''/g;
s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
;; #(
*)
sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
;;
esac |
sort
)
echo
printf "%s\n" "## ----------------- ##
## Output variables. ##
## ----------------- ##"
echo
for ac_var in $ac_subst_vars
do
eval ac_val=\$$ac_var
case $ac_val in
*\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
esac
printf "%s\n" "$ac_var='\''$ac_val'\''"
done | sort
echo
if test -n "$ac_subst_files"; then
printf "%s\n" "## ------------------- ##
## File substitutions. ##
## ------------------- ##"
echo
for ac_var in $ac_subst_files
do
eval ac_val=\$$ac_var
case $ac_val in
*\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
esac
printf "%s\n" "$ac_var='\''$ac_val'\''"
done | sort
echo
fi
if test -s confdefs.h; then
printf "%s\n" "## ----------- ##
## confdefs.h. ##
## ----------- ##"
echo
cat confdefs.h
echo
fi
test "$ac_signal" != 0 &&
printf "%s\n" "$as_me: caught signal $ac_signal"
printf "%s\n" "$as_me: exit $exit_status"
} >&5
rm -f core *.core core.conftest.* &&
rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
exit $exit_status
' 0
for ac_signal in 1 2 13 15; do
trap 'ac_signal='$ac_signal'; as_fn_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
printf "%s\n" "/* confdefs.h */" > confdefs.h
# Predefined preprocessor variables.
printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h
printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h
printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h
printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h
printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h
printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h
# Let the site file select an alternate cache file if it wants to.
# Prefer an explicitly selected file to automatically selected ones.
if test -n "$CONFIG_SITE"; then
ac_site_files="$CONFIG_SITE"
elif test "x$prefix" != xNONE; then
ac_site_files="$prefix/share/config.site $prefix/etc/config.site"
else
ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
fi
for ac_site_file in $ac_site_files
do
case $ac_site_file in #(
*/*) :
;; #(
*) :
ac_site_file=./$ac_site_file ;;
esac
if test -f "$ac_site_file" && test -r "$ac_site_file"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;}
sed 's/^/| /' "$ac_site_file" >&5
. "$ac_site_file" \
|| { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$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; }
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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
printf "%s\n" "$as_me: loading cache $cache_file" >&6;}
case $cache_file in
[\\/]* | ?:[\\/]* ) . "$cache_file";;
*) . "./$cache_file";;
esac
fi
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
printf "%s\n" "$as_me: creating cache $cache_file" >&6;}
>$cache_file
fi
as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H"
# Test code for whether the C compiler supports C89 (global declarations)
ac_c_conftest_c89_globals='
/* Does the compiler advertise C89 conformance?
Do not test the value of __STDC__, because some compilers set it to 0
while being otherwise adequately conformant. */
#if !defined __STDC__
# error "Compiler does not advertise C89 conformance"
#endif
#include
#include
struct stat;
/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */
struct buf { int x; };
struct buf * (*rcsopen) (struct buf *, struct stat *, int);
static char *e (p, i)
char **p;
int i;
{
return p[i];
}
static char *f (char * (*g) (char **, int), char **p, ...)
{
char *s;
va_list v;
va_start (v,p);
s = g (p, va_arg (v,int));
va_end (v);
return s;
}
/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
function prototypes and stuff, but not \xHH hex character constants.
These do not provoke an error unfortunately, instead are silently treated
as an "x". The following induces an error, until -std is added to get
proper ANSI mode. Curiously \x00 != x always comes out true, for an
array size at least. It is necessary to write \x00 == 0 to get something
that is true only with -std. */
int osf4_cc_array ['\''\x00'\'' == 0 ? 1 : -1];
/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
inside strings and character constants. */
#define FOO(x) '\''x'\''
int xlc6_cc_array[FOO(a) == '\''x'\'' ? 1 : -1];
int test (int i, double x);
struct s1 {int (*f) (int a);};
struct s2 {int (*f) (double a);};
int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int),
int, int);'
# Test code for whether the C compiler supports C89 (body of main).
ac_c_conftest_c89_main='
ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
'
# Test code for whether the C compiler supports C99 (global declarations)
ac_c_conftest_c99_globals='
// Does the compiler advertise C99 conformance?
#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L
# error "Compiler does not advertise C99 conformance"
#endif
#include
extern int puts (const char *);
extern int printf (const char *, ...);
extern int dprintf (int, const char *, ...);
extern void *malloc (size_t);
// Check varargs macros. These examples are taken from C99 6.10.3.5.
// dprintf is used instead of fprintf to avoid needing to declare
// FILE and stderr.
#define debug(...) dprintf (2, __VA_ARGS__)
#define showlist(...) puts (#__VA_ARGS__)
#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
static void
test_varargs_macros (void)
{
int x = 1234;
int y = 5678;
debug ("Flag");
debug ("X = %d\n", x);
showlist (The first, second, and third items.);
report (x>y, "x is %d but y is %d", x, y);
}
// Check long long types.
#define BIG64 18446744073709551615ull
#define BIG32 4294967295ul
#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
#if !BIG_OK
#error "your preprocessor is broken"
#endif
#if BIG_OK
#else
#error "your preprocessor is broken"
#endif
static long long int bignum = -9223372036854775807LL;
static unsigned long long int ubignum = BIG64;
struct incomplete_array
{
int datasize;
double data[];
};
struct named_init {
int number;
const wchar_t *name;
double average;
};
typedef const char *ccp;
static inline int
test_restrict (ccp restrict text)
{
// See if C++-style comments work.
// Iterate through items via the restricted pointer.
// Also check for declarations in for loops.
for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i)
continue;
return 0;
}
// Check varargs and va_copy.
static bool
test_varargs (const char *format, ...)
{
va_list args;
va_start (args, format);
va_list args_copy;
va_copy (args_copy, args);
const char *str = "";
int number = 0;
float fnumber = 0;
while (*format)
{
switch (*format++)
{
case '\''s'\'': // string
str = va_arg (args_copy, const char *);
break;
case '\''d'\'': // int
number = va_arg (args_copy, int);
break;
case '\''f'\'': // float
fnumber = va_arg (args_copy, double);
break;
default:
break;
}
}
va_end (args_copy);
va_end (args);
return *str && number && fnumber;
}
'
# Test code for whether the C compiler supports C99 (body of main).
ac_c_conftest_c99_main='
// Check bool.
_Bool success = false;
success |= (argc != 0);
// Check restrict.
if (test_restrict ("String literal") == 0)
success = true;
char *restrict newvar = "Another string";
// Check varargs.
success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234);
test_varargs_macros ();
// Check flexible array members.
struct incomplete_array *ia =
malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
ia->datasize = 10;
for (int i = 0; i < ia->datasize; ++i)
ia->data[i] = i * 1.234;
// Check named initializers.
struct named_init ni = {
.number = 34,
.name = L"Test wide string",
.average = 543.34343,
};
ni.number = 58;
int dynamic_array[ni.number];
dynamic_array[0] = argv[0][0];
dynamic_array[ni.number - 1] = 543;
// work around unused variable warnings
ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\''
|| dynamic_array[ni.number - 1] != 543);
'
# Test code for whether the C compiler supports C11 (global declarations)
ac_c_conftest_c11_globals='
// Does the compiler advertise C11 conformance?
#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L
# error "Compiler does not advertise C11 conformance"
#endif
// Check _Alignas.
char _Alignas (double) aligned_as_double;
char _Alignas (0) no_special_alignment;
extern char aligned_as_int;
char _Alignas (0) _Alignas (int) aligned_as_int;
// Check _Alignof.
enum
{
int_alignment = _Alignof (int),
int_array_alignment = _Alignof (int[100]),
char_alignment = _Alignof (char)
};
_Static_assert (0 < -_Alignof (int), "_Alignof is signed");
// Check _Noreturn.
int _Noreturn does_not_return (void) { for (;;) continue; }
// Check _Static_assert.
struct test_static_assert
{
int x;
_Static_assert (sizeof (int) <= sizeof (long int),
"_Static_assert does not work in struct");
long int y;
};
// Check UTF-8 literals.
#define u8 syntax error!
char const utf8_literal[] = u8"happens to be ASCII" "another string";
// Check duplicate typedefs.
typedef long *long_ptr;
typedef long int *long_ptr;
typedef long_ptr long_ptr;
// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1.
struct anonymous
{
union {
struct { int i; int j; };
struct { int k; long int l; } w;
};
int m;
} v1;
'
# Test code for whether the C compiler supports C11 (body of main).
ac_c_conftest_c11_main='
_Static_assert ((offsetof (struct anonymous, i)
== offsetof (struct anonymous, w.k)),
"Anonymous union alignment botch");
v1.i = 2;
v1.w.k = 5;
ok |= v1.i != 5;
'
# Test code for whether the C compiler supports C11 (complete).
ac_c_conftest_c11_program="${ac_c_conftest_c89_globals}
${ac_c_conftest_c99_globals}
${ac_c_conftest_c11_globals}
int
main (int argc, char **argv)
{
int ok = 0;
${ac_c_conftest_c89_main}
${ac_c_conftest_c99_main}
${ac_c_conftest_c11_main}
return ok;
}
"
# Test code for whether the C compiler supports C99 (complete).
ac_c_conftest_c99_program="${ac_c_conftest_c89_globals}
${ac_c_conftest_c99_globals}
int
main (int argc, char **argv)
{
int ok = 0;
${ac_c_conftest_c89_main}
${ac_c_conftest_c99_main}
return ok;
}
"
# Test code for whether the C compiler supports C89 (complete).
ac_c_conftest_c89_program="${ac_c_conftest_c89_globals}
int
main (int argc, char **argv)
{
int ok = 0;
${ac_c_conftest_c89_main}
return ok;
}
"
as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H"
as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H"
as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H"
as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H"
as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H"
as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H"
as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H"
as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H"
as_fn_append ac_header_c_list " wchar.h wchar_h HAVE_WCHAR_H"
as_fn_append ac_header_c_list " minix/config.h minix_config_h HAVE_MINIX_CONFIG_H"
# Test code for whether the C++ compiler supports C++98 (global declarations)
ac_cxx_conftest_cxx98_globals='
// Does the compiler advertise C++98 conformance?
#if !defined __cplusplus || __cplusplus < 199711L
# error "Compiler does not advertise C++98 conformance"
#endif
// These inclusions are to reject old compilers that
// lack the unsuffixed header files.
#include
#include
// and are *not* freestanding headers in C++98.
extern void assert (int);
namespace std {
extern int strcmp (const char *, const char *);
}
// Namespaces, exceptions, and templates were all added after "C++ 2.0".
using std::exception;
using std::strcmp;
namespace {
void test_exception_syntax()
{
try {
throw "test";
} catch (const char *s) {
// Extra parentheses suppress a warning when building autoconf itself,
// due to lint rules shared with more typical C programs.
assert (!(strcmp) (s, "test"));
}
}
template struct test_template
{
T const val;
explicit test_template(T t) : val(t) {}
template T add(U u) { return static_cast(u) + val; }
};
} // anonymous namespace
'
# Test code for whether the C++ compiler supports C++98 (body of main)
ac_cxx_conftest_cxx98_main='
assert (argc);
assert (! argv[0]);
{
test_exception_syntax ();
test_template tt (2.0);
assert (tt.add (4) == 6.0);
assert (true && !false);
}
'
# Test code for whether the C++ compiler supports C++11 (global declarations)
ac_cxx_conftest_cxx11_globals='
// Does the compiler advertise C++ 2011 conformance?
#if !defined __cplusplus || __cplusplus < 201103L
# error "Compiler does not advertise C++11 conformance"
#endif
namespace cxx11test
{
constexpr int get_val() { return 20; }
struct testinit
{
int i;
double d;
};
class delegate
{
public:
delegate(int n) : n(n) {}
delegate(): delegate(2354) {}
virtual int getval() { return this->n; };
protected:
int n;
};
class overridden : public delegate
{
public:
overridden(int n): delegate(n) {}
virtual int getval() override final { return this->n * 2; }
};
class nocopy
{
public:
nocopy(int i): i(i) {}
nocopy() = default;
nocopy(const nocopy&) = delete;
nocopy & operator=(const nocopy&) = delete;
private:
int i;
};
// for testing lambda expressions
template Ret eval(Fn f, Ret v)
{
return f(v);
}
// for testing variadic templates and trailing return types
template auto sum(V first) -> V
{
return first;
}
template auto sum(V first, Args... rest) -> V
{
return first + sum(rest...);
}
}
'
# Test code for whether the C++ compiler supports C++11 (body of main)
ac_cxx_conftest_cxx11_main='
{
// Test auto and decltype
auto a1 = 6538;
auto a2 = 48573953.4;
auto a3 = "String literal";
int total = 0;
for (auto i = a3; *i; ++i) { total += *i; }
decltype(a2) a4 = 34895.034;
}
{
// Test constexpr
short sa[cxx11test::get_val()] = { 0 };
}
{
// Test initializer lists
cxx11test::testinit il = { 4323, 435234.23544 };
}
{
// Test range-based for
int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3,
14, 19, 17, 8, 6, 20, 16, 2, 11, 1};
for (auto &x : array) { x += 23; }
}
{
// Test lambda expressions
using cxx11test::eval;
assert (eval ([](int x) { return x*2; }, 21) == 42);
double d = 2.0;
assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0);
assert (d == 5.0);
assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0);
assert (d == 5.0);
}
{
// Test use of variadic templates
using cxx11test::sum;
auto a = sum(1);
auto b = sum(1, 2);
auto c = sum(1.0, 2.0, 3.0);
}
{
// Test constructor delegation
cxx11test::delegate d1;
cxx11test::delegate d2();
cxx11test::delegate d3(45);
}
{
// Test override and final
cxx11test::overridden o1(55464);
}
{
// Test nullptr
char *c = nullptr;
}
{
// Test template brackets
test_template<::test_template> v(test_template(12));
}
{
// Unicode literals
char const *utf8 = u8"UTF-8 string \u2500";
char16_t const *utf16 = u"UTF-8 string \u2500";
char32_t const *utf32 = U"UTF-32 string \u2500";
}
'
# Test code for whether the C compiler supports C++11 (complete).
ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals}
${ac_cxx_conftest_cxx11_globals}
int
main (int argc, char **argv)
{
int ok = 0;
${ac_cxx_conftest_cxx98_main}
${ac_cxx_conftest_cxx11_main}
return ok;
}
"
# Test code for whether the C compiler supports C++98 (complete).
ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals}
int
main (int argc, char **argv)
{
int ok = 0;
${ac_cxx_conftest_cxx98_main}
return ok;
}
"
# Auxiliary files required by this configure script.
ac_aux_files="ltmain.sh compile missing install-sh config.guess config.sub"
# Locations in which to look for auxiliary files.
ac_aux_dir_candidates="${srcdir}/config"
# Search for a directory containing all of the required auxiliary files,
# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates.
# If we don't find one directory that contains all the files we need,
# we report the set of missing files from the *first* directory in
# $ac_aux_dir_candidates and give up.
ac_missing_aux_files=""
ac_first_candidate=:
printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
as_found=false
for as_dir in $ac_aux_dir_candidates
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
as_found=:
printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5
ac_aux_dir_found=yes
ac_install_sh=
for ac_aux in $ac_aux_files
do
# As a special case, if "install-sh" is required, that requirement
# can be satisfied by any of "install-sh", "install.sh", or "shtool",
# and $ac_install_sh is set appropriately for whichever one is found.
if test x"$ac_aux" = x"install-sh"
then
if test -f "${as_dir}install-sh"; then
printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5
ac_install_sh="${as_dir}install-sh -c"
elif test -f "${as_dir}install.sh"; then
printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5
ac_install_sh="${as_dir}install.sh -c"
elif test -f "${as_dir}shtool"; then
printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5
ac_install_sh="${as_dir}shtool install -c"
else
ac_aux_dir_found=no
if $ac_first_candidate; then
ac_missing_aux_files="${ac_missing_aux_files} install-sh"
else
break
fi
fi
else
if test -f "${as_dir}${ac_aux}"; then
printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5
else
ac_aux_dir_found=no
if $ac_first_candidate; then
ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}"
else
break
fi
fi
fi
done
if test "$ac_aux_dir_found" = yes; then
ac_aux_dir="$as_dir"
break
fi
ac_first_candidate=false
as_found=false
done
IFS=$as_save_IFS
if $as_found
then :
else $as_nop
as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$LINENO" 5
fi
# These three variables are undocumented and unsupported,
# and are intended to be withdrawn in a future Autoconf release.
# They can cause serious problems if a builder's source tree is in a directory
# whose full name contains unusual characters.
if test -f "${ac_aux_dir}config.guess"; then
ac_config_guess="$SHELL ${ac_aux_dir}config.guess"
fi
if test -f "${ac_aux_dir}config.sub"; then
ac_config_sub="$SHELL ${ac_aux_dir}config.sub"
fi
if test -f "$ac_aux_dir/configure"; then
ac_configure="$SHELL ${ac_aux_dir}configure"
fi
# Check that the precious variables saved in the cache have kept the same
# value.
ac_cache_corrupted=false
for ac_var in $ac_precious_vars; do
eval ac_old_set=\$ac_cv_env_${ac_var}_set
eval ac_new_set=\$ac_env_${ac_var}_set
eval ac_old_val=\$ac_cv_env_${ac_var}_value
eval ac_new_val=\$ac_env_${ac_var}_value
case $ac_old_set,$ac_new_set in
set,)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
ac_cache_corrupted=: ;;
,set)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
ac_cache_corrupted=: ;;
,);;
*)
if test "x$ac_old_val" != "x$ac_new_val"; then
# differences in whitespace do not lead to failure.
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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
ac_cache_corrupted=:
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
eval $ac_var=\$ac_old_val
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
printf "%s\n" "$as_me: current value: \`$ac_new_val'" >&2;}
fi;;
esac
# Pass precious variables to config.status.
if test "$ac_new_set" = set; then
case $ac_new_val in
*\'*) ac_arg=$ac_var=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
*) ac_arg=$ac_var=$ac_new_val ;;
esac
case " $ac_configure_args " in
*" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
*) as_fn_append ac_configure_args " '$ac_arg'" ;;
esac
fi
done
if $ac_cache_corrupted; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;}
as_fn_error $? "run \`${MAKE-make} distclean' and/or \`rm $cache_file'
and start over" "$LINENO" 5
fi
## -------------------- ##
## Main body of script. ##
## -------------------- ##
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
opal_var_scope_push()
{
opal_var_scope_push_lineno=$1
shift
# First, check to see if any of these variables are already set.
# This is a simple sanity check to ensure we're not already
# overwriting pre-existing variables (that have a non-empty
# value). It's not a perfect check, but at least it's something.
for opal_var_scope_tmp_var in $@; do
if eval test \${$opal_var_scope_tmp_var+y}
then :
eval opal_var_scope_tmp_var_val=\$$opal_var_scope_tmp_var
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Found configure shell variable clash at line $opal_var_scope_push_lineno!" >&5
printf "%s\n" "$as_me: WARNING: Found configure shell variable clash at line $opal_var_scope_push_lineno!" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: OPAL_VAR_SCOPE_PUSH called on \"$opal_var_scope_tmp_var\"," >&5
printf "%s\n" "$as_me: WARNING: OPAL_VAR_SCOPE_PUSH called on \"$opal_var_scope_tmp_var\"," >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: but it is already defined with value \"$opal_var_scope_tmp_var_val\"" >&5
printf "%s\n" "$as_me: WARNING: but it is already defined with value \"$opal_var_scope_tmp_var_val\"" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This usually indicates an error in configure." >&5
printf "%s\n" "$as_me: WARNING: This usually indicates an error in configure." >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
done
{ opal_var_scope_push_lineno=; unset opal_var_scope_push_lineno;}
{ opal_var_scope_tmp_var=; unset opal_var_scope_tmp_var;}
{ opal_var_scope_tmp_var_val=; unset opal_var_scope_tmp_var_val;}
}
opal_var_scope_pop()
{
# Iterate over all the variables and unset them all
for opal_var_scope_tmp_var in $@; do
{ eval $opal_var_scope_tmp_var=; unset $opal_var_scope_tmp_var;}
done
{ opal_var_scope_tmp_var=; unset opal_var_scope_tmp_var;}
}
# Capture configure command line do the AC substitution
opal_var_scope_push ${LINENO} sed_quote_subst arg quoted_arg
OPAL_CONFIGURE_CLI=
for arg in "$@"; do
sed_quote_subst='s/\([`"\\]\)/\\\1/g'
case "$arg" in
*[\\\`\"\$]*)
quoted_arg=\'`echo "$arg" | sed $sed_quote_subst`\' ;;
*)
quoted_arg="\'$arg\'" ;;
esac
eval "OPAL_CONFIGURE_CLI=\$OPAL_CONFIGURE_CLI\\ \$quoted_arg"
done
opal_var_scope_pop sed_quote_subst arg quoted_arg
# Get our platform support file. This has to be done very, very early
# because it twiddles random bits of autoconf
# Check whether --with-platform-patches-dir was given.
if test ${with_platform_patches_dir+y}
then :
withval=$with_platform_patches_dir;
fi
# Check whether --with-platform was given.
if test ${with_platform+y}
then :
withval=$with_platform;
fi
if test "$with_platform" = "" ; then
with_platform=
fi
if test "$with_platform" = "yes" ; then
as_fn_error $? "--with-platform argument must include FILE option" "$LINENO" 5
elif test "$with_platform" = "no" ; then
as_fn_error $? "--without-platform is not a valid argument" "$LINENO" 5
elif test "$with_platform" != "" ; then
# if not an absolute path, check in contrib/platform
if test ! "`echo $with_platform | cut -c1`" = "/" && test ! "`echo $with_platform | cut -c2`" = ".." ; then
if test -r "${srcdir}/contrib/platform/$with_platform" ; then
with_platform="${srcdir}/contrib/platform/$with_platform"
fi
fi
# make sure file exists
if test ! -r "$with_platform" ; then
as_fn_error $? "platform file $with_platform not found" "$LINENO" 5
fi
# eval into environment
if test -n ""
then :
printf "%s\n" "configure:5618: Loading environment file $with_platform, with contents below" >&5
else $as_nop
printf "%s\n" Loading environment file $with_platform, with contents below >&5
fi
if test -n "$with_platform" && test -f "$with_platform"
then :
cat $with_platform >&5
fi
# setup by getting full pathname for the platform directories
platform_base="`dirname $with_platform`"
platform_file="`basename $with_platform`"
# get full pathname of where we are so we can return
platform_savedir="`pwd`"
# go to where the platform file is located
cd "$platform_base"
# get the full path to this location
platform_file_dir=`pwd`
. ./"$platform_file"
# see if they left us a name
if test "$OPAL_PLATFORM_LOADED" != "" ; then
platform_loaded="$OPAL_PLATFORM_LOADED"
else
platform_loaded="$with_platform"
fi
echo "Loaded platform arguments for $platform_loaded"
if test -n ""
then :
printf "%s\n" "configure:5648: Loaded platform arguments for $platform_loaded" >&5
else $as_nop
printf "%s\n" Loaded platform arguments for $platform_loaded >&5
fi
# look for default mca param file
# return to where we started
cd "$platform_savedir"
# define an alternate default mca param filename
platform_alt_mca_file="`basename $platform_loaded`.conf"
# look where platform file is located for platform.conf name
if test -r "${platform_file_dir}/${platform_alt_mca_file}" ; then
OPAL_DEFAULT_MCA_PARAM_CONF=$platform_file_dir/$platform_alt_mca_file
OPAL_PARAM_FROM_PLATFORM="yes"
# if not, see if a file is there with the default name
elif test -r "${platform_file_dir}/openmpi-mca-params.conf" ; then
OPAL_DEFAULT_MCA_PARAM_CONF=$platform_file_dir/openmpi-mca-params.conf
OPAL_PARAM_FROM_PLATFORM="yes"
# if not, then just use the default
else
OPAL_DEFAULT_MCA_PARAM_CONF=openmpi-mca-params.conf
OPAL_PARAM_FROM_PLATFORM="no"
fi
patch_dir="${with_platform}.patches"
if test -n "$with_platform_patches_dir"; then
if test "$with_platform_patches_dir" = "yes"; then
patch_dir="${with_platform}.patches"
elif test "$with_platform_patches_dir" = "no"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: Disabling platform patches on user request" >&5
printf "%s\n" "$as_me: Disabling platform patches on user request" >&6;}
patch_dir=""
elif test -d "$with_platform_patches_dir"; then
patch_dir=$with_platform_patches_dir
else
as_fn_error $? "User provided patches directory: $with_platform_patches_dir not found" "$LINENO" 5
fi
fi
patch_done="${srcdir}/.platform_patches"
patch_found=no
if test -d "${patch_dir}"; then
if test ! -f "${patch_done}"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: Checking patches from ${patch_dir}/ directory " >&5
printf "%s\n" "$as_me: Checking patches from ${patch_dir}/ directory " >&6;}
for one_patch in $patch_dir/*.patch ; do
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking patch: $one_patch for errors " >&5
printf %s "checking patch: $one_patch for errors ... " >&6; }
patch -d ${srcdir} -p1 -t -s --dry-run < ${one_patch}
if test "$?" != "0"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: fail" >&5
printf "%s\n" "fail" >&6; }
as_fn_error $? "Platform patches failed to apply" "$LINENO" 5
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ok" >&5
printf "%s\n" "ok" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking patch: $one_patch for unsupported configury changes " >&5
printf %s "checking patch: $one_patch for unsupported configury changes ... " >&6; }
has_configury_items=$(patch -d ${srcdir} -p1 -t --dry-run < ${one_patch} 2>&1 | egrep "^patching" | egrep '*\.(am|m4)$' | wc -l)
if test $has_configury_items -ne 0; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: fail" >&5
printf "%s\n" "fail" >&6; }
as_fn_error $? "Platform patches should not change configury files" "$LINENO" 5
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ok" >&5
printf "%s\n" "ok" >&6; }
fi
done
for one_patch in $patch_dir/*.patch ; do
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: Applying patch ${one_patch}" >&5
printf "%s\n" "$as_me: Applying patch ${one_patch}" >&6;}
patch -d ${srcdir} -p1 -t -s < ${one_patch}
if test "$?" != "0"; then
as_fn_error $? "Failed to apply patch ${one_patch}" "$LINENO" 5
fi
patch_found=yes
done
if test "$patch_found" = "yes"; then
platform_root_short="$(basename $platform_base)"
# If platform file resides under platform/ root folder - use filename as ident
if test "$platform_root_short" = "platform" ; then
platform_ident="$platform_file"
else
platform_ident="$(basename $platform_base)"
fi
# Set custom ident for platform patched OMPI
if test -z "$with_ident_string" ; then
with_ident_string="Platform: $platform_ident"
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: Platform patches applied, created stamp file ${patch_done}" >&5
printf "%s\n" "$as_me: Platform patches applied, created stamp file ${patch_done}" >&6;}
touch ${patch_done}
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: No platform patches in ${patch_dir}" >&5
printf "%s\n" "$as_me: No platform patches in ${patch_dir}" >&6;}
fi
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Platform patches already applied, skipping. ${patch_done} can be removed to re-apply " >&5
printf "%s\n" "$as_me: WARNING: Platform patches already applied, skipping. ${patch_done} can be removed to re-apply " >&2;}
fi
elif test -n "${patch_dir}"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: No platform patches in ${patch_dir}" >&5
printf "%s\n" "$as_me: No platform patches in ${patch_dir}" >&6;}
fi
else
OPAL_DEFAULT_MCA_PARAM_CONF=openmpi-mca-params.conf
fi
# Start a list of packages / modules / etc. that want to disable "make dist".
OPAL_MAKEDIST_DISABLE=""
#
# Start it up
#
# Some helper script functions. Unfortunately, we cannot use kinds
# of arguments here because of the m4 substitution. So we have to set
# special variable names before invoking the function. :-\
opal_show_title() {
cat <&5
else $as_nop
printf "%s\n" === ${1} >&5
fi
}
opal_show_subtitle() {
cat <&5
else $as_nop
printf "%s\n" *** ${1} >&5
fi
}
opal_show_subsubtitle() {
cat <&5
else $as_nop
printf "%s\n" +++ ${1} >&5
fi
}
opal_show_subsubsubtitle() {
cat <&5
else $as_nop
printf "%s\n" --- ${1} >&5
fi
}
opal_show_verbose() {
if test "$V" = "1"; then
cat <&5
else $as_nop
printf "%s\n" --- ${1} >&5
fi
fi
}
#
# Save some stats about this build
#
OPAL_CONFIGURE_USER="${USER:-`whoami`}"
OPAL_CONFIGURE_HOST="${HOSTNAME:-`(hostname || uname -n) 2> /dev/null | sed 1q`}"
# Note: it's ok to use $srcdir here because this macro is called at
# the very beginning of configure.ac:
#
# a) before $OMPI_TOP_SRCDIR is set, and
# b) from the top-level build directory (i.e., so $srcdir actually
# points to the top source directory)
OPAL_CONFIGURE_DATE="`$srcdir/config/getdate.sh`"
opal_libnl_version=0
opal_libnlv1_libs=
opal_libnlv3_libs=
# Check whether --with-libnl was given.
if test ${with_libnl+y}
then :
withval=$with_libnl;
fi
# Check whether --with-libn-libdirl was given.
if test ${with_libn_libdirl+y}
then :
withval=$with_libn_libdirl;
fi
# ugly hack to deal with potentially alternate locations for
# libnl3 headers. Note that if the pkg-config file is found,
# this ugly hack won't be used.
if test -n "$with_libnl_incdir"
then :
# skip check if someone above set incdir
elif test -d "/usr/include/libnl3"
then :
with_libnl_incdir="/usr/include/libnl3"
elif test -d "/usr/local/include/libnl3"
then :
with_libnl_incdir="/usr/local/include/libnl3"
fi
#
# Save these details so that they can be used in opal_info later
#
opal_show_title "Configuring Open MPI"
opal_show_subtitle "Prerequisites"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
printf %s "checking for a sed that does not truncate output... " >&6; }
if test ${ac_cv_path_SED+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
for ac_i in 1 2 3 4 5 6 7; do
ac_script="$ac_script$as_nl$ac_script"
done
echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
{ ac_script=; unset ac_script;}
if test -z "$SED"; then
ac_path_SED_found=false
# Loop through the user's path and test for each of PROGNAME-LIST
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_prog in sed gsed
do
for ac_exec_ext in '' $ac_executable_extensions; do
ac_path_SED="$as_dir$ac_prog$ac_exec_ext"
as_fn_executable_p "$ac_path_SED" || continue
# Check for GNU ac_path_SED and select it if it is found.
# Check for GNU $ac_path_SED
case `"$ac_path_SED" --version 2>&1` in
*GNU*)
ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
*)
ac_count=0
printf %s 0123456789 >"conftest.in"
while :
do
cat "conftest.in" "conftest.in" >"conftest.tmp"
mv "conftest.tmp" "conftest.in"
cp "conftest.in" "conftest.nl"
printf "%s\n" '' >> "conftest.nl"
"$ac_path_SED" -f conftest.sed < "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
if test $ac_count -gt ${ac_path_SED_max-0}; then
# Best one so far, save it but keep looking for a better one
ac_cv_path_SED="$ac_path_SED"
ac_path_SED_max=$ac_count
fi
# 10*(2^10) chars as input seems more than enough
test $ac_count -gt 10 && break
done
rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
esac
$ac_path_SED_found && break 3
done
done
done
IFS=$as_save_IFS
if test -z "$ac_cv_path_SED"; then
as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
fi
else
ac_cv_path_SED=$SED
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
printf "%s\n" "$ac_cv_path_SED" >&6; }
SED="$ac_cv_path_SED"
rm -f conftest.sed
# Extract the first word of "perl", so it can be a program name with args.
set dummy perl; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_PERL+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$PERL"; then
ac_cv_prog_PERL="$PERL" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_PERL="perl"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
test -z "$ac_cv_prog_PERL" && ac_cv_prog_PERL="no"
fi
fi
PERL=$ac_cv_prog_PERL
if test -n "$PERL"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5
printf "%s\n" "$PERL" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
if test "X$PERL" = "Xno"
then :
as_fn_error $? "\"Open MPI requires perl. Aborting\"" "$LINENO" 5
fi
#
# Setup some things that must be done before AM-INIT-AUTOMAKE
#
opal_show_subtitle "Startup tests"
# Make sure we can run config.sub.
$SHELL "${ac_aux_dir}config.sub" sun4 >/dev/null 2>&1 ||
as_fn_error $? "cannot run $SHELL ${ac_aux_dir}config.sub" "$LINENO" 5
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
printf %s "checking build system type... " >&6; }
if test ${ac_cv_build+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_build_alias=$build_alias
test "x$ac_build_alias" = x &&
ac_build_alias=`$SHELL "${ac_aux_dir}config.guess"`
test "x$ac_build_alias" = x &&
as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
ac_cv_build=`$SHELL "${ac_aux_dir}config.sub" $ac_build_alias` ||
as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $ac_build_alias failed" "$LINENO" 5
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
printf "%s\n" "$ac_cv_build" >&6; }
case $ac_cv_build in
*-*-*) ;;
*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
esac
build=$ac_cv_build
ac_save_IFS=$IFS; IFS='-'
set x $ac_cv_build
shift
build_cpu=$1
build_vendor=$2
shift; shift
# Remember, the first character of IFS is used to create $*,
# except with old shells:
build_os=$*
IFS=$ac_save_IFS
case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
printf %s "checking host system type... " >&6; }
if test ${ac_cv_host+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test "x$host_alias" = x; then
ac_cv_host=$ac_cv_build
else
ac_cv_host=`$SHELL "${ac_aux_dir}config.sub" $host_alias` ||
as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $host_alias failed" "$LINENO" 5
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
printf "%s\n" "$ac_cv_host" >&6; }
case $ac_cv_host in
*-*-*) ;;
*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
esac
host=$ac_cv_host
ac_save_IFS=$IFS; IFS='-'
set x $ac_cv_host
shift
host_cpu=$1
host_vendor=$2
shift; shift
# Remember, the first character of IFS is used to create $*,
# except with old shells:
host_os=$*
IFS=$ac_save_IFS
case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
printf %s "checking target system type... " >&6; }
if test ${ac_cv_target+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test "x$target_alias" = x; then
ac_cv_target=$ac_cv_host
else
ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` ||
as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
printf "%s\n" "$ac_cv_target" >&6; }
case $ac_cv_target in
*-*-*) ;;
*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
esac
target=$ac_cv_target
ac_save_IFS=$IFS; IFS='-'
set x $ac_cv_target
shift
target_cpu=$1
target_vendor=$2
shift; shift
# Remember, the first character of IFS is used to create $*,
# except with old shells:
target_os=$*
IFS=$ac_save_IFS
case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
# The aliases save the names the user supplied, while $host etc.
# will get canonicalized.
test -n "$target_alias" &&
test "$program_prefix$program_suffix$program_transform_name" = \
NONENONEs,x,x, &&
program_prefix=${target_alias}-
printf "%s\n" "#define OPAL_ARCH \"$target\"" >>confdefs.h
if test "$host" != "$target"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Cross-compile detected" >&5
printf "%s\n" "$as_me: WARNING: Cross-compile detected" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Cross-compiling is only partially supported" >&5
printf "%s\n" "$as_me: WARNING: Cross-compiling is only partially supported" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Proceed at your own risk!" >&5
printf "%s\n" "$as_me: WARNING: Proceed at your own risk!" >&2;}
fi
#
# Init automake
#
am__api_version='1.16'
# 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.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
printf %s "checking for a BSD-compatible install... " >&6; }
if test -z "$INSTALL"; then
if test ${ac_cv_path_install+y}
then :
printf %s "(cached) " >&6
else $as_nop
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
# Account for fact that we put trailing slashes in our PATH walk.
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 as_fn_executable_p "$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
done
IFS=$as_save_IFS
rm -rf conftest.one conftest.two conftest.dir
fi
if test ${ac_cv_path_install+y}; then
INSTALL=$ac_cv_path_install
else
# 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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
printf "%s\n" "$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}'
test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
printf %s "checking whether build environment is sane... " >&6; }
# 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;;
esac
case $srcdir in
*[\\\"\#\$\&\'\`$am_lf\ \ ]*)
as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
esac
# 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
test "$2" = conftest.file
)
then
# Ok.
:
else
as_fn_error $? "newly created file is older than distributed files!
Check your system clock" "$LINENO" 5
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "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.
test "$program_suffix" != NONE &&
program_transform_name="s&\$&$program_suffix&;$program_transform_name"
# Double any \ or $.
# By default was `s,x,x', remove it if useless.
ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
program_transform_name=`printf "%s\n" "$program_transform_name" | sed "$ac_script"`
# Expand $ac_aux_dir to an absolute path.
am_aux_dir=`cd "$ac_aux_dir" && pwd`
if test x"${MISSING+set}" != xset; then
MISSING="\${SHELL} '$am_aux_dir/missing'"
fi
# Use eval to expand $SHELL
if eval "$MISSING --is-lightweight"; then
am_missing_run="$MISSING "
else
am_missing_run=
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
printf "%s\n" "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
fi
if test x"${install_sh+set}" != xset; then
case $am_aux_dir in
*\ * | *\ *)
install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
*)
install_sh="\${SHELL} $am_aux_dir/install-sh"
esac
fi
# 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.
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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_STRIP+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$STRIP"; then
ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_STRIP="${ac_tool_prefix}strip"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
STRIP=$ac_cv_prog_STRIP
if test -n "$STRIP"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
printf "%s\n" "$STRIP" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
fi
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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_STRIP+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$ac_ct_STRIP"; then
ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_STRIP="strip"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
if test -n "$ac_ct_STRIP"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
printf "%s\n" "$ac_ct_STRIP" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
if test "x$ac_ct_STRIP" = x; then
STRIP=":"
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
STRIP=$ac_ct_STRIP
fi
else
STRIP="$ac_cv_prog_STRIP"
fi
fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a race-free mkdir -p" >&5
printf %s "checking for a race-free mkdir -p... " >&6; }
if test -z "$MKDIR_P"; then
if test ${ac_cv_path_mkdir+y}
then :
printf %s "(cached) " >&6
else $as_nop
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
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
case `"$as_dir$ac_prog$ac_exec_ext" --version 2>&1` in #(
'mkdir ('*'coreutils) '* | \
'BusyBox '* | \
'mkdir (fileutils) '4.1*)
ac_cv_path_mkdir=$as_dir$ac_prog$ac_exec_ext
break 3;;
esac
done
done
done
IFS=$as_save_IFS
fi
test -d ./--version && rmdir ./--version
if test ${ac_cv_path_mkdir+y}; then
MKDIR_P="$ac_cv_path_mkdir -p"
else
# As a last resort, use the slow shell script. Don't cache a
# 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.
MKDIR_P="$ac_install_sh -d"
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
printf "%s\n" "$MKDIR_P" >&6; }
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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_AWK+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$AWK"; then
ac_cv_prog_AWK="$AWK" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_AWK="$ac_prog"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
AWK=$ac_cv_prog_AWK
if test -n "$AWK"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
printf "%s\n" "$AWK" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
test -n "$AWK" && break
done
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
set x ${MAKE-make}
ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
if eval test \${ac_cv_prog_make_${ac_make}_set+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat >conftest.make <<\_ACEOF
SHELL = /bin/sh
all:
@echo '@@@%%%=$(MAKE)=@@@%%%'
_ACEOF
# 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;;
*)
eval ac_cv_prog_make_${ac_make}_set=no;;
esac
rm -f conftest.make
fi
if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
SET_MAKE=
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
SET_MAKE="MAKE=${MAKE-make}"
fi
rm -rf .tst 2>/dev/null
mkdir .tst 2>/dev/null
if test -d .tst; then
am__leading_dot=.
else
am__leading_dot=_
fi
rmdir .tst 2>/dev/null
# Check whether --enable-silent-rules was given.
if test ${enable_silent_rules+y}
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}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
printf %s "checking whether $am_make supports nested variables... " >&6; }
if test ${am_cv_make_support_nested_variables+y}
then :
printf %s "(cached) " >&6
else $as_nop
if printf "%s\n" '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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
printf "%s\n" "$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
fi
fi
# test whether we have cygpath
if test -z "$CYGPATH_W"; then
if (cygpath --version) >/dev/null 2>/dev/null; then
CYGPATH_W='cygpath -w'
else
CYGPATH_W=echo
fi
fi
# Define the identity of the package.
PACKAGE='openmpi'
VERSION='5.0.5'
# Some tools Automake needs.
ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
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'll loop over all known methods to create a tar archive until one works.
_am_tools='gnutar pax cpio none'
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to create a pax tar archive" >&5
printf %s "checking how to create a pax tar archive... " >&6; }
# Go ahead even if we have the value already cached. We do so because we
# need to set the values for the 'am__tar' and 'am__untar' variables.
_am_tools=${am_cv_prog_tar_pax-$_am_tools}
for _am_tool in $_am_tools; do
case $_am_tool in
gnutar)
for _am_tar in tar gnutar gtar; do
{ echo "$as_me:$LINENO: $_am_tar --version" >&5
($_am_tar --version) >&5 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && break
done
am__tar="$_am_tar --format=posix -chf - "'"$$tardir"'
am__tar_="$_am_tar --format=posix -chf - "'"$tardir"'
am__untar="$_am_tar -xf -"
;;
plaintar)
# Must skip GNU tar: if it does not support --format= it doesn't create
# ustar tarball either.
(tar --version) >/dev/null 2>&1 && continue
am__tar='tar chf - "$$tardir"'
am__tar_='tar chf - "$tardir"'
am__untar='tar xf -'
;;
pax)
am__tar='pax -L -x pax -w "$$tardir"'
am__tar_='pax -L -x pax -w "$tardir"'
am__untar='pax -r'
;;
cpio)
am__tar='find "$$tardir" -print | cpio -o -H pax -L'
am__tar_='find "$tardir" -print | cpio -o -H pax -L'
am__untar='cpio -i -H pax -d'
;;
none)
am__tar=false
am__tar_=false
am__untar=false
;;
esac
# If the value was cached, stop now. We just wanted to have am__tar
# and am__untar set.
test -n "${am_cv_prog_tar_pax}" && break
# tar/untar a dummy directory, and stop if the command works.
rm -rf conftest.dir
mkdir conftest.dir
echo GrepMe > conftest.dir/file
{ echo "$as_me:$LINENO: tardir=conftest.dir && eval $am__tar_ >conftest.tar" >&5
(tardir=conftest.dir && eval $am__tar_ >conftest.tar) >&5 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
rm -rf conftest.dir
if test -s conftest.tar; then
{ echo "$as_me:$LINENO: $am__untar &5
($am__untar &5 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
{ echo "$as_me:$LINENO: cat conftest.dir/file" >&5
(cat conftest.dir/file) >&5 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
fi
done
rm -rf conftest.dir
if test ${am_cv_prog_tar_pax+y}
then :
printf %s "(cached) " >&6
else $as_nop
am_cv_prog_tar_pax=$_am_tool
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_tar_pax" >&5
printf "%s\n" "$am_cv_prog_tar_pax" >&6; }
# Variables for tags utilities; see am/tags.am
if test -z "$CTAGS"; then
CTAGS=ctags
fi
if test -z "$ETAGS"; then
ETAGS=etags
fi
if test -z "$CSCOPE"; then
CSCOPE=cscope
fi
# 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:
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.
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
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
fi
fi
# SILENT_RULES is new in AM 1.11, but we require 1.11 or higher via
# autogen. Limited testing shows that calling SILENT_RULES directly
# works in more cases than adding "silent-rules" to INIT_AUTOMAKE
# (even though they're supposed to be identical). Shrug.
# Check whether --enable-silent-rules was given.
if test ${enable_silent_rules+y}
then :
enableval=$enable_silent_rules;
fi
case $enable_silent_rules in # (((
yes) AM_DEFAULT_VERBOSITY=0;;
no) AM_DEFAULT_VERBOSITY=1;;
*) AM_DEFAULT_VERBOSITY=0;;
esac
am_make=${MAKE-make}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
printf %s "checking whether $am_make supports nested variables... " >&6; }
if test ${am_cv_make_support_nested_variables+y}
then :
printf %s "(cached) " >&6
else $as_nop
if printf "%s\n" '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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
printf "%s\n" "$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='\'
# Make configure depend on the VERSION file, since it's used in AC_INIT
CONFIGURE_DEPENDENCIES='$(top_srcdir)/VERSION'
# Sanity checks
ompi_dir=`pwd`
dir="$ompi_dir"
article="a"
label="build tree"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking directory of $label" >&5
printf %s "checking directory of $label... " >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dir" >&5
printf "%s\n" "$dir" >&6; }
if test -n "`echo $dir | grep ' '`"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This version of Open MPI does not support $article $label" >&5
printf "%s\n" "$as_me: WARNING: This version of Open MPI does not support $article $label" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: with a path that contains spaces" >&5
printf "%s\n" "$as_me: WARNING: with a path that contains spaces" >&2;}
as_fn_error $? "Cannot continue." "$LINENO" 5
fi
dir="$srcdir"
article="a"
label="source tree"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking directory of $label" >&5
printf %s "checking directory of $label... " >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dir" >&5
printf "%s\n" "$dir" >&6; }
if test -n "`echo $dir | grep ' '`"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This version of Open MPI does not support $article $label" >&5
printf "%s\n" "$as_me: WARNING: This version of Open MPI does not support $article $label" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: with a path that contains spaces" >&5
printf "%s\n" "$as_me: WARNING: with a path that contains spaces" >&2;}
as_fn_error $? "Cannot continue." "$LINENO" 5
fi
dir="$prefix"
article="a"
label="prefix"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking directory of $label" >&5
printf %s "checking directory of $label... " >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dir" >&5
printf "%s\n" "$dir" >&6; }
if test -n "`echo $dir | grep ' '`"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This version of Open MPI does not support $article $label" >&5
printf "%s\n" "$as_me: WARNING: This version of Open MPI does not support $article $label" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: with a path that contains spaces" >&5
printf "%s\n" "$as_me: WARNING: with a path that contains spaces" >&2;}
as_fn_error $? "Cannot continue." "$LINENO" 5
fi
opal_show_subtitle "Checking versions"
# Get the version of OMPI that we are installing
if test -f "$srcdir/VERSION"; then
srcdir=`dirname $srcdir/VERSION`
opal_vers=`sed -n "
t clear
: clear
s/^major/OMPI_MAJOR_VERSION/
s/^minor/OMPI_MINOR_VERSION/
s/^release/OMPI_RELEASE_VERSION/
s/^greek/OMPI_GREEK_VERSION/
s/^repo_rev/OMPI_REPO_REV/
s/^tarball_version/OMPI_TARBALL_VERSION/
s/^date/OMPI_RELEASE_DATE/
t print
b
: print
p" < "$srcdir/VERSION"`
eval "$opal_vers"
OMPI_VERSION="$OMPI_MAJOR_VERSION.$OMPI_MINOR_VERSION.$OMPI_RELEASE_VERSION"
OMPI_VERSION="${OMPI_VERSION}${OMPI_GREEK_VERSION}"
if test "$OMPI_TARBALL_VERSION" = ""; then
OMPI_TARBALL_VERSION=$OMPI_VERSION
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for repo version" >&5
printf %s "checking for repo version... " >&6; }
# If repo_rev was not set in the VERSION file, then get it now
if test "$OMPI_REPO_REV" = ""; then
# See if we can find the "git" command.
git_happy=0
git --version > /dev/null 2>&1
if test $? -eq 0; then
git_happy=1
fi
# If we're in a git repo and we found the git command, use
# git describe to get the repo rev
if test -r "$srcdir/.git" && test $git_happy -eq 1; then
if test "$srcdir" != "`pwd`"; then
git_save_dir=`pwd`
cd "$srcdir"
OMPI_REPO_REV=`git describe --tags --always`
cd "$git_save_dir"
unset git_save_dir
else
OMPI_REPO_REV=`git describe --tags --always`
fi
else
OMPI_REPO_REV=`$srcdir/config/getdate.sh '+%Y-%m-%d'`
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OMPI_REPO_REV" >&5
printf "%s\n" "$OMPI_REPO_REV" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Open MPI version" >&5
printf %s "checking Open MPI version... " >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OMPI_VERSION" >&5
printf "%s\n" "$OMPI_VERSION" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Open MPI release date" >&5
printf %s "checking Open MPI release date... " >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OMPI_RELEASE_DATE" >&5
printf "%s\n" "$OMPI_RELEASE_DATE" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Open MPI repository version" >&5
printf %s "checking Open MPI repository version... " >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OMPI_REPO_REV" >&5
printf "%s\n" "$OMPI_REPO_REV" >&6; }
printf "%s\n" "#define OMPI_MAJOR_VERSION $OMPI_MAJOR_VERSION" >>confdefs.h
printf "%s\n" "#define OMPI_MINOR_VERSION $OMPI_MINOR_VERSION" >>confdefs.h
printf "%s\n" "#define OMPI_RELEASE_VERSION $OMPI_RELEASE_VERSION" >>confdefs.h
printf "%s\n" "#define OMPI_GREEK_VERSION \"$OMPI_GREEK_VERSION\"" >>confdefs.h
printf "%s\n" "#define OMPI_REPO_REV \"$OMPI_REPO_REV\"" >>confdefs.h
printf "%s\n" "#define OMPI_TARBALL_VERSION \"$OMPI_TARBALL_VERSION\"" >>confdefs.h
printf "%s\n" "#define OMPI_VERSION \"$OMPI_VERSION\"" >>confdefs.h
printf "%s\n" "#define OMPI_RELEASE_DATE \"$OMPI_RELEASE_DATE\"" >>confdefs.h
ac_config_files="$ac_config_files ompi/include/ompi/version.h"
printf "%s\n" "#define MPI_VERSION 3" >>confdefs.h
printf "%s\n" "#define MPI_SUBVERSION 1" >>confdefs.h
MPI_VERSION=3
MPI_SUBVERSION=1
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking MPI Standard version" >&5
printf %s "checking MPI Standard version... " >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: 3.1" >&5
printf "%s\n" "3.1" >&6; }
if test -f "$srcdir/VERSION"; then
srcdir=`dirname $srcdir/VERSION`
opal_vers=`sed -n "
t clear
: clear
s/^major/OSHMEM_MAJOR_VERSION/
s/^minor/OSHMEM_MINOR_VERSION/
s/^release/OSHMEM_RELEASE_VERSION/
s/^greek/OSHMEM_GREEK_VERSION/
s/^repo_rev/OSHMEM_REPO_REV/
s/^tarball_version/OSHMEM_TARBALL_VERSION/
s/^date/OSHMEM_RELEASE_DATE/
t print
b
: print
p" < "$srcdir/VERSION"`
eval "$opal_vers"
OSHMEM_VERSION="$OSHMEM_MAJOR_VERSION.$OSHMEM_MINOR_VERSION.$OSHMEM_RELEASE_VERSION"
OSHMEM_VERSION="${OSHMEM_VERSION}${OSHMEM_GREEK_VERSION}"
if test "$OSHMEM_TARBALL_VERSION" = ""; then
OSHMEM_TARBALL_VERSION=$OSHMEM_VERSION
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for repo version" >&5
printf %s "checking for repo version... " >&6; }
# If repo_rev was not set in the VERSION file, then get it now
if test "$OSHMEM_REPO_REV" = ""; then
# See if we can find the "git" command.
git_happy=0
git --version > /dev/null 2>&1
if test $? -eq 0; then
git_happy=1
fi
# If we're in a git repo and we found the git command, use
# git describe to get the repo rev
if test -r "$srcdir/.git" && test $git_happy -eq 1; then
if test "$srcdir" != "`pwd`"; then
git_save_dir=`pwd`
cd "$srcdir"
OSHMEM_REPO_REV=`git describe --tags --always`
cd "$git_save_dir"
unset git_save_dir
else
OSHMEM_REPO_REV=`git describe --tags --always`
fi
else
OSHMEM_REPO_REV=`$srcdir/config/getdate.sh '+%Y-%m-%d'`
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OSHMEM_REPO_REV" >&5
printf "%s\n" "$OSHMEM_REPO_REV" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Open SHMEM version" >&5
printf %s "checking Open SHMEM version... " >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OSHMEM_VERSION" >&5
printf "%s\n" "$OSHMEM_VERSION" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Open SHMEM release date" >&5
printf %s "checking Open SHMEM release date... " >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OSHMEM_RELEASE_DATE" >&5
printf "%s\n" "$OSHMEM_RELEASE_DATE" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Open SHMEM repository version" >&5
printf %s "checking Open SHMEM repository version... " >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OSHMEM_REPO_REV" >&5
printf "%s\n" "$OSHMEM_REPO_REV" >&6; }
printf "%s\n" "#define OSHMEM_MAJOR_VERSION $OSHMEM_MAJOR_VERSION" >>confdefs.h
printf "%s\n" "#define OSHMEM_MINOR_VERSION $OSHMEM_MINOR_VERSION" >>confdefs.h
printf "%s\n" "#define OSHMEM_RELEASE_VERSION $OSHMEM_RELEASE_VERSION" >>confdefs.h
printf "%s\n" "#define OSHMEM_GREEK_VERSION \"$OSHMEM_GREEK_VERSION\"" >>confdefs.h
printf "%s\n" "#define OSHMEM_REPO_REV \"$OSHMEM_REPO_REV\"" >>confdefs.h
printf "%s\n" "#define OSHMEM_TARBALL_VERSION \"$OSHMEM_TARBALL_VERSION\"" >>confdefs.h
printf "%s\n" "#define OSHMEM_VERSION \"$OSHMEM_VERSION\"" >>confdefs.h
printf "%s\n" "#define OSHMEM_RELEASE_DATE \"$OSHMEM_RELEASE_DATE\"" >>confdefs.h
ac_config_files="$ac_config_files oshmem/include/oshmem/version.h"
if test -f "$srcdir/VERSION"; then
srcdir=`dirname $srcdir/VERSION`
opal_vers=`sed -n "
t clear
: clear
s/^major/OPAL_MAJOR_VERSION/
s/^minor/OPAL_MINOR_VERSION/
s/^release/OPAL_RELEASE_VERSION/
s/^greek/OPAL_GREEK_VERSION/
s/^repo_rev/OPAL_REPO_REV/
s/^tarball_version/OPAL_TARBALL_VERSION/
s/^date/OPAL_RELEASE_DATE/
t print
b
: print
p" < "$srcdir/VERSION"`
eval "$opal_vers"
OPAL_VERSION="$OPAL_MAJOR_VERSION.$OPAL_MINOR_VERSION.$OPAL_RELEASE_VERSION"
OPAL_VERSION="${OPAL_VERSION}${OPAL_GREEK_VERSION}"
if test "$OPAL_TARBALL_VERSION" = ""; then
OPAL_TARBALL_VERSION=$OPAL_VERSION
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for repo version" >&5
printf %s "checking for repo version... " >&6; }
# If repo_rev was not set in the VERSION file, then get it now
if test "$OPAL_REPO_REV" = ""; then
# See if we can find the "git" command.
git_happy=0
git --version > /dev/null 2>&1
if test $? -eq 0; then
git_happy=1
fi
# If we're in a git repo and we found the git command, use
# git describe to get the repo rev
if test -r "$srcdir/.git" && test $git_happy -eq 1; then
if test "$srcdir" != "`pwd`"; then
git_save_dir=`pwd`
cd "$srcdir"
OPAL_REPO_REV=`git describe --tags --always`
cd "$git_save_dir"
unset git_save_dir
else
OPAL_REPO_REV=`git describe --tags --always`
fi
else
OPAL_REPO_REV=`$srcdir/config/getdate.sh '+%Y-%m-%d'`
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OPAL_REPO_REV" >&5
printf "%s\n" "$OPAL_REPO_REV" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Open Portable Access Layer version" >&5
printf %s "checking Open Portable Access Layer version... " >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OPAL_VERSION" >&5
printf "%s\n" "$OPAL_VERSION" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Open Portable Access Layer release date" >&5
printf %s "checking Open Portable Access Layer release date... " >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OPAL_RELEASE_DATE" >&5
printf "%s\n" "$OPAL_RELEASE_DATE" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Open Portable Access Layer repository version" >&5
printf %s "checking Open Portable Access Layer repository version... " >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OPAL_REPO_REV" >&5
printf "%s\n" "$OPAL_REPO_REV" >&6; }
printf "%s\n" "#define OPAL_MAJOR_VERSION $OPAL_MAJOR_VERSION" >>confdefs.h
printf "%s\n" "#define OPAL_MINOR_VERSION $OPAL_MINOR_VERSION" >>confdefs.h
printf "%s\n" "#define OPAL_RELEASE_VERSION $OPAL_RELEASE_VERSION" >>confdefs.h
printf "%s\n" "#define OPAL_GREEK_VERSION \"$OPAL_GREEK_VERSION\"" >>confdefs.h
printf "%s\n" "#define OPAL_REPO_REV \"$OPAL_REPO_REV\"" >>confdefs.h
printf "%s\n" "#define OPAL_TARBALL_VERSION \"$OPAL_TARBALL_VERSION\"" >>confdefs.h
printf "%s\n" "#define OPAL_VERSION \"$OPAL_VERSION\"" >>confdefs.h
printf "%s\n" "#define OPAL_RELEASE_DATE \"$OPAL_RELEASE_DATE\"" >>confdefs.h
ac_config_files="$ac_config_files opal/include/opal/version.h"
# Get shared library version numbers
. $srcdir/VERSION
# It's icky that we have to hard-code the names of the
# common components here. :-( This could probably be done
# transparently by adding some intelligence in autogen.pl
# and/or opal_mca.m4, but I don't have the cycles to do this
# right now.
#
# Get the versions of the autotools that were used to bootstrap us
# (helpful for debugging reports)
#
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for bootstrap Autoconf version" >&5
printf %s "checking for bootstrap Autoconf version... " >&6; }
acversion=`grep "Generated by GNU Autoconf" $0 | head -n 1 | awk '{ print $6 }'`
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $acversion" >&5
printf "%s\n" "$acversion" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for bootstrap Automake version" >&5
printf %s "checking for bootstrap Automake version... " >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am__api_version" >&5
printf "%s\n" "$am__api_version" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for bootstrap Libtool version" >&5
printf %s "checking for bootstrap Libtool version... " >&6; }
ltversion=`grep VERSION= $srcdir/config/ltmain.sh | head -n 1 | cut -d= -f2`
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ltversion" >&5
printf "%s\n" "$ltversion" >&6; }
# List header files to generate
ac_config_headers="$ac_config_headers opal/include/opal_config.h"
ac_config_headers="$ac_config_headers ompi/include/mpi.h"
ac_config_headers="$ac_config_headers oshmem/include/shmem.h"
opal_show_subtitle "Initialization, setup"
OMPI_TOP_BUILDDIR="`pwd`"
cd "$srcdir"
OMPI_TOP_SRCDIR="`pwd`"
cd "$OMPI_TOP_BUILDDIR"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: builddir: $OMPI_TOP_BUILDDIR" >&5
printf "%s\n" "$as_me: builddir: $OMPI_TOP_BUILDDIR" >&6;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: srcdir: $OMPI_TOP_SRCDIR" >&5
printf "%s\n" "$as_me: srcdir: $OMPI_TOP_SRCDIR" >&6;}
if test "$OMPI_TOP_BUILDDIR" != "$OMPI_TOP_SRCDIR"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: Detected VPATH build" >&5
printf "%s\n" "$as_me: Detected VPATH build" >&6;}
fi
# Check for deprecated/deleted options
opal_var_scope_push ${LINENO} with_pmi_given with_pmi_libdir_given ompi_cxx_warn ompi_cxx_error
# --with-pmi options were removed in v5.0
# Check whether --with-pmi was given.
if test ${with_pmi+y}
then :
withval=$with_pmi; with_pmi_given=yes
fi
# Check whether --with-pmi-libdir was given.
if test ${with_pmi_libdir+y}
then :
withval=$with_pmi_libdir; with_pmi_libdir_given=yes
fi
if test "$with_pmi" = "no"
then :
with_pmi_given=no
fi
if test "$with_pmi_libdir" = "no"
then :
with_pmi_libdir_given=no
fi
if test "$with_pmi_given" = "yes" || test "$with_pmi_libdir_given" = "yes"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI no longer supports PMI-1 or PMI-2 libraries." >&5
printf "%s\n" "$as_me: WARNING: Open MPI no longer supports PMI-1 or PMI-2 libraries." >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: PMIx is now required. Either the internal version or an" >&5
printf "%s\n" "$as_me: WARNING: PMIx is now required. Either the internal version or an" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: external version of PMIx may be used, so long as the" >&5
printf "%s\n" "$as_me: WARNING: external version of PMIx may be used, so long as the" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: external version is compatible with the PMIx v2.2" >&5
printf "%s\n" "$as_me: WARNING: external version is compatible with the PMIx v2.2" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Standard or higher. Note that cross-version support" >&5
printf "%s\n" "$as_me: WARNING: Standard or higher. Note that cross-version support" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: within the OpenPMIx library can be used by this OMPI" >&5
printf "%s\n" "$as_me: WARNING: within the OpenPMIx library can be used by this OMPI" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: to interact with environments based on other PMIx" >&5
printf "%s\n" "$as_me: WARNING: to interact with environments based on other PMIx" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: versions." >&5
printf "%s\n" "$as_me: WARNING: versions." >&2;}
as_fn_error $? "Build cannot continue." "$LINENO" 5
fi
# Note that we always *warn* if someone used a CLI option for a
# feature that has been deleted. If, however, they are disabling
# the deleted feature (e.g., --disable-mpi-cxx), then emitting a
# warning is good enough -- allow configure to continue. If,
# however, the user asked to enable a deleted feature, then
# configure needs to error out.
ompi_cxx_warn=0
ompi_cxx_error=0
# Check whether --enable-mpi-cxx was given.
if test ${enable_mpi_cxx+y}
then :
enableval=$enable_mpi_cxx; ompi_cxx_warn=1
if test "$enable_mpi_cxx" != "no"
then :
ompi_cxx_error=1
fi
fi
# Check whether --enable-mpi-cxx-seek was given.
if test ${enable_mpi_cxx_seek+y}
then :
enableval=$enable_mpi_cxx_seek; ompi_cxx_warn=1
if test "$enable_mpi_cxx_seek" != "no"
then :
ompi_cxx_error=1
fi
fi
# Check whether --enable-cxx-exceptions was given.
if test ${enable_cxx_exceptions+y}
then :
enableval=$enable_cxx_exceptions; ompi_cxx_warn=1
if test "$enable_cxx_exceptions" != "no"
then :
ompi_cxx_error=1
fi
fi
if test $ompi_cxx_warn -eq 1
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: An MPI C++ bindings-related command line option" >&5
printf "%s\n" "$as_me: WARNING: An MPI C++ bindings-related command line option" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: was given to \"configure\"." >&5
printf "%s\n" "$as_me: WARNING: was given to \"configure\"." >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: " >&5
printf "%s\n" "$as_me: WARNING: " >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This command line option will be removed in a future" >&5
printf "%s\n" "$as_me: WARNING: This command line option will be removed in a future" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: version of Open MPI; you should discontinue using it." >&5
printf "%s\n" "$as_me: WARNING: version of Open MPI; you should discontinue using it." >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: You have been warned!" >&5
printf "%s\n" "$as_me: WARNING: You have been warned!" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: " >&5
printf "%s\n" "$as_me: WARNING: " >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: The MPI C++ bindings were deprecated in the MPI-2.2" >&5
printf "%s\n" "$as_me: WARNING: The MPI C++ bindings were deprecated in the MPI-2.2" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: standard in 2009, and removed from the MPI-3.0" >&5
printf "%s\n" "$as_me: WARNING: standard in 2009, and removed from the MPI-3.0" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: standard in 2012. The MPI C++ bindings were then" >&5
printf "%s\n" "$as_me: WARNING: standard in 2012. The MPI C++ bindings were then" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: removed from Open MPI v5.0.0 in 2022." >&5
printf "%s\n" "$as_me: WARNING: removed from Open MPI v5.0.0 in 2022." >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: " >&5
printf "%s\n" "$as_me: WARNING: " >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: If you need support for the MPI C++ bindings, you" >&5
printf "%s\n" "$as_me: WARNING: If you need support for the MPI C++ bindings, you" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: will need to use an older version of Open MPI." >&5
printf "%s\n" "$as_me: WARNING: will need to use an older version of Open MPI." >&2;}
fi
if test $ompi_cxx_error -eq 1
then :
as_fn_error $? "Build cannot continue." "$LINENO" 5
fi
opal_var_scope_pop with_pmi_given with_pmi_libdir_given ompi_cxx_warn ompi_cxx_error
# Setup the top of the opal/include/opal_config.h file
# Other basic setup stuff (shared with components)
#
# Make automake clean emacs ~ files for "make clean"
#
CLEANFILES="*~ .\#*"
#
# See if we can find an old installation of OPAL to overwrite
#
# Stupid autoconf 2.54 has a bug in AC_PREFIX_PROGRAM -- if opal_clean
# is not found in the path and the user did not specify --prefix,
# we'll get a $prefix of "."
opal_prefix_save="$prefix"
if test "x$prefix" = xNONE; then
printf %s "checking for prefix by " >&6
# Extract the first word of "opal_clean", so it can be a program name with args.
set dummy opal_clean; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_path_ac_prefix_program+y}
then :
printf %s "(cached) " >&6
else $as_nop
case $ac_prefix_program in
[\\/]* | ?:[\\/]*)
ac_cv_path_ac_prefix_program="$ac_prefix_program" # Let the user override the test with a path.
;;
*)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_path_ac_prefix_program="$as_dir$ac_word$ac_exec_ext"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
;;
esac
fi
ac_prefix_program=$ac_cv_path_ac_prefix_program
if test -n "$ac_prefix_program"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_prefix_program" >&5
printf "%s\n" "$ac_prefix_program" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
if test -n "$ac_prefix_program"; then
prefix=`$as_dirname -- "$ac_prefix_program" ||
$as_expr X"$ac_prefix_program" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$ac_prefix_program" : 'X\(//\)[^/]' \| \
X"$ac_prefix_program" : 'X\(//\)$' \| \
X"$ac_prefix_program" : 'X\(/\)' \| . 2>/dev/null ||
printf "%s\n" X"$ac_prefix_program" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
prefix=`$as_dirname -- "$prefix" ||
$as_expr X"$prefix" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$prefix" : 'X\(//\)[^/]' \| \
X"$prefix" : 'X\(//\)$' \| \
X"$prefix" : 'X\(/\)' \| . 2>/dev/null ||
printf "%s\n" X"$prefix" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
fi
fi
if test "$prefix" = "."; then
prefix="$opal_prefix_save"
fi
unset opal_prefix_save
#
# Basic sanity checking; we can't install to a relative path
#
case "$prefix" in
/*/bin)
prefix="`dirname $prefix`"
echo installing to directory \"$prefix\"
;;
/*)
echo installing to directory \"$prefix\"
;;
NONE)
echo installing to directory \"$ac_default_prefix\"
;;
[a-zA-Z]:*)
echo installing to directory \"$prefix\"
;;
*)
as_fn_error $? "prefix \"$prefix\" must be an absolute directory path" "$LINENO" 5
;;
esac
# BEGIN: Derived from GASNet
# Suggestion from Paul Hargrove to disable --program-prefix and
# friends. Heavily influenced by GASNet 1.12 acinclude.m4
# functionality to do the same thing (copyright listed at top of this
# file).
# echo program_prefix=$program_prefix program_suffix=$program_suffix program_transform_name=$program_transform_name
# undo prefix autoconf automatically adds during cross-compilation
if test "$cross_compiling" = yes && test "$program_prefix" = "${target_alias}-" ; then
program_prefix=NONE
fi
# normalize empty prefix/suffix
if test -z "$program_prefix" ; then
program_prefix=NONE
fi
if test -z "$program_suffix" ; then
program_suffix=NONE
fi
# undo transforms caused by empty prefix/suffix
if expr "$program_transform_name" : 's.^..$' >/dev/null || \
expr "$program_transform_name" : 's.$$..$' >/dev/null || \
expr "$program_transform_name" : 's.$$..;s.^..$' >/dev/null ; then
program_transform_name="s,x,x,"
fi
if test "$program_prefix$program_suffix$program_transform_name" != "NONENONEs,x,x," ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** The Open MPI configure script does not support --program-prefix, --program-suffix or --program-transform-name. Users are recommended to instead use --prefix with a unique directory and make symbolic links as desired for renaming." >&5
printf "%s\n" "$as_me: WARNING: *** The Open MPI configure script does not support --program-prefix, --program-suffix or --program-transform-name. Users are recommended to instead use --prefix with a unique directory and make symbolic links as desired for renaming." >&2;}
as_fn_error $? "*** Cannot continue" "$LINENO" 5
fi
# END: Derived from GASNet
OPAL_TOP_SRCDIR="$OMPI_TOP_SRCDIR"
OPAL_TOP_BUILDDIR="$OMPI_TOP_BUILDDIR"
OSHMEM_TOP_SRCDIR="$OMPI_TOP_SRCDIR"
OSHMEM_TOP_BUILDDIR="$OMPI_TOP_BUILDDIR"
############################################################################
# Configuration options
############################################################################
opal_show_subtitle "General configuration options"
#
# Is this a developer copy?
#
if test -d .git; then
OPAL_DEVEL=1
else
OPAL_DEVEL=0
fi
#
# Code coverage options
#
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want to run code coverage" >&5
printf %s "checking if want to run code coverage... " >&6; }
# Check whether --enable-coverage was given.
if test ${enable_coverage+y}
then :
enableval=$enable_coverage;
fi
if test "$enable_coverage" = "yes"; then
if test "$enable_shared" = "yes"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Code coverage can run only with static libraries. Please
run configure with --enable-static --disable-shared if
you want code coverage. Also ensure that you execute
make clean too ensure removal of all leftover shared
mpi libraries" >&5
printf "%s\n" "$as_me: WARNING: Code coverage can run only with static libraries. Please
run configure with --enable-static --disable-shared if
you want code coverage. Also ensure that you execute
make clean too ensure removal of all leftover shared
mpi libraries" >&2;}
as_fn_error $? "Cannot continue processing" "$LINENO" 5
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
WANT_COVERAGE=1
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
WANT_COVERAGE=0
fi
#
# Branch Probabilities options
#
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want to compile with branch probabilities" >&5
printf %s "checking if want to compile with branch probabilities... " >&6; }
# Check whether --enable-branch-probabilities was given.
if test ${enable_branch_probabilities+y}
then :
enableval=$enable_branch_probabilities;
fi
if test "$enable_branch_probabilities" = "yes"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
WANT_BRANCH_PROBABILITIES=1
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
WANT_BRANCH_PROBABILITIES=0
fi
#
# Memory debugging
#
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want to debug memory usage" >&5
printf %s "checking if want to debug memory usage... " >&6; }
# Check whether --enable-mem-debug was given.
if test ${enable_mem_debug+y}
then :
enableval=$enable_mem_debug;
fi
if test "$enable_mem_debug" = "yes"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
WANT_MEM_DEBUG=1
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
WANT_MEM_DEBUG=0
fi
printf "%s\n" "#define OPAL_ENABLE_MEM_DEBUG $WANT_MEM_DEBUG" >>confdefs.h
#
# Memory profiling
#
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want to profile memory usage" >&5
printf %s "checking if want to profile memory usage... " >&6; }
# Check whether --enable-mem-profile was given.
if test ${enable_mem_profile+y}
then :
enableval=$enable_mem_profile;
fi
if test "$enable_mem_profile" = "yes"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
WANT_MEM_PROFILE=1
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
WANT_MEM_PROFILE=0
fi
printf "%s\n" "#define OPAL_ENABLE_MEM_PROFILE $WANT_MEM_PROFILE" >>confdefs.h
#
# Developer picky compiler options
#
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want developer-level compiler pickyness" >&5
printf %s "checking if want developer-level compiler pickyness... " >&6; }
# Check whether --enable-picky was given.
if test ${enable_picky+y}
then :
enableval=$enable_picky;
fi
if test "$enable_picky" = "yes"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
WANT_PICKY_COMPILER=1
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
WANT_PICKY_COMPILER=0
fi
#################### Developer default override ####################
if test "$WANT_PICKY_COMPILER" = "0" && test -z "$enable_picky" && test "$OPAL_DEVEL" = 1; then
WANT_PICKY_COMPILER=1
echo "--> developer override: enable picky compiler by default"
fi
#################### Developer default override ####################
#
# Developer debugging
#
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want developer-level debugging code" >&5
printf %s "checking if want developer-level debugging code... " >&6; }
# Check whether --enable-debug was given.
if test ${enable_debug+y}
then :
enableval=$enable_debug;
fi
if test "$enable_debug" = "yes"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
WANT_DEBUG=1
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
WANT_DEBUG=0
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want to developer-level timing framework" >&5
printf %s "checking if want to developer-level timing framework... " >&6; }
# Check whether --enable-timing was given.
if test ${enable_timing+y}
then :
enableval=$enable_timing;
fi
if test "$enable_timing" = "yes"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
WANT_TIMING=1
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
WANT_TIMING=0
fi
printf "%s\n" "#define OPAL_ENABLE_TIMING $WANT_TIMING" >>confdefs.h
if test "$WANT_TIMING" = "1"; then
OPAL_COMPILE_TIMING_TRUE=
OPAL_COMPILE_TIMING_FALSE='#'
else
OPAL_COMPILE_TIMING_TRUE='#'
OPAL_COMPILE_TIMING_FALSE=
fi
if test "$WANT_TIMING" = "1" && test "$enable_binaries" != "no"; then
OPAL_INSTALL_TIMING_BINARIES_TRUE=
OPAL_INSTALL_TIMING_BINARIES_FALSE='#'
else
OPAL_INSTALL_TIMING_BINARIES_TRUE='#'
OPAL_INSTALL_TIMING_BINARIES_FALSE=
fi
# Later calls to AC_PROG_CC/CXX/FC can
# inject things like -O2 into compile flags if they are
# not defined, which we don't want. Make sure these flags
# are at least set to an empty string now.
#
# Complicating matters is that autogen can re-order
# these calls toward the top of configure. This block should
# be at/near the top, so do it now.
#
if test "$WANT_DEBUG" = "0"; then
CFLAGS="-DNDEBUG $CFLAGS"
CXXFLAGS="-DNDEBUG $CXXFLAGS"
# NDEBUG doesn't exist in fortran, so just make sure it's defined.
if test -z "$FCFLAGS" ; then
FCFLAGS=""
fi
else
# Do we want debugging symbols?
if test "$enable_debug_symbols" != "no" ; then
CFLAGS="$CFLAGS -g"
CXXFLAGS="$CXXFLAGS -g"
FCFLAGS="$FCFLAGS -g"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: -g has been added to compiler (--enable-debug)" >&5
printf "%s\n" "$as_me: WARNING: -g has been added to compiler (--enable-debug)" >&2;}
else
# If not set, define compile flags to an empty string
# to prevent AC_PROG_CC/FC/CXX from modifying compiler flags.
# See: https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/C-Compiler.html
# for more info.
if test -z "$CFLAGS" ; then
CFLAGS=""
fi
if test -z "$CXXFLAGS" ; then
CXXFLAGS=""
fi
if test -z "$FCFLAGS" ; then
FCFLAGS=""
fi
fi
fi
printf "%s\n" "#define OPAL_ENABLE_DEBUG $WANT_DEBUG" >>confdefs.h
# Check whether --enable-debug-symbols was given.
if test ${enable_debug_symbols+y}
then :
enableval=$enable_debug_symbols;
fi
#
# Do we want to install all of OPAL/ORTE and OMPI's header files?
#
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want to install project-internal header files" >&5
printf %s "checking if want to install project-internal header files... " >&6; }
# Check whether --with-devel-headers was given.
if test ${with_devel_headers+y}
then :
withval=$with_devel_headers;
fi
if test "$with_devel_headers" = "yes"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
WANT_INSTALL_HEADERS=1
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
WANT_INSTALL_HEADERS=0
fi
if test "$WANT_INSTALL_HEADERS" = 1; then
WANT_INSTALL_HEADERS_TRUE=
WANT_INSTALL_HEADERS_FALSE='#'
else
WANT_INSTALL_HEADERS_TRUE='#'
WANT_INSTALL_HEADERS_FALSE=
fi
#
# Do we want the pretty-print stack trace feature?
#
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want pretty-print stacktrace" >&5
printf %s "checking if want pretty-print stacktrace... " >&6; }
# Check whether --enable-pretty-print-stacktrace was given.
if test ${enable_pretty_print_stacktrace+y}
then :
enableval=$enable_pretty_print_stacktrace;
fi
if test "$enable_pretty_print_stacktrace" = "no" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
WANT_PRETTY_PRINT_STACKTRACE=0
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
WANT_PRETTY_PRINT_STACKTRACE=1
fi
printf "%s\n" "#define OPAL_WANT_PRETTY_PRINT_STACKTRACE $WANT_PRETTY_PRINT_STACKTRACE" >>confdefs.h
#
# Do we want PTY support?
#
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want pty support" >&5
printf %s "checking if want pty support... " >&6; }
# Check whether --enable-pty-support was given.
if test ${enable_pty_support+y}
then :
enableval=$enable_pty_support;
fi
if test "$enable_pty_support" = "no" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
OPAL_ENABLE_PTY_SUPPORT=0
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
OPAL_ENABLE_PTY_SUPPORT=1
fi
printf "%s\n" "#define OPAL_ENABLE_PTY_SUPPORT $OPAL_ENABLE_PTY_SUPPORT" >>confdefs.h
#
# Do we want to disable weak symbols for some reason?
#
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want weak symbol support" >&5
printf %s "checking if want weak symbol support... " >&6; }
# Check whether --enable-weak-symbols was given.
if test ${enable_weak_symbols+y}
then :
enableval=$enable_weak_symbols;
fi
if test "$enable_weak_symbols" != "no"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
WANT_WEAK_SYMBOLS=1
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
WANT_WEAK_SYMBOLS=0
fi
#
# Do we want to allow DLOPEN?
#
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want dlopen support" >&5
printf %s "checking if want dlopen support... " >&6; }
# Check whether --enable-dlopen was given.
if test ${enable_dlopen+y}
then :
enableval=$enable_dlopen;
fi
if test "$enable_dlopen" = "no" ; then
OPAL_ENABLE_DLOPEN_SUPPORT=0
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
else
OPAL_ENABLE_DLOPEN_SUPPORT=1
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
fi
#
# Do we want to show component load error messages by default?
#
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for default value of mca_base_component_show_load_errors" >&5
printf %s "checking for default value of mca_base_component_show_load_errors... " >&6; }
# Check whether --with-show-load-errors was given.
if test ${with_show_load_errors+y}
then :
withval=$with_show_load_errors;
fi
if test -z "$with_show_load_errors" -o "$with_show_load_errors" = "yes"
then :
with_show_load_errors=all
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: enabled for all" >&5
printf "%s\n" "enabled for all" >&6; }
else $as_nop
if test "$with_show_load_errors" = "no"
then :
with_show_load_errors=none
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: disabled for all" >&5
printf "%s\n" "disabled for all" >&6; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_show_load_errors" >&5
printf "%s\n" "$with_show_load_errors" >&6; }
fi
fi
printf "%s\n" "#define OPAL_SHOW_LOAD_ERRORS_DEFAULT \"$with_show_load_errors\"" >>confdefs.h
#
# Heterogeneous support
#
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want heterogeneous support" >&5
printf %s "checking if want heterogeneous support... " >&6; }
# Check whether --enable-heterogeneous was given.
if test ${enable_heterogeneous+y}
then :
enableval=$enable_heterogeneous;
fi
if test "$enable_heterogeneous" = "yes" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
opal_want_heterogeneous=1
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
opal_want_heterogeneous=0
fi
printf "%s\n" "#define OPAL_ENABLE_HETEROGENEOUS_SUPPORT $opal_want_heterogeneous" >>confdefs.h
#
# Cross-compile data
#
# Check whether --with-cross was given.
if test ${with_cross+y}
then :
withval=$with_cross;
fi
if test "$with_cross" = "yes" ; then
as_fn_error $? "--with-cross argument must include FILE option" "$LINENO" 5
elif test "$with_cross" = "no" ; then
as_fn_error $? "--without-cross is not a valid argument" "$LINENO" 5
elif test "$with_cross" != "" ; then
if test ! -r $with_cross ; then
as_fn_error $? "could not find cross-compile data file $with_cross" "$LINENO" 5
fi
# eval into environment
if test -n ""
then :
printf "%s\n" "configure:8238: Loading cross-compile file $with_cross, with contents below" >&5
else $as_nop
printf "%s\n" Loading cross-compile file $with_cross, with contents below >&5
fi
if test -n "$with_cross" && test -f "$with_cross"
then :
cat $with_cross >&5
fi
. "$with_cross"
fi
#
# Do we want to install binaries?
#
# Check whether --enable-binaries was given.
if test ${enable_binaries+y}
then :
enableval=$enable_binaries;
fi
if test "$enable_binaries" != "no"; then
OPAL_INSTALL_BINARIES_TRUE=
OPAL_INSTALL_BINARIES_FALSE='#'
else
OPAL_INSTALL_BINARIES_TRUE='#'
OPAL_INSTALL_BINARIES_FALSE=
fi
# Check whether --enable-script-wrapper-compilers was given.
if test ${enable_script_wrapper_compilers+y}
then :
enableval=$enable_script_wrapper_compilers;
fi
if test "$enable_script_wrapper_compilers" = "yes"; then
WANT_SCRIPT_WRAPPER_COMPILERS=1
else
WANT_SCRIPT_WRAPPER_COMPILERS=0
fi
if test "$enable_script_wrapper_compilers" = "yes"; then
OPAL_WANT_SCRIPT_WRAPPER_COMPILERS_TRUE=
OPAL_WANT_SCRIPT_WRAPPER_COMPILERS_FALSE='#'
else
OPAL_WANT_SCRIPT_WRAPPER_COMPILERS_TRUE='#'
OPAL_WANT_SCRIPT_WRAPPER_COMPILERS_FALSE=
fi
#
# Support per-user config files?
#
opal_var_scope_push ${LINENO} result
# Check whether --enable-per-user-config-files was given.
if test ${enable_per_user_config_files+y}
then :
enableval=$enable_per_user_config_files;
fi
if test "$enable_per_user_config_files" = "no" ; then
result=0
else
result=1
fi
printf "%s\n" "#define OPAL_WANT_HOME_CONFIG_FILES $result" >>confdefs.h
opal_var_scope_pop result
#
# Do we want to enable IPv6 support?
#
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want IPv6 support" >&5
printf %s "checking if want IPv6 support... " >&6; }
# Check whether --enable-ipv6 was given.
if test ${enable_ipv6+y}
then :
enableval=$enable_ipv6;
fi
if test "$enable_ipv6" = "yes"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
opal_want_ipv6=1
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
opal_want_ipv6=0
fi
printf "%s\n" "#define OPAL_ENABLE_IPV6 $opal_want_ipv6" >>confdefs.h
#
# Package/brand string
#
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want package/brand string" >&5
printf %s "checking if want package/brand string... " >&6; }
# Check whether --with-package-string was given.
if test ${with_package_string+y}
then :
withval=$with_package_string;
fi
if test "$with_package_string" = "" || test "$with_package_string" = "no"; then
with_package_string="Open MPI $OPAL_CONFIGURE_USER@$OPAL_CONFIGURE_HOST Distribution"
fi
printf "%s\n" "#define OPAL_PACKAGE_STRING \"$with_package_string\"" >>confdefs.h
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_package_string" >&5
printf "%s\n" "$with_package_string" >&6; }
#
# Ident string
#
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want ident string" >&5
printf %s "checking if want ident string... " >&6; }
# Check whether --with-ident-string was given.
if test ${with_ident_string+y}
then :
withval=$with_ident_string;
fi
if test "$with_ident_string" = "" || test "$with_ident_string" = "no"; then
with_ident_string="%VERSION%"
fi
# This is complicated, because $OPAL_VERSION may have spaces in it.
# So put the whole sed expr in single quotes -- i.e., directly
# substitute %VERSION% for (not expanded) $OPAL_VERSION.
with_ident_string="`echo $with_ident_string | sed -e 's/%VERSION%/$OPAL_VERSION/'`"
# Now eval an echo of that so that the "$OPAL_VERSION" token is
# replaced with its value. Enclose the whole thing in "" so that it
# ends up as 1 token.
with_ident_string="`eval echo $with_ident_string`"
printf "%s\n" "#define OPAL_IDENT_STRING \"$with_ident_string\"" >>confdefs.h
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_ident_string" >&5
printf "%s\n" "$with_ident_string" >&6; }
#
# Use alternative checksum algorithm
#
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want to use an alternative checksum algo for messages" >&5
printf %s "checking if want to use an alternative checksum algo for messages... " >&6; }
# Check whether --with-dst-checksum was given.
if test ${with_dst_checksum+y}
then :
withval=$with_dst_checksum;
fi
if test "$with_dst_checksum" = "yes"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
CFLAGS="-DOPAL_CSUM_DST $CFLAGS"
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
#
# User level (mpi.h.in) visible maximum lengths of strings.
# These may be required in lower-level libraries to set up matching
# data-structures (e.g. OPAL_MAX_OBJECT_NAME).
#
# Default values (as of OMPI-1.3), and some sane minimum and maximum values
#
# No lower and upper bound required or enforced
max_value=256
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking maximum length of processor name" >&5
printf %s "checking maximum length of processor name... " >&6; }
# Check whether --with-max-processor-name was given.
if test ${with_max_processor_name+y}
then :
withval=$with_max_processor_name;
fi
if test ! -z "$with_max_processor_name" && test "$with_max_processor_name" != "no" ; then
# Ensure it's a number (hopefully an integer!), and >0
expr $with_max_processor_name + 1 > /dev/null 2> /dev/null
if test "$?" != "0"
then :
happy=0
else $as_nop
if test $with_max_processor_name -ge 16 && test $with_max_processor_name -le 1024
then :
happy=1
else $as_nop
happy=0
fi
fi
# If badness in the above tests, bail
if test "$happy" = "0"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: bad value ($with_max_processor_name)" >&5
printf "%s\n" "bad value ($with_max_processor_name)" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: --with-max-processor-names value must be >= 16 and <= 1024" >&5
printf "%s\n" "$as_me: WARNING: --with-max-processor-names value must be >= 16 and <= 1024" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
max_value=$with_max_processor_name
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $max_value" >&5
printf "%s\n" "$max_value" >&6; }
printf "%s\n" "#define OPAL_MAX_PROCESSOR_NAME $max_value" >>confdefs.h
OPAL_MAX_PROCESSOR_NAME=$max_value
# Min length according to information passed in ompi/errhandler/errcode.c
max_value=256
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking maximum length of error string" >&5
printf %s "checking maximum length of error string... " >&6; }
# Check whether --with-max-error-string was given.
if test ${with_max_error_string+y}
then :
withval=$with_max_error_string;
fi
if test ! -z "$with_max_error_string" && test "$with_max_error_string" != "no" ; then
# Ensure it's a number (hopefully an integer!), and >0
expr $with_max_error_string + 1 > /dev/null 2> /dev/null
if test "$?" != "0"
then :
happy=0
else $as_nop
if test $with_max_error_string -ge 64 && test $with_max_error_string -le 1024
then :
happy=1
else $as_nop
happy=0
fi
fi
# If badness in the above tests, bail
if test "$happy" = "0"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: bad value ($with_max_error_string)" >&5
printf "%s\n" "bad value ($with_max_error_string)" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: --with-max-error-strings value must be >= 64 and <= 1024" >&5
printf "%s\n" "$as_me: WARNING: --with-max-error-strings value must be >= 64 and <= 1024" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
max_value=$with_max_error_string
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $max_value" >&5
printf "%s\n" "$max_value" >&6; }
printf "%s\n" "#define OPAL_MAX_ERROR_STRING $max_value" >>confdefs.h
OPAL_MAX_ERROR_STRING=$max_value
# Min length according to MPI-2.1, p. 236 (information passed in ompi/communicator/comm.c: min only 48)
max_value=64
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking maximum length of object name" >&5
printf %s "checking maximum length of object name... " >&6; }
# Check whether --with-max-object-name was given.
if test ${with_max_object_name+y}
then :
withval=$with_max_object_name;
fi
if test ! -z "$with_max_object_name" && test "$with_max_object_name" != "no" ; then
# Ensure it's a number (hopefully an integer!), and >0
expr $with_max_object_name + 1 > /dev/null 2> /dev/null
if test "$?" != "0"
then :
happy=0
else $as_nop
if test $with_max_object_name -ge 64 && test $with_max_object_name -le 256
then :
happy=1
else $as_nop
happy=0
fi
fi
# If badness in the above tests, bail
if test "$happy" = "0"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: bad value ($with_max_object_name)" >&5
printf "%s\n" "bad value ($with_max_object_name)" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: --with-max-object-names value must be >= 64 and <= 256" >&5
printf "%s\n" "$as_me: WARNING: --with-max-object-names value must be >= 64 and <= 256" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
max_value=$with_max_object_name
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $max_value" >&5
printf "%s\n" "$max_value" >&6; }
printf "%s\n" "#define OPAL_MAX_OBJECT_NAME $max_value" >>confdefs.h
OPAL_MAX_OBJECT_NAME=$max_value
# Min and Max length according to MPI-2.1, p. 287 is 32; longest key in ROMIO however 33
max_value=36
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking maximum length of info key" >&5
printf %s "checking maximum length of info key... " >&6; }
# Check whether --with-max-info-key was given.
if test ${with_max_info_key+y}
then :
withval=$with_max_info_key;
fi
if test ! -z "$with_max_info_key" && test "$with_max_info_key" != "no" ; then
# Ensure it's a number (hopefully an integer!), and >0
expr $with_max_info_key + 1 > /dev/null 2> /dev/null
if test "$?" != "0"
then :
happy=0
else $as_nop
if test $with_max_info_key -ge 34 && test $with_max_info_key -le 255
then :
happy=1
else $as_nop
happy=0
fi
fi
# If badness in the above tests, bail
if test "$happy" = "0"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: bad value ($with_max_info_key)" >&5
printf "%s\n" "bad value ($with_max_info_key)" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: --with-max-info-keys value must be >= 34 and <= 255" >&5
printf "%s\n" "$as_me: WARNING: --with-max-info-keys value must be >= 34 and <= 255" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
max_value=$with_max_info_key
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $max_value" >&5
printf "%s\n" "$max_value" >&6; }
printf "%s\n" "#define OPAL_MAX_INFO_KEY $max_value" >>confdefs.h
OPAL_MAX_INFO_KEY=$max_value
# No lower and upper bound required or enforced!
max_value=256
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking maximum length of info val" >&5
printf %s "checking maximum length of info val... " >&6; }
# Check whether --with-max-info-val was given.
if test ${with_max_info_val+y}
then :
withval=$with_max_info_val;
fi
if test ! -z "$with_max_info_val" && test "$with_max_info_val" != "no" ; then
# Ensure it's a number (hopefully an integer!), and >0
expr $with_max_info_val + 1 > /dev/null 2> /dev/null
if test "$?" != "0"
then :
happy=0
else $as_nop
if test $with_max_info_val -ge 32 && test $with_max_info_val -le 1024
then :
happy=1
else $as_nop
happy=0
fi
fi
# If badness in the above tests, bail
if test "$happy" = "0"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: bad value ($with_max_info_val)" >&5
printf "%s\n" "bad value ($with_max_info_val)" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: --with-max-info-vals value must be >= 32 and <= 1024" >&5
printf "%s\n" "$as_me: WARNING: --with-max-info-vals value must be >= 32 and <= 1024" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
max_value=$with_max_info_val
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $max_value" >&5
printf "%s\n" "$max_value" >&6; }
printf "%s\n" "#define OPAL_MAX_INFO_VAL $max_value" >>confdefs.h
OPAL_MAX_INFO_VAL=$max_value
# Min length according to _POSIX_HOST_NAME_MAX=255 (4*HOST_NAME_MAX)
max_value=1024
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking maximum length of port name" >&5
printf %s "checking maximum length of port name... " >&6; }
# Check whether --with-max-port-name was given.
if test ${with_max_port_name+y}
then :
withval=$with_max_port_name;
fi
if test ! -z "$with_max_port_name" && test "$with_max_port_name" != "no" ; then
# Ensure it's a number (hopefully an integer!), and >0
expr $with_max_port_name + 1 > /dev/null 2> /dev/null
if test "$?" != "0"
then :
happy=0
else $as_nop
if test $with_max_port_name -ge 255 && test $with_max_port_name -le 2048
then :
happy=1
else $as_nop
happy=0
fi
fi
# If badness in the above tests, bail
if test "$happy" = "0"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: bad value ($with_max_port_name)" >&5
printf "%s\n" "bad value ($with_max_port_name)" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: --with-max-port-names value must be >= 255 and <= 2048" >&5
printf "%s\n" "$as_me: WARNING: --with-max-port-names value must be >= 255 and <= 2048" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
max_value=$with_max_port_name
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $max_value" >&5
printf "%s\n" "$max_value" >&6; }
printf "%s\n" "#define OPAL_MAX_PORT_NAME $max_value" >>confdefs.h
OPAL_MAX_PORT_NAME=$max_value
# Min length according to MPI-2.1, p. 418
max_value=128
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking maximum length of datarep string" >&5
printf %s "checking maximum length of datarep string... " >&6; }
# Check whether --with-max-datarep-string was given.
if test ${with_max_datarep_string+y}
then :
withval=$with_max_datarep_string;
fi
if test ! -z "$with_max_datarep_string" && test "$with_max_datarep_string" != "no" ; then
# Ensure it's a number (hopefully an integer!), and >0
expr $with_max_datarep_string + 1 > /dev/null 2> /dev/null
if test "$?" != "0"
then :
happy=0
else $as_nop
if test $with_max_datarep_string -ge 64 && test $with_max_datarep_string -le 256
then :
happy=1
else $as_nop
happy=0
fi
fi
# If badness in the above tests, bail
if test "$happy" = "0"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: bad value ($with_max_datarep_string)" >&5
printf "%s\n" "bad value ($with_max_datarep_string)" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: --with-max-datarep-strings value must be >= 64 and <= 256" >&5
printf "%s\n" "$as_me: WARNING: --with-max-datarep-strings value must be >= 64 and <= 256" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
max_value=$with_max_datarep_string
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $max_value" >&5
printf "%s\n" "$max_value" >&6; }
printf "%s\n" "#define OPAL_MAX_DATAREP_STRING $max_value" >>confdefs.h
OPAL_MAX_DATAREP_STRING=$max_value
max_value=512
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking maximum length of pset name len" >&5
printf %s "checking maximum length of pset name len... " >&6; }
# Check whether --with-max-pset-name-len was given.
if test ${with_max_pset_name_len+y}
then :
withval=$with_max_pset_name_len;
fi
if test ! -z "$with_max_pset_name_len" && test "$with_max_pset_name_len" != "no" ; then
# Ensure it's a number (hopefully an integer!), and >0
expr $with_max_pset_name_len + 1 > /dev/null 2> /dev/null
if test "$?" != "0"
then :
happy=0
else $as_nop
if test $with_max_pset_name_len -ge 512 && test $with_max_pset_name_len -le 4096
then :
happy=1
else $as_nop
happy=0
fi
fi
# If badness in the above tests, bail
if test "$happy" = "0"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: bad value ($with_max_pset_name_len)" >&5
printf "%s\n" "bad value ($with_max_pset_name_len)" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: --with-max-pset-name-lens value must be >= 512 and <= 4096" >&5
printf "%s\n" "$as_me: WARNING: --with-max-pset-name-lens value must be >= 512 and <= 4096" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
max_value=$with_max_pset_name_len
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $max_value" >&5
printf "%s\n" "$max_value" >&6; }
printf "%s\n" "#define OPAL_MAX_PSET_NAME_LEN $max_value" >>confdefs.h
OPAL_MAX_PSET_NAME_LEN=$max_value
max_value=1024
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking maximum length of stringtag len" >&5
printf %s "checking maximum length of stringtag len... " >&6; }
# Check whether --with-max-stringtag-len was given.
if test ${with_max_stringtag_len+y}
then :
withval=$with_max_stringtag_len;
fi
if test ! -z "$with_max_stringtag_len" && test "$with_max_stringtag_len" != "no" ; then
# Ensure it's a number (hopefully an integer!), and >0
expr $with_max_stringtag_len + 1 > /dev/null 2> /dev/null
if test "$?" != "0"
then :
happy=0
else $as_nop
if test $with_max_stringtag_len -ge 256 && test $with_max_stringtag_len -le 2048
then :
happy=1
else $as_nop
happy=0
fi
fi
# If badness in the above tests, bail
if test "$happy" = "0"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: bad value ($with_max_stringtag_len)" >&5
printf "%s\n" "bad value ($with_max_stringtag_len)" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: --with-max-stringtag-lens value must be >= 256 and <= 2048" >&5
printf "%s\n" "$as_me: WARNING: --with-max-stringtag-lens value must be >= 256 and <= 2048" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
max_value=$with_max_stringtag_len
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $max_value" >&5
printf "%s\n" "$max_value" >&6; }
printf "%s\n" "#define OPAL_MAX_STRINGTAG_LEN $max_value" >>confdefs.h
OPAL_MAX_STRINGTAG_LEN=$max_value
# some systems don't want/like getpwuid
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want getpwuid support" >&5
printf %s "checking if want getpwuid support... " >&6; }
# Check whether --enable-getpwuid was given.
if test ${enable_getpwuid+y}
then :
enableval=$enable_getpwuid;
fi
if test "$enable_getpwuid" = "no"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
opal_want_getpwuid=0
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
opal_want_getpwuid=1
fi
printf "%s\n" "#define OPAL_ENABLE_GETPWUID $opal_want_getpwuid" >>confdefs.h
printf "%s\n" "#define OPAL_ENABLE_PROGRESS_THREADS 0" >>confdefs.h
###########################
# Open MPI options
opal_show_subtitle "MPI layer configuration options"
#
# Disable MPI layer?
#
# Check whether --enable-mpi was given.
if test ${enable_mpi+y}
then :
enableval=$enable_mpi;
fi
#
# Do we want to enable MPI interface warnings (e.g. deprecated
# functionality and others)?
#
# This was disabled by default in v1.5, but will be enabled by default
# in 1.7 and beyond.
#
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want compile-time warnings inside of mpi.h" >&5
printf %s "checking if want compile-time warnings inside of mpi.h... " >&6; }
# Check whether --enable-mpi-interface-warning was given.
if test ${enable_mpi_interface_warning+y}
then :
enableval=$enable_mpi_interface_warning;
fi
if test "$enable_mpi_interface_warning" != "no"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
OMPI_WANT_MPI_INTERFACE_WARNING=1
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
OMPI_WANT_MPI_INTERFACE_WARNING=0
fi
printf "%s\n" "#define OMPI_WANT_MPI_INTERFACE_WARNING $OMPI_WANT_MPI_INTERFACE_WARNING" >>confdefs.h
#
# Sparse Groups
#
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want sparse process groups" >&5
printf %s "checking if want sparse process groups... " >&6; }
# Check whether --enable-sparse-groups was given.
if test ${enable_sparse_groups+y}
then :
enableval=$enable_sparse_groups;
fi
if test "$enable_sparse_groups" = "yes"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
GROUP_SPARSE=1
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
GROUP_SPARSE=0
fi
printf "%s\n" "#define OMPI_GROUP_SPARSE $GROUP_SPARSE" >>confdefs.h
#
# Do we want to enable peruse interface?
#
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want peruse support" >&5
printf %s "checking if want peruse support... " >&6; }
# Check whether --enable-peruse was given.
if test ${enable_peruse+y}
then :
enableval=$enable_peruse;
fi
if test "$enable_peruse" = "yes"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
WANT_PERUSE=1
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
WANT_PERUSE=0
fi
printf "%s\n" "#define OMPI_WANT_PERUSE $WANT_PERUSE" >>confdefs.h
if test "$WANT_PERUSE" = "1"; then
WANT_PERUSE_TRUE=
WANT_PERUSE_FALSE='#'
else
WANT_PERUSE_TRUE='#'
WANT_PERUSE_FALSE=
fi
#
# Fortran MPI bindings
#
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want Fortran MPI bindings" >&5
printf %s "checking if want Fortran MPI bindings... " >&6; }
# Check whether --enable-mpi-fortran was given.
if test ${enable_mpi_fortran+y}
then :
enableval=$enable_mpi_fortran;
fi
# These are the 4 monotonically-rising values indicating levels of
# Fortran bindings support.
OMPI_FORTRAN_NO_BINDINGS=0
OMPI_FORTRAN_MPIFH_BINDINGS=1
OMPI_FORTRAN_USEMPI_BINDINGS=2
OMPI_FORTRAN_USEMPIF08_BINDINGS=3
# Set this variable to minimum the level of Fortran bindings support
# that is *required* (i.e., if we can't achieve this level, then
# configure should abort).
OMPI_MIN_REQUIRED_FORTRAN_BINDINGS=$OMPI_FORTRAN_NO_BINDINGS
# Set this variable to the highest level of Fortran bindings support
# that should be attempted. This value will never be <=
# $OMPI_MIN_REQUIRED_FORTRAN_BINDINGS.
OMPI_TRY_FORTRAN_BINDINGS=$OMPI_FORTRAN_NO_BINDINGS
case "x$enable_mpi_fortran" in
x|xbest-effort)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: (try)" >&5
printf "%s\n" " (try)" >&6; }
OMPI_MIN_REQUIRED_FORTRAN_BINDINGS=$OMPI_FORTRAN_NO_BINDINGS
OMPI_TRY_FORTRAN_BINDINGS=$OMPI_FORTRAN_USEMPIF08_BINDINGS
;;
xyes)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes (default)" >&5
printf "%s\n" "yes (default)" >&6; }
OMPI_MIN_REQUIRED_FORTRAN_BINDINGS=$OMPI_FORTRAN_MPIFH_BINDINGS
OMPI_TRY_FORTRAN_BINDINGS=$OMPI_FORTRAN_USEMPIF08_BINDINGS
;;
xall|xusempif08)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: all (usempif08)" >&5
printf "%s\n" "all (usempif08)" >&6; }
OMPI_MIN_REQUIRED_FORTRAN_BINDINGS=$OMPI_FORTRAN_USEMPIF08_BINDINGS
OMPI_TRY_FORTRAN_BINDINGS=$OMPI_FORTRAN_USEMPIF08_BINDINGS
;;
xno|xnone)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no (none)" >&5
printf "%s\n" "no (none)" >&6; }
OMPI_MIN_REQUIRED_FORTRAN_BINDINGS=$OMPI_FORTRAN_NO_BINDINGS
OMPI_TRY_FORTRAN_BINDINGS=$OMPI_FORTRAN_NO_BINDINGS
;;
xmpifh)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes (mpif.h)" >&5
printf "%s\n" "yes (mpif.h)" >&6; }
OMPI_MIN_REQUIRED_FORTRAN_BINDINGS=$OMPI_FORTRAN_MPIFH_BINDINGS
OMPI_TRY_FORTRAN_BINDINGS=$OMPI_FORTRAN_MPIFH_BINDINGS
;;
xusempi)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes (mpif.h, mpi module)" >&5
printf "%s\n" "yes (mpif.h, mpi module)" >&6; }
OMPI_MIN_REQUIRED_FORTRAN_BINDINGS=$OMPI_FORTRAN_USEMPI_BINDINGS
OMPI_TRY_FORTRAN_BINDINGS=$OMPI_FORTRAN_USEMPI_BINDINGS
;;
*)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unknown: $binding" >&5
printf "%s\n" "unknown: $binding" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: --enable-mpi-fortran supports only one of the following values: yes, all, none, best-effort, mpifh, usempi, or usempif08" >&5
printf "%s\n" "$as_me: WARNING: --enable-mpi-fortran supports only one of the following values: yes, all, none, best-effort, mpifh, usempi, or usempif08" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
;;
esac
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking where to install Fortran MPI modules" >&5
printf %s "checking where to install Fortran MPI modules... " >&6; }
# Check whether --with-mpi-moduledir was given.
if test ${with_mpi_moduledir+y}
then :
withval=$with_mpi_moduledir; OMPI_FORTRAN_MODULEDIR=$withval
else $as_nop
OMPI_FORTRAN_MODULEDIR=$libdir
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OMPI_FORTRAN_MODULEDIR" >&5
printf "%s\n" "$OMPI_FORTRAN_MODULEDIR" >&6; }
# Remove these when we finally kill them once and for all
# Check whether --enable-mpi1-compatibility was given.
if test ${enable_mpi1_compatibility+y}
then :
enableval=$enable_mpi1_compatibility;
fi
if test "x$enable_mpi1_compatibility" = "xyes" ; then
ompi_mpi1_support=1
else
ompi_mpi1_support=0
fi
printf "%s\n" "#define OMPI_ENABLE_MPI1_COMPAT $ompi_mpi1_support" >>confdefs.h
OMPI_ENABLE_MPI1_COMPAT=$ompi_mpi1_support
if test $ompi_mpi1_support = 1; then
OMPI_ENABLE_MPI1_COMPAT_TRUE=
OMPI_ENABLE_MPI1_COMPAT_FALSE='#'
else
OMPI_ENABLE_MPI1_COMPAT_TRUE='#'
OMPI_ENABLE_MPI1_COMPAT_FALSE=
fi
# Check whether --enable-grequest-extensions was given.
if test ${enable_grequest_extensions+y}
then :
enableval=$enable_grequest_extensions;
fi
if test "x$enable_grequest_extensions" = "xyes" ; then
ompi_grequest_extensions=1
else
ompi_grequest_extensions=0
fi
printf "%s\n" "#define OMPI_ENABLE_GREQUEST_EXTENSIONS $ompi_grequest_extensions" >>confdefs.h
OMPI_ENABLE_GREQUEST_EXTENSIONS=$ompi_grequest_extensions
if test $ompi_grequest_extensions = 1; then
OMPI_ENABLE_GREQUEST_EXTENSIONS_TRUE=
OMPI_ENABLE_GREQUEST_EXTENSIONS_FALSE='#'
else
OMPI_ENABLE_GREQUEST_EXTENSIONS_TRUE='#'
OMPI_ENABLE_GREQUEST_EXTENSIONS_FALSE=
fi
#
# Do we want to disable MPI parameter checking at run-time?
#
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want run-time MPI parameter checking" >&5
printf %s "checking if want run-time MPI parameter checking... " >&6; }
# Check whether --with-mpi-param-check was given.
if test ${with_mpi_param_check+y}
then :
withval=$with_mpi_param_check;
fi
mpi_param_check=ompi_mpi_param_check
if test "$with_mpi_param_check" = "no" || \
test "$with_mpi_param_check" = "never"; then
mpi_param_check=0
ompi_param_check=0
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: never" >&5
printf "%s\n" "never" >&6; }
elif test "$with_mpi_param_check" = "yes" || \
test "$with_mpi_param_check" = "always"; then
mpi_param_check=1
ompi_param_check=1
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: always" >&5
printf "%s\n" "always" >&6; }
elif test "$with_mpi_param_check" = "runtime" || \
test -z "$with_mpi_params_check"; then
ompi_param_check=1
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: runtime" >&5
printf "%s\n" "runtime" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unknown" >&5
printf "%s\n" "unknown" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Unrecognized --with-mpi-param-check value" >&5
printf "%s\n" "$as_me: WARNING: *** Unrecognized --with-mpi-param-check value" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** See \"configure --help\" output" >&5
printf "%s\n" "$as_me: WARNING: *** See \"configure --help\" output" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Defaulting to \"runtime\"" >&5
printf "%s\n" "$as_me: WARNING: *** Defaulting to \"runtime\"" >&2;}
fi
printf "%s\n" "#define MPI_PARAM_CHECK $mpi_param_check" >>confdefs.h
printf "%s\n" "#define OMPI_PARAM_CHECK $ompi_param_check" >>confdefs.h
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want OMPIO support" >&5
printf %s "checking if want OMPIO support... " >&6; }
# Check whether --enable-io-ompio was given.
if test ${enable_io_ompio+y}
then :
enableval=$enable_io_ompio;
fi
if test "$enable_io_ompio" = "no" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
ompi_want_ompio=0
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
ompi_want_ompio=1
fi
if test "$ompi_want_ompio" = "1"; then
OMPI_OMPIO_SUPPORT_TRUE=
OMPI_OMPIO_SUPPORT_FALSE='#'
else
OMPI_OMPIO_SUPPORT_TRUE='#'
OMPI_OMPIO_SUPPORT_FALSE=
fi
# Enable/Disable Software-Based Performance Counters Capability
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want software-based performance counters (SPC)" >&5
printf %s "checking if want software-based performance counters (SPC)... " >&6; }
# Check whether --enable-spc was given.
if test ${enable_spc+y}
then :
enableval=$enable_spc;
fi
if test "$enable_spc" = "yes"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
SPC_ENABLE=1
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
SPC_ENABLE=0
fi
printf "%s\n" "#define SPC_ENABLE $SPC_ENABLE" >>confdefs.h
if test "$SPC_ENABLE" = "1"; then
SPC_ENABLE_TRUE=
SPC_ENABLE_FALSE='#'
else
SPC_ENABLE_TRUE='#'
SPC_ENABLE_FALSE=
fi
if test "$enable_spc" != "no"
then :
project_spc_amc=true
else $as_nop
project_spc_amc=false
fi
if test "$enable_binaries" = "no" && test "$enable_dist" = "yes"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: --disable-binaries is incompatible with --enable dist" >&5
printf "%s\n" "$as_me: WARNING: --disable-binaries is incompatible with --enable dist" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
# The library prefixes must be set before we call OPAL MCA. Here is
# as good a place as any.
if test "$opal_lib_prefix_set" = "yes"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: OPAL lib name was already set!" >&5
printf "%s\n" "$as_me: WARNING: OPAL lib name was already set!" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configury programming error" >&5
printf "%s\n" "$as_me: WARNING: This is a configury programming error" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
OPAL_LIB_NAME=open-pal
opal_lib_prefix_set=yes
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want custom libmpi(_FOO) name" >&5
printf %s "checking if want custom libmpi(_FOO) name... " >&6; }
# Check whether --with-libmpi-name was given.
if test ${with_libmpi_name+y}
then :
withval=$with_libmpi_name;
fi
if test "$with_libmpi_name" = "no"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error" >&5
printf "%s\n" "Error" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Invalid to specify --without-libmpi-name" >&5
printf "%s\n" "$as_me: WARNING: Invalid to specify --without-libmpi-name" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
if test "$with_libmpi_name" = "" || test "$with_libmpi_name" = "yes"
then :
with_libmpi_name="mpi"
fi
OMPI_LIBMPI_NAME=${with_libmpi_name}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OMPI_LIBMPI_NAME" >&5
printf "%s\n" "$OMPI_LIBMPI_NAME" >&6; }
###########################
# OSHMEM options
opal_show_subtitle "OpenSHMEM Configuration options"
#
# Disable Open SHMEM?
#
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want OpenSHMEM" >&5
printf %s "checking if want OpenSHMEM... " >&6; }
# Check whether --enable-oshmem was given.
if test ${enable_oshmem+y}
then :
enableval=$enable_oshmem;
fi
if test "$enable_oshmem" = "no"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
elif test "$enable_oshmem" = ""; then
case $host_os in
linux*)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
;;
*)
enable_oshmem=no
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not supported on this platform" >&5
printf "%s\n" "not supported on this platform" >&6; }
;;
esac
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
case $host_os in
linux*)
;;
*)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: OpenSHMEM support was requested, but currently" >&5
printf "%s\n" "$as_me: WARNING: OpenSHMEM support was requested, but currently" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: only supports Linux." >&5
printf "%s\n" "$as_me: WARNING: only supports Linux." >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
;;
esac
fi
#
# Enable compatibility mode
#
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want SGI/Quadrics compatibility mode" >&5
printf %s "checking if want SGI/Quadrics compatibility mode... " >&6; }
# Check whether --enable-oshmem-compat was given.
if test ${enable_oshmem_compat+y}
then :
enableval=$enable_oshmem_compat;
fi
if test "$enable_oshmem_compat" != "no"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
OSHMEM_SPEC_COMPAT=1
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
OSHMEM_SPEC_COMPAT=0
fi
printf "%s\n" "#define OSHMEM_SPEC_COMPAT $OSHMEM_SPEC_COMPAT" >>confdefs.h
#
# Do we want to disable OSHMEM parameter checking at run-time?
#
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want OpenSHMEM API parameter checking" >&5
printf %s "checking if want OpenSHMEM API parameter checking... " >&6; }
# Check whether --with-oshmem-param-check was given.
if test ${with_oshmem_param_check+y}
then :
withval=$with_oshmem_param_check;
fi
if test "$with_oshmem_param_check" = "no" || \
test "$with_oshmem_param_check" = "never"; then
shmem_param_check=0
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: never" >&5
printf "%s\n" "never" >&6; }
elif test "$with_oshmem_param_check" = "yes" || \
test "$with_oshmem_param_check" = "always" || \
test -z "$with_oshmem_param_check"; then
shmem_param_check=1
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: always" >&5
printf "%s\n" "always" >&6; }
else
shmem_param_check=1
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unknown" >&5
printf "%s\n" "unknown" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Unrecognized --with-oshmem-param-check value" >&5
printf "%s\n" "$as_me: WARNING: *** Unrecognized --with-oshmem-param-check value" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** See \"configure --help\" output" >&5
printf "%s\n" "$as_me: WARNING: *** See \"configure --help\" output" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Defaulting to \"always\"" >&5
printf "%s\n" "$as_me: WARNING: *** Defaulting to \"always\"" >&2;}
fi
printf "%s\n" "#define OSHMEM_PARAM_CHECK $shmem_param_check" >>confdefs.h
#
# OSHMEM profiling support
#
# Check whether --enable-oshmem-profile was given.
if test ${enable_oshmem_profile+y}
then :
enableval=$enable_oshmem_profile;
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want pshmem" >&5
printf %s "checking if want pshmem... " >&6; }
if test "$enable_oshmem_profile" != "no"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
# Bozo check
if test "$enable_oshmem" = "no" && \
test "$enable_oshmem_profile" = "yes"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: OpenSHMEM profiling was requested, but OpenSHMEM has been explicitly disabled" >&5
printf "%s\n" "$as_me: WARNING: OpenSHMEM profiling was requested, but OpenSHMEM has been explicitly disabled" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
# Cannot check if we can enable profiling because it is not yet
# known whether the compiler supports weak symbols.
#
# Fortran bindings
#
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want to build OpenSHMEM fortran bindings" >&5
printf %s "checking if want to build OpenSHMEM fortran bindings... " >&6; }
# Check whether --enable-oshmem-fortran was given.
if test ${enable_oshmem_fortran+y}
then :
enableval=$enable_oshmem_fortran;
fi
if test "$enable_oshmem_fortran" != "no"; then
# If no OMPI FORTRAN, bail
if test $OMPI_TRY_FORTRAN_BINDINGS -eq $OMPI_FORTRAN_NO_BINDINGS && \
test "$enable_oshmem_fortran" = "yes"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: bad value OMPI_TRY_FORTRAN_BINDINGS: ($OMPI_TRY_FORTRAN_BINDINGS)" >&5
printf "%s\n" "bad value OMPI_TRY_FORTRAN_BINDINGS: ($OMPI_TRY_FORTRAN_BINDINGS)" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Your request to --enable-oshmem-fortran can only be satisfied if fortran support is enabled in OMPI.
You see this message because MPI fortran support has been explicitly disabled via --disable-mpi-fortran and OpenSHMEM fortran support was explicitly enabled with --enable-oshmem-fortran.
Configure will abort because you, a human, have asked for something that cannot be provided." >&5
printf "%s\n" "$as_me: WARNING: Your request to --enable-oshmem-fortran can only be satisfied if fortran support is enabled in OMPI.
You see this message because MPI fortran support has been explicitly disabled via --disable-mpi-fortran and OpenSHMEM fortran support was explicitly enabled with --enable-oshmem-fortran.
Configure will abort because you, a human, have asked for something that cannot be provided." >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
if test $OMPI_TRY_FORTRAN_BINDINGS -gt $OMPI_FORTRAN_NO_BINDINGS; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
else
enable_oshmem_fortran=no
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
#
# We can't set am_conditional here since it's yet unknown if there is
# valid Fortran compiler available
#
# Set up project specific AM_CONDITIONALs
if test "$enable_ompi" != "no"
then :
project_ompi_amc=true
else $as_nop
project_ompi_amc=false
fi
if test "$enable_oshmem" != "no"
then :
project_oshmem_amc=true
else $as_nop
project_oshmem_amc="no (disabled)"
fi
############################################################################
# Libtool: part one
# (before C compiler setup)
############################################################################
#
# Part one of libtool magic. Default to: enable shared, disable static.
#
# Check whether --enable-shared was given.
if test ${enable_shared+y}
then :
enableval=$enable_shared; p=${PACKAGE-default}
case $enableval in
yes) enable_shared=yes ;;
no) enable_shared=no ;;
*)
enable_shared=no
# Look at the argument we got. We use all the common list separators.
lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for pkg in $enableval; do
IFS=$lt_save_ifs
if test "X$pkg" = "X$p"; then
enable_shared=yes
fi
done
IFS=$lt_save_ifs
;;
esac
else $as_nop
enable_shared=yes
fi
# Check whether --enable-static was given.
if test ${enable_static+y}
then :
enableval=$enable_static; p=${PACKAGE-default}
case $enableval in
yes) enable_static=yes ;;
no) enable_static=no ;;
*)
enable_static=no
# Look at the argument we got. We use all the common list separators.
lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for pkg in $enableval; do
IFS=$lt_save_ifs
if test "X$pkg" = "X$p"; then
enable_static=yes
fi
done
IFS=$lt_save_ifs
;;
esac
else $as_nop
enable_static=no
fi
##################################
# Check for known incompatibility
##################################
# Do *not* print a message that we're checking the OS because this
# test is *not* meant to be an all-inclusive "if it passes this test,
# then configure must succeed" test. This test is *only* mean to
# screen out the versions of OS X where we know OMPI will cause kernel
# panics because of bad implementations of pty's. See
# https://svn.open-mpi.org/trac/ompi/ticket/1637 for details.
# OS X name OS X Version $host_os value
# OS X Tiger 10.4.x darwin8.x
# OS X Leopard 10.5.x darwin9.x
# OS X Snow Leopard 10.6.x darwin10.x
# OS X Lion 10.7.x darwin11.x
# We do not support OS X before version 10.5 (Leopard)
case $host_os in
# Corresponds to OS X 10.0 - 10.4 (additional [] quoting for m4)
darwin[45678]*)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI does not support OS X prior to version 10.5 (Leopard)" >&5
printf "%s\n" "$as_me: WARNING: Open MPI does not support OS X prior to version 10.5 (Leopard)" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
esac
############################################################################
# Check for compilers and preprocessors
############################################################################
opal_show_title "Compiler and preprocessor tests"
##################################
# C compiler characteristics
##################################
opal_show_subtitle "C compiler and preprocessor"
DEPDIR="${am__leading_dot}deps"
ac_config_commands="$ac_config_commands depfiles"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5
printf %s "checking whether ${MAKE-make} supports the include directive... " >&6; }
cat > confinc.mk << 'END'
am__doit:
@echo this is the am__doit target >confinc.out
.PHONY: am__doit
END
am__include="#"
am__quote=
# BSD make does it like this.
echo '.include "confinc.mk" # ignored' > confmf.BSD
# Other make implementations (GNU, Solaris 10, AIX) do it like this.
echo 'include confinc.mk # ignored' > confmf.GNU
_am_result=no
for s in GNU BSD; do
{ echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5
(${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
case $?:`cat confinc.out 2>/dev/null` in #(
'0:this is the am__doit target') :
case $s in #(
BSD) :
am__include='.include' am__quote='"' ;; #(
*) :
am__include='include' am__quote='' ;;
esac ;; #(
*) :
;;
esac
if test "$am__include" != "#"; then
_am_result="yes ($s style)"
break
fi
done
rm -f confinc.* confmf.*
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5
printf "%s\n" "${_am_result}" >&6; }
# Check whether --enable-dependency-tracking was given.
if test ${enable_dependency_tracking+y}
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=
AMDEP_FALSE='#'
else
AMDEP_TRUE='#'
AMDEP_FALSE=
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
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
set dummy ${ac_tool_prefix}gcc; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}gcc"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
printf "%s\n" "$CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_CC"; then
ac_ct_CC=$CC
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="gcc"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
printf "%s\n" "$ac_ct_CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
if test "x$ac_ct_CC" = x; then
CC=""
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CC=$ac_ct_CC
fi
else
CC="$ac_cv_prog_CC"
fi
if test -z "$CC"; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
set dummy ${ac_tool_prefix}cc; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}cc"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
printf "%s\n" "$CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
fi
fi
if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
ac_prog_rejected=no
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
if test "$as_dir$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
ac_prog_rejected=yes
continue
fi
ac_cv_prog_CC="cc"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
if test $ac_prog_rejected = yes; then
# We found a bogon in the path, so make sure we never use it.
set dummy $ac_cv_prog_CC
shift
if test $# != 0; then
# We chose a different compiler from the bogus one.
# However, it has the same basename, so the bogon will be chosen
# first if we set CC to just the basename; use the full file name.
shift
ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@"
fi
fi
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
printf "%s\n" "$CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
fi
if test -z "$CC"; then
if test -n "$ac_tool_prefix"; then
for ac_prog in cl.exe
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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
printf "%s\n" "$CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
test -n "$CC" && break
done
fi
if test -z "$CC"; then
ac_ct_CC=$CC
for ac_prog in cl.exe
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="$ac_prog"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
printf "%s\n" "$ac_ct_CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
test -n "$ac_ct_CC" && break
done
if test "x$ac_ct_CC" = x; then
CC=""
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CC=$ac_ct_CC
fi
fi
fi
if test -z "$CC"; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}clang", so it can be a program name with args.
set dummy ${ac_tool_prefix}clang; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}clang"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
printf "%s\n" "$CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_CC"; then
ac_ct_CC=$CC
# Extract the first word of "clang", so it can be a program name with args.
set dummy clang; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="clang"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
printf "%s\n" "$ac_ct_CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
if test "x$ac_ct_CC" = x; then
CC=""
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CC=$ac_ct_CC
fi
else
CC="$ac_cv_prog_CC"
fi
fi
test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$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; }
# Provide some information about the compiler.
printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
set X $ac_compile
ac_compiler=$2
for ac_option in --version -v -V -qversion -version; do
{ { ac_try="$ac_compiler $ac_option >&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\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_compiler $ac_option >&5") 2>conftest.err
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
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
done
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
ac_clean_files_save=$ac_clean_files
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.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
printf %s "checking whether the C compiler works... " >&6; }
ac_link_default=`printf "%s\n" "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
# The possible output files:
ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
ac_rmfiles=
for ac_file in $ac_files
do
case $ac_file in
*.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
* ) ac_rmfiles="$ac_rmfiles $ac_file";;
esac
done
rm -f $ac_rmfiles
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\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_link_default") 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
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,
# so that the user can short-circuit this test for compilers unknown to
# Autoconf.
for ac_file in $ac_files ''
do
test -f "$ac_file" || continue
case $ac_file in
*.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
;;
[ab].out )
# We found the default executable, but exeext='' is most
# certainly right.
break;;
*.* )
if test ${ac_cv_exeext+y} && test "$ac_cv_exeext" != no;
then :; else
ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
fi
# We set ac_cv_exeext here because the later test for it is not
# safe: cross compilers may not add the suffix if given an `-o'
# argument, so we may need to know it at that point already.
# Even if this section looks crufty: it has the advantage of
# actually working.
break;;
* )
break;;
esac
done
test "$ac_cv_exeext" = no && ac_cv_exeext=
else $as_nop
ac_file=''
fi
if test -z "$ac_file"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "C compiler cannot create executables
See \`config.log' for more details" "$LINENO" 5; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
printf %s "checking for C compiler default output file name... " >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
printf "%s\n" "$ac_file" >&6; }
ac_exeext=$ac_cv_exeext
rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
ac_clean_files=$ac_clean_files_save
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
printf %s "checking for suffix of executables... " >&6; }
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\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_link") 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
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
# `rm'.
for ac_file in conftest.exe conftest conftest.*; do
test -f "$ac_file" || continue
case $ac_file in
*.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
*.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
break;;
* ) break;;
esac
done
else $as_nop
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$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; }
fi
rm -f conftest conftest$ac_cv_exeext
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
printf "%s\n" "$ac_cv_exeext" >&6; }
rm -f conftest.$ac_ext
EXEEXT=$ac_cv_exeext
ac_exeext=$EXEEXT
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
int
main (void)
{
FILE *f = fopen ("conftest.out", "w");
return ferror (f) || fclose (f) != 0;
;
return 0;
}
_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.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
printf %s "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\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_link") 2>&5
ac_status=$?
printf "%s\n" "$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\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_try") 2>&5
ac_status=$?
printf "%s\n" "$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
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details" "$LINENO" 5; }
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
printf "%s\n" "$cross_compiling" >&6; }
rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
ac_clean_files=$ac_clean_files_save
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
printf %s "checking for suffix of object files... " >&6; }
if test ${ac_cv_objext+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
rm -f conftest.o conftest.obj
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\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_compile") 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
then :
for ac_file in conftest.o conftest.obj conftest.*; do
test -f "$ac_file" || continue;
case $ac_file in
*.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
*) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
break;;
esac
done
else $as_nop
printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$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; }
fi
rm -f conftest.$ac_cv_objext conftest.$ac_ext
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
printf "%s\n" "$ac_cv_objext" >&6; }
OBJEXT=$ac_cv_objext
ac_objext=$OBJEXT
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5
printf %s "checking whether the compiler supports GNU C... " >&6; }
if test ${ac_cv_c_compiler_gnu+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
#ifndef __GNUC__
choke me
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_compiler_gnu=yes
else $as_nop
ac_compiler_gnu=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_cv_c_compiler_gnu=$ac_compiler_gnu
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; }
ac_compiler_gnu=$ac_cv_c_compiler_gnu
if test $ac_compiler_gnu = yes; then
GCC=yes
else
GCC=
fi
ac_test_CFLAGS=${CFLAGS+y}
ac_save_CFLAGS=$CFLAGS
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
printf %s "checking whether $CC accepts -g... " >&6; }
if test ${ac_cv_prog_cc_g+y}
then :
printf %s "(cached) " >&6
else $as_nop
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
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_prog_cc_g=yes
else $as_nop
CFLAGS=""
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
else $as_nop
ac_c_werror_flag=$ac_save_c_werror_flag
CFLAGS="-g"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_prog_cc_g=yes
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_c_werror_flag=$ac_save_c_werror_flag
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
printf "%s\n" "$ac_cv_prog_cc_g" >&6; }
if test $ac_test_CFLAGS; then
CFLAGS=$ac_save_CFLAGS
elif test $ac_cv_prog_cc_g = yes; then
if test "$GCC" = yes; then
CFLAGS="-g -O2"
else
CFLAGS="-g"
fi
else
if test "$GCC" = yes; then
CFLAGS="-O2"
else
CFLAGS=
fi
fi
ac_prog_cc_stdc=no
if test x$ac_prog_cc_stdc = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5
printf %s "checking for $CC option to enable C11 features... " >&6; }
if test ${ac_cv_prog_cc_c11+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_cv_prog_cc_c11=no
ac_save_CC=$CC
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_c_conftest_c11_program
_ACEOF
for ac_arg in '' -std=gnu11
do
CC="$ac_save_CC $ac_arg"
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_prog_cc_c11=$ac_arg
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam
test "x$ac_cv_prog_cc_c11" != "xno" && break
done
rm -f conftest.$ac_ext
CC=$ac_save_CC
fi
if test "x$ac_cv_prog_cc_c11" = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
printf "%s\n" "unsupported" >&6; }
else $as_nop
if test "x$ac_cv_prog_cc_c11" = x
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
printf "%s\n" "none needed" >&6; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5
printf "%s\n" "$ac_cv_prog_cc_c11" >&6; }
CC="$CC $ac_cv_prog_cc_c11"
fi
ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11
ac_prog_cc_stdc=c11
fi
fi
if test x$ac_prog_cc_stdc = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5
printf %s "checking for $CC option to enable C99 features... " >&6; }
if test ${ac_cv_prog_cc_c99+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_cv_prog_cc_c99=no
ac_save_CC=$CC
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_c_conftest_c99_program
_ACEOF
for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99=
do
CC="$ac_save_CC $ac_arg"
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_prog_cc_c99=$ac_arg
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam
test "x$ac_cv_prog_cc_c99" != "xno" && break
done
rm -f conftest.$ac_ext
CC=$ac_save_CC
fi
if test "x$ac_cv_prog_cc_c99" = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
printf "%s\n" "unsupported" >&6; }
else $as_nop
if test "x$ac_cv_prog_cc_c99" = x
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
printf "%s\n" "none needed" >&6; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5
printf "%s\n" "$ac_cv_prog_cc_c99" >&6; }
CC="$CC $ac_cv_prog_cc_c99"
fi
ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99
ac_prog_cc_stdc=c99
fi
fi
if test x$ac_prog_cc_stdc = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5
printf %s "checking for $CC option to enable C89 features... " >&6; }
if test ${ac_cv_prog_cc_c89+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_cv_prog_cc_c89=no
ac_save_CC=$CC
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_c_conftest_c89_program
_ACEOF
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 :
ac_cv_prog_cc_c89=$ac_arg
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam
test "x$ac_cv_prog_cc_c89" != "xno" && break
done
rm -f conftest.$ac_ext
CC=$ac_save_CC
fi
if test "x$ac_cv_prog_cc_c89" = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
printf "%s\n" "unsupported" >&6; }
else $as_nop
if test "x$ac_cv_prog_cc_c89" = x
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
printf "%s\n" "none needed" >&6; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
printf "%s\n" "$ac_cv_prog_cc_c89" >&6; }
CC="$CC $ac_cv_prog_cc_c89"
fi
ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89
ac_prog_cc_stdc=c89
fi
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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
printf %s "checking whether $CC understands -c and -o together... " >&6; }
if test ${am_cv_prog_cc_c_o+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
printf "%s\n" "$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
depcc="$CC" am_compiler_list=
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
printf %s "checking dependency style of $depcc... " >&6; }
if test ${am_cv_CC_dependencies_compiler_type+y}
then :
printf %s "(cached) " >&6
else $as_nop
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
mkdir conftest.dir
# Copy depcomp to subdir because otherwise we won't find it if we're
# using a relative directory.
cp "$am_depcomp" conftest.dir
cd conftest.dir
# We will build objects and dependencies in a subdirectory because
# it helps to detect inapplicable dependency modes. For instance
# both Tru64's cc and ICC support -MD to output dependencies as a
# side effect of compilation, but ICC will put the dependencies in
# the current directory while Tru64 will put them in the object
# directory.
mkdir sub
am_cv_CC_dependencies_compiler_type=none
if test "$am_compiler_list" = ""; then
am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
fi
am__universal=false
case " $depcc " in #(
*\ -arch\ *\ -arch\ *) am__universal=true ;;
esac
for depmode in $am_compiler_list; do
# Setup a source with many dependencies, because some compilers
# like to wrap large dependency lists on column 80 (with \), and
# we should not choose a depcomp mode which is confused by this.
#
# We need to recreate these files for each test, as the compiler may
# overwrite some of them when testing with obscure command lines.
# This happens at least with the AIX C compiler.
: > 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
done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
# 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.
am__obj=sub/conftest.${OBJEXT-o}
am__minus_obj="-o $am__obj"
case $depmode in
gcc)
# This depmode causes a compiler race in universal mode.
test "$am__universal" = false || continue
;;
nosideeffect)
# 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
# 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}
am__minus_obj=
;;
none) break ;;
esac
if depmode=$depmode \
source=sub/conftest.c object=$am__obj \
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
$SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
>/dev/null 2>conftest.err &&
grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
# icc doesn't choke on unknown options, it will just issue warnings
# or remarks (even with -Werror). So we grep stderr for any message
# that says an option was ignored or not supported.
# When given -MP, icc 7.0 and 7.1 complain thusly:
# icc: Command line warning: ignoring option '-M'; no argument required
# The diagnosis changed in icc 8.0:
# icc: Command line remark: option '-MP' not supported
if (grep 'ignoring option' conftest.err ||
grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
am_cv_CC_dependencies_compiler_type=$depmode
break
fi
fi
done
cd ..
rm -rf conftest.dir
else
am_cv_CC_dependencies_compiler_type=none
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
printf "%s\n" "$am_cv_CC_dependencies_compiler_type" >&6; }
CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
if
test "x$enable_dependency_tracking" != xno \
&& test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
am__fastdepCC_TRUE=
am__fastdepCC_FALSE='#'
else
am__fastdepCC_TRUE='#'
am__fastdepCC_FALSE=
fi
ac_header= ac_cache=
for ac_item in $ac_header_c_list
do
if test $ac_cache; then
ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default"
if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then
printf "%s\n" "#define $ac_item 1" >> confdefs.h
fi
ac_header= ac_cache=
elif test $ac_header; then
ac_cache=$ac_item
else
ac_header=$ac_item
fi
done
if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes
then :
printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
printf %s "checking whether it is safe to define __EXTENSIONS__... " >&6; }
if test ${ac_cv_safe_to_define___extensions__+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
# define __EXTENSIONS__ 1
$ac_includes_default
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_safe_to_define___extensions__=yes
else $as_nop
ac_cv_safe_to_define___extensions__=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5
printf "%s\n" "$ac_cv_safe_to_define___extensions__" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether _XOPEN_SOURCE should be defined" >&5
printf %s "checking whether _XOPEN_SOURCE should be defined... " >&6; }
if test ${ac_cv_should_define__xopen_source+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_cv_should_define__xopen_source=no
if test $ac_cv_header_wchar_h = yes
then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
mbstate_t x;
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#define _XOPEN_SOURCE 500
#include
mbstate_t x;
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_should_define__xopen_source=yes
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_should_define__xopen_source" >&5
printf "%s\n" "$ac_cv_should_define__xopen_source" >&6; }
printf "%s\n" "#define _ALL_SOURCE 1" >>confdefs.h
printf "%s\n" "#define _DARWIN_C_SOURCE 1" >>confdefs.h
printf "%s\n" "#define _GNU_SOURCE 1" >>confdefs.h
printf "%s\n" "#define _HPUX_ALT_XOPEN_SOCKET_API 1" >>confdefs.h
printf "%s\n" "#define _NETBSD_SOURCE 1" >>confdefs.h
printf "%s\n" "#define _OPENBSD_SOURCE 1" >>confdefs.h
printf "%s\n" "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
printf "%s\n" "#define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1" >>confdefs.h
printf "%s\n" "#define __STDC_WANT_IEC_60559_BFP_EXT__ 1" >>confdefs.h
printf "%s\n" "#define __STDC_WANT_IEC_60559_DFP_EXT__ 1" >>confdefs.h
printf "%s\n" "#define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1" >>confdefs.h
printf "%s\n" "#define __STDC_WANT_IEC_60559_TYPES_EXT__ 1" >>confdefs.h
printf "%s\n" "#define __STDC_WANT_LIB_EXT2__ 1" >>confdefs.h
printf "%s\n" "#define __STDC_WANT_MATH_SPEC_FUNCS__ 1" >>confdefs.h
printf "%s\n" "#define _TANDEM_SOURCE 1" >>confdefs.h
if test $ac_cv_header_minix_config_h = yes
then :
MINIX=yes
printf "%s\n" "#define _MINIX 1" >>confdefs.h
printf "%s\n" "#define _POSIX_SOURCE 1" >>confdefs.h
printf "%s\n" "#define _POSIX_1_SOURCE 2" >>confdefs.h
else $as_nop
MINIX=
fi
if test $ac_cv_safe_to_define___extensions__ = yes
then :
printf "%s\n" "#define __EXTENSIONS__ 1" >>confdefs.h
fi
if test $ac_cv_should_define__xopen_source = yes
then :
printf "%s\n" "#define _XOPEN_SOURCE 500" >>confdefs.h
fi
#
# Check for the compiler
#
opal_var_scope_push ${LINENO} dummy opal_cc_arvgv0
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 -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
set dummy ${ac_tool_prefix}gcc; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}gcc"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
printf "%s\n" "$CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_CC"; then
ac_ct_CC=$CC
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="gcc"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
printf "%s\n" "$ac_ct_CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
if test "x$ac_ct_CC" = x; then
CC=""
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CC=$ac_ct_CC
fi
else
CC="$ac_cv_prog_CC"
fi
if test -z "$CC"; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
set dummy ${ac_tool_prefix}cc; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}cc"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
printf "%s\n" "$CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
fi
fi
if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
ac_prog_rejected=no
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
if test "$as_dir$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
ac_prog_rejected=yes
continue
fi
ac_cv_prog_CC="cc"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
if test $ac_prog_rejected = yes; then
# We found a bogon in the path, so make sure we never use it.
set dummy $ac_cv_prog_CC
shift
if test $# != 0; then
# We chose a different compiler from the bogus one.
# However, it has the same basename, so the bogon will be chosen
# first if we set CC to just the basename; use the full file name.
shift
ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@"
fi
fi
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
printf "%s\n" "$CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
fi
if test -z "$CC"; then
if test -n "$ac_tool_prefix"; then
for ac_prog in cl.exe
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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
printf "%s\n" "$CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
test -n "$CC" && break
done
fi
if test -z "$CC"; then
ac_ct_CC=$CC
for ac_prog in cl.exe
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="$ac_prog"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
printf "%s\n" "$ac_ct_CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
test -n "$ac_ct_CC" && break
done
if test "x$ac_ct_CC" = x; then
CC=""
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CC=$ac_ct_CC
fi
fi
fi
if test -z "$CC"; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}clang", so it can be a program name with args.
set dummy ${ac_tool_prefix}clang; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}clang"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
printf "%s\n" "$CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_CC"; then
ac_ct_CC=$CC
# Extract the first word of "clang", so it can be a program name with args.
set dummy clang; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="clang"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
printf "%s\n" "$ac_ct_CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
if test "x$ac_ct_CC" = x; then
CC=""
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CC=$ac_ct_CC
fi
else
CC="$ac_cv_prog_CC"
fi
fi
test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$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; }
# Provide some information about the compiler.
printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
set X $ac_compile
ac_compiler=$2
for ac_option in --version -v -V -qversion -version; do
{ { ac_try="$ac_compiler $ac_option >&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\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_compiler $ac_option >&5") 2>conftest.err
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
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
done
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5
printf %s "checking whether the compiler supports GNU C... " >&6; }
if test ${ac_cv_c_compiler_gnu+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
#ifndef __GNUC__
choke me
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_compiler_gnu=yes
else $as_nop
ac_compiler_gnu=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_cv_c_compiler_gnu=$ac_compiler_gnu
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; }
ac_compiler_gnu=$ac_cv_c_compiler_gnu
if test $ac_compiler_gnu = yes; then
GCC=yes
else
GCC=
fi
ac_test_CFLAGS=${CFLAGS+y}
ac_save_CFLAGS=$CFLAGS
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
printf %s "checking whether $CC accepts -g... " >&6; }
if test ${ac_cv_prog_cc_g+y}
then :
printf %s "(cached) " >&6
else $as_nop
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
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_prog_cc_g=yes
else $as_nop
CFLAGS=""
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
else $as_nop
ac_c_werror_flag=$ac_save_c_werror_flag
CFLAGS="-g"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_prog_cc_g=yes
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_c_werror_flag=$ac_save_c_werror_flag
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
printf "%s\n" "$ac_cv_prog_cc_g" >&6; }
if test $ac_test_CFLAGS; then
CFLAGS=$ac_save_CFLAGS
elif test $ac_cv_prog_cc_g = yes; then
if test "$GCC" = yes; then
CFLAGS="-g -O2"
else
CFLAGS="-g"
fi
else
if test "$GCC" = yes; then
CFLAGS="-O2"
else
CFLAGS=
fi
fi
ac_prog_cc_stdc=no
if test x$ac_prog_cc_stdc = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5
printf %s "checking for $CC option to enable C11 features... " >&6; }
if test ${ac_cv_prog_cc_c11+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_cv_prog_cc_c11=no
ac_save_CC=$CC
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_c_conftest_c11_program
_ACEOF
for ac_arg in '' -std=gnu11
do
CC="$ac_save_CC $ac_arg"
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_prog_cc_c11=$ac_arg
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam
test "x$ac_cv_prog_cc_c11" != "xno" && break
done
rm -f conftest.$ac_ext
CC=$ac_save_CC
fi
if test "x$ac_cv_prog_cc_c11" = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
printf "%s\n" "unsupported" >&6; }
else $as_nop
if test "x$ac_cv_prog_cc_c11" = x
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
printf "%s\n" "none needed" >&6; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5
printf "%s\n" "$ac_cv_prog_cc_c11" >&6; }
CC="$CC $ac_cv_prog_cc_c11"
fi
ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11
ac_prog_cc_stdc=c11
fi
fi
if test x$ac_prog_cc_stdc = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5
printf %s "checking for $CC option to enable C99 features... " >&6; }
if test ${ac_cv_prog_cc_c99+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_cv_prog_cc_c99=no
ac_save_CC=$CC
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_c_conftest_c99_program
_ACEOF
for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99=
do
CC="$ac_save_CC $ac_arg"
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_prog_cc_c99=$ac_arg
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam
test "x$ac_cv_prog_cc_c99" != "xno" && break
done
rm -f conftest.$ac_ext
CC=$ac_save_CC
fi
if test "x$ac_cv_prog_cc_c99" = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
printf "%s\n" "unsupported" >&6; }
else $as_nop
if test "x$ac_cv_prog_cc_c99" = x
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
printf "%s\n" "none needed" >&6; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5
printf "%s\n" "$ac_cv_prog_cc_c99" >&6; }
CC="$CC $ac_cv_prog_cc_c99"
fi
ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99
ac_prog_cc_stdc=c99
fi
fi
if test x$ac_prog_cc_stdc = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5
printf %s "checking for $CC option to enable C89 features... " >&6; }
if test ${ac_cv_prog_cc_c89+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_cv_prog_cc_c89=no
ac_save_CC=$CC
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_c_conftest_c89_program
_ACEOF
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 :
ac_cv_prog_cc_c89=$ac_arg
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam
test "x$ac_cv_prog_cc_c89" != "xno" && break
done
rm -f conftest.$ac_ext
CC=$ac_save_CC
fi
if test "x$ac_cv_prog_cc_c89" = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
printf "%s\n" "unsupported" >&6; }
else $as_nop
if test "x$ac_cv_prog_cc_c89" = x
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
printf "%s\n" "none needed" >&6; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
printf "%s\n" "$ac_cv_prog_cc_c89" >&6; }
CC="$CC $ac_cv_prog_cc_c89"
fi
ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89
ac_prog_cc_stdc=c89
fi
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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
printf %s "checking whether $CC understands -c and -o together... " >&6; }
if test ${am_cv_prog_cc_c_o+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
printf "%s\n" "$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
depcc="$CC" am_compiler_list=
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
printf %s "checking dependency style of $depcc... " >&6; }
if test ${am_cv_CC_dependencies_compiler_type+y}
then :
printf %s "(cached) " >&6
else $as_nop
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
mkdir conftest.dir
# Copy depcomp to subdir because otherwise we won't find it if we're
# using a relative directory.
cp "$am_depcomp" conftest.dir
cd conftest.dir
# We will build objects and dependencies in a subdirectory because
# it helps to detect inapplicable dependency modes. For instance
# both Tru64's cc and ICC support -MD to output dependencies as a
# side effect of compilation, but ICC will put the dependencies in
# the current directory while Tru64 will put them in the object
# directory.
mkdir sub
am_cv_CC_dependencies_compiler_type=none
if test "$am_compiler_list" = ""; then
am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
fi
am__universal=false
case " $depcc " in #(
*\ -arch\ *\ -arch\ *) am__universal=true ;;
esac
for depmode in $am_compiler_list; do
# Setup a source with many dependencies, because some compilers
# like to wrap large dependency lists on column 80 (with \), and
# we should not choose a depcomp mode which is confused by this.
#
# We need to recreate these files for each test, as the compiler may
# overwrite some of them when testing with obscure command lines.
# This happens at least with the AIX C compiler.
: > 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
done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
# 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.
am__obj=sub/conftest.${OBJEXT-o}
am__minus_obj="-o $am__obj"
case $depmode in
gcc)
# This depmode causes a compiler race in universal mode.
test "$am__universal" = false || continue
;;
nosideeffect)
# 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
# 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}
am__minus_obj=
;;
none) break ;;
esac
if depmode=$depmode \
source=sub/conftest.c object=$am__obj \
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
$SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
>/dev/null 2>conftest.err &&
grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
# icc doesn't choke on unknown options, it will just issue warnings
# or remarks (even with -Werror). So we grep stderr for any message
# that says an option was ignored or not supported.
# When given -MP, icc 7.0 and 7.1 complain thusly:
# icc: Command line warning: ignoring option '-M'; no argument required
# The diagnosis changed in icc 8.0:
# icc: Command line remark: option '-MP' not supported
if (grep 'ignoring option' conftest.err ||
grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
am_cv_CC_dependencies_compiler_type=$depmode
break
fi
fi
done
cd ..
rm -rf conftest.dir
else
am_cv_CC_dependencies_compiler_type=none
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
printf "%s\n" "$am_cv_CC_dependencies_compiler_type" >&6; }
CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
if
test "x$enable_dependency_tracking" != xno \
&& test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
am__fastdepCC_TRUE=
am__fastdepCC_FALSE='#'
else
am__fastdepCC_TRUE='#'
am__fastdepCC_FALSE=
fi
BASECC="`basename $CC`"
OPAL_CC="$CC"
printf "%s\n" "#define OPAL_CC \"$OPAL_CC\"" >>confdefs.h
set dummy $CC
opal_cc_argv0=$2
# 1 is the variable name to do "which" on
# 2 is the variable name to assign the return value to
opal_var_scope_push ${LINENO} opal_prog opal_file opal_dir opal_sentinel
opal_prog=$opal_cc_argv0
# There are 3 cases:
# 1. opal_prog is an absolute filename. If that absolute filename
# exists and is executable, return OPAL_CC_ABSOLUTE with that name. Otherwise,
# OPAL_CC_ABSOLUTE is unchanged.
# 2. opal_prog is a relative filename (i.e., it contains one or
# more /, but does not begin with a /). If that file exists
# relative to where we are right now in the filesystem and is
# executable, return the absolute path of that value in OPAL_CC_ABSOLUTE.
# Otherwise, OPAL_CC_ABSOLUTE is unchanged.
# 3. opal_prog contains no /. Search the PATH for an executable
# with the appropriate name. If found, return the absolute path
# in OPAL_CC_ABSOLUTE. Otherwise, OPAL_CC_ABSOLUTE is unchanged.
# Note that these three cases are exactly what which(1) does.
# Note the double square brackets around the case expressions for
# m4 escaping.
case $opal_prog in
[\\/]* | ?:[\\/]* )
# Case 1: absolute
if test -x "$opal_prog"
then :
OPAL_CC_ABSOLUTE=$opal_prog
fi
;;
*[\\/]*)
# Case 2: relative with 1 or more /
if test -x "$opal_prog"
then :
OPAL_CC_ABSOLUTE="$cwd/$opal_prog"
fi
;;
*)
# Case 3: no / at all
IFS_SAVE=$IFS
IFS=$PATH_SEPARATOR
for opal_dir in $PATH; do
if test -x "$opal_dir/$opal_prog"
then :
OPAL_CC_ABSOLUTE="$opal_dir/$opal_prog"
fi
done
IFS=$IFS_SAVE
;;
esac
opal_var_scope_pop opal_prog opal_file opal_dir opal_sentinel
opal_var_scope_pop dummy opal_cc_arvgv0
oac_var_scope_push()
{
oac_var_scope_push_lineno=$1
shift
# First, check to see if any of these variables are already set.
# This is a simple sanity check to ensure we're not already
# overwriting pre-existing variables (that have a non-empty
# value). It's not a perfect check, but at least it's something.
for oac_var_scope_tmp_var in $@; do
if eval test \${$oac_var_scope_tmp_var+y}
then :
eval oac_var_scope_tmp_var_val=\$$oac_var_scope_tmp_var
as_fn_error $? "Found configure shell variable clash at line $oac_var_scope_push_lineno!
OAC_VAR_SCOPE_PUSH called on \"$oac_var_scope_tmp_var\",
but it is already defined with value \"$oac_var_scope_tmp_var_val\"
This usually indicates an error in configure.
Cannot continue." "$LINENO" 5
fi
done
{ oac_var_scope_push_lineno=; unset oac_var_scope_push_lineno;}
{ oac_var_scope_tmp_var=; unset oac_var_scope_tmp_var;}
{ oac_var_scope_tmp_var_val=; unset oac_var_scope_tmp_var_val;}
}
oac_var_scope_pop()
{
# Iterate over all the variables and unset them all
for oac_var_scope_tmp_var in $@; do
{ eval $oac_var_scope_tmp_var=; unset $oac_var_scope_tmp_var;}
done
{ oac_var_scope_tmp_var=; unset oac_var_scope_tmp_var;}
}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
printf %s "checking for grep that handles long lines and -e... " >&6; }
if test ${ac_cv_path_GREP+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -z "$GREP"; then
ac_path_GREP_found=false
# Loop through the user's path and test for each of PROGNAME-LIST
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
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
# 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
*GNU*)
ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
*)
ac_count=0
printf %s 0123456789 >"conftest.in"
while :
do
cat "conftest.in" "conftest.in" >"conftest.tmp"
mv "conftest.tmp" "conftest.in"
cp "conftest.in" "conftest.nl"
printf "%s\n" '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
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"
ac_path_GREP_max=$ac_count
fi
# 10*(2^10) chars as input seems more than enough
test $ac_count -gt 10 && break
done
rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
esac
$ac_path_GREP_found && break 3
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
fi
else
ac_cv_path_GREP=$GREP
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
printf "%s\n" "$ac_cv_path_GREP" >&6; }
GREP="$ac_cv_path_GREP"
# AM_PROG_CC_C_O AC_REQUIREs AC_PROG_CC, so we have to be a little
# careful about ordering here, and AC_REQUIRE these things so that
# they get stamped out in the right order.
opal_var_scope_push ${LINENO} opal_prog_cc_c11_helper__Thread_local_available opal_prog_cc_c11_helper_atomic_var_available opal_prog_cc_c11_helper__Atomic_available opal_prog_cc_c11_helper__static_assert_available opal_prog_cc_c11_helper__Generic_available opal_prog_cc__thread_available opal_prog_cc_c11_helper_atomic_fetch_xor_explicit_available opal_prog_cc_c11_helper_proper__Atomic_support_in_atomics
opal_var_scope_push ${LINENO} opal_prog_cc_c11_flags
if test -z "$opal_cv_c11_supported" ; then
opal_cv_c11_supported=no
opal_cv_c11_flag_required=yes
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC requires a flag for C11" >&5
printf %s "checking if $CC requires a flag for C11... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#if __STDC_VERSION__ < 201112L
#error "Without any CLI flags, this compiler does not support C11"
#endif
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv_c11_flag_required=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cv_c11_flag_required" >&5
printf "%s\n" "$opal_cv_c11_flag_required" >&6; }
if test "x$opal_cv_c11_flag_required" = "xno" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: verifying $CC supports C11 without a flag" >&5
printf "%s\n" "$as_me: verifying $CC supports C11 without a flag" >&6;}
opal_var_scope_push ${LINENO} opal_prog_cc_c11_helper_CFLAGS_save
opal_prog_cc_c11_helper_CFLAGS_save=$CFLAGS
CFLAGS="$CFLAGS "
opal_var_scope_push ${LINENO} opal_cc_helper_result
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports C11 _Thread_local" >&5
printf %s "checking if $CC supports C11 _Thread_local... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
static _Thread_local int foo = 1;++foo;
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_prog_cc_c11_helper__Thread_local_available=1
opal_cc_helper_result=yes
else $as_nop
opal_prog_cc_c11_helper__Thread_local_available=0
opal_cc_helper_result=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cc_helper_result" >&5
printf "%s\n" "$opal_cc_helper_result" >&6; }
opal_var_scope_pop opal_cc_helper_result
opal_var_scope_push ${LINENO} opal_cc_helper_result
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports C11 atomic variables" >&5
printf %s "checking if $CC supports C11 atomic variables... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
int
main (void)
{
static atomic_long foo = 1;++foo;
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_prog_cc_c11_helper_atomic_var_available=1
opal_cc_helper_result=yes
else $as_nop
opal_prog_cc_c11_helper_atomic_var_available=0
opal_cc_helper_result=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cc_helper_result" >&5
printf "%s\n" "$opal_cc_helper_result" >&6; }
opal_var_scope_pop opal_cc_helper_result
opal_var_scope_push ${LINENO} opal_cc_helper_result
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports C11 _Atomic keyword" >&5
printf %s "checking if $CC supports C11 _Atomic keyword... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
int
main (void)
{
static _Atomic long foo = 1;++foo;
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_prog_cc_c11_helper__Atomic_available=1
opal_cc_helper_result=yes
else $as_nop
opal_prog_cc_c11_helper__Atomic_available=0
opal_cc_helper_result=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cc_helper_result" >&5
printf "%s\n" "$opal_cc_helper_result" >&6; }
opal_var_scope_pop opal_cc_helper_result
opal_var_scope_push ${LINENO} opal_cc_helper_result
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports C11 _Generic keyword" >&5
printf %s "checking if $CC supports C11 _Generic keyword... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#define FOO(x) (_Generic (x, int: 1))
int
main (void)
{
static int x, y; y = FOO(x);
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_prog_cc_c11_helper__Generic_available=1
opal_cc_helper_result=yes
else $as_nop
opal_prog_cc_c11_helper__Generic_available=0
opal_cc_helper_result=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cc_helper_result" >&5
printf "%s\n" "$opal_cc_helper_result" >&6; }
opal_var_scope_pop opal_cc_helper_result
opal_var_scope_push ${LINENO} opal_cc_helper_result
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports C11 _Static_assert" >&5
printf %s "checking if $CC supports C11 _Static_assert... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
int
main (void)
{
_Static_assert(sizeof(int64_t) == 8, "WTH");
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_prog_cc_c11_helper__static_assert_available=1
opal_cc_helper_result=yes
else $as_nop
opal_prog_cc_c11_helper__static_assert_available=0
opal_cc_helper_result=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cc_helper_result" >&5
printf "%s\n" "$opal_cc_helper_result" >&6; }
opal_var_scope_pop opal_cc_helper_result
opal_var_scope_push ${LINENO} opal_cc_helper_result
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports C11 atomic_fetch_xor_explicit" >&5
printf %s "checking if $CC supports C11 atomic_fetch_xor_explicit... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
#include
int
main (void)
{
_Atomic uint32_t a; uint32_t b; atomic_fetch_xor_explicit(&a, b, memory_order_relaxed);
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_prog_cc_c11_helper_atomic_fetch_xor_explicit_available=1
opal_cc_helper_result=yes
else $as_nop
opal_prog_cc_c11_helper_atomic_fetch_xor_explicit_available=0
opal_cc_helper_result=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cc_helper_result" >&5
printf "%s\n" "$opal_cc_helper_result" >&6; }
opal_var_scope_pop opal_cc_helper_result
if test $opal_prog_cc_c11_helper__Thread_local_available -eq 1 && test $opal_prog_cc_c11_helper_atomic_var_available -eq 1 && test $opal_prog_cc_c11_helper_atomic_fetch_xor_explicit_available -eq 1
then :
else $as_nop
opal_cv_c11_flag_required=yes
fi
CFLAGS=$opal_prog_cc_c11_helper_CFLAGS_save
opal_var_scope_pop opal_prog_cc_c11_helper_CFLAGS_save
fi
if test "x$opal_cv_c11_flag_required" = "xyes" ; then
opal_prog_cc_c11_flags="-std=gnu11 -std=c11 -c11"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports C11 with a flag" >&5
printf "%s\n" "$as_me: checking if $CC supports C11 with a flag" >&6;}
opal_cv_c11_flag=
for flag in $(echo $opal_prog_cc_c11_flags | tr ' ' '\n') ; do
opal_var_scope_push ${LINENO} opal_prog_cc_c11_helper_CFLAGS_save
opal_prog_cc_c11_helper_CFLAGS_save=$CFLAGS
CFLAGS="$CFLAGS $flag"
opal_var_scope_push ${LINENO} opal_cc_helper_result
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC $flag supports C11 _Thread_local" >&5
printf %s "checking if $CC $flag supports C11 _Thread_local... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
static _Thread_local int foo = 1;++foo;
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_prog_cc_c11_helper__Thread_local_available=1
opal_cc_helper_result=yes
else $as_nop
opal_prog_cc_c11_helper__Thread_local_available=0
opal_cc_helper_result=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cc_helper_result" >&5
printf "%s\n" "$opal_cc_helper_result" >&6; }
opal_var_scope_pop opal_cc_helper_result
opal_var_scope_push ${LINENO} opal_cc_helper_result
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC $flag supports C11 atomic variables" >&5
printf %s "checking if $CC $flag supports C11 atomic variables... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
int
main (void)
{
static atomic_long foo = 1;++foo;
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_prog_cc_c11_helper_atomic_var_available=1
opal_cc_helper_result=yes
else $as_nop
opal_prog_cc_c11_helper_atomic_var_available=0
opal_cc_helper_result=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cc_helper_result" >&5
printf "%s\n" "$opal_cc_helper_result" >&6; }
opal_var_scope_pop opal_cc_helper_result
opal_var_scope_push ${LINENO} opal_cc_helper_result
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC $flag supports C11 _Atomic keyword" >&5
printf %s "checking if $CC $flag supports C11 _Atomic keyword... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
int
main (void)
{
static _Atomic long foo = 1;++foo;
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_prog_cc_c11_helper__Atomic_available=1
opal_cc_helper_result=yes
else $as_nop
opal_prog_cc_c11_helper__Atomic_available=0
opal_cc_helper_result=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cc_helper_result" >&5
printf "%s\n" "$opal_cc_helper_result" >&6; }
opal_var_scope_pop opal_cc_helper_result
opal_var_scope_push ${LINENO} opal_cc_helper_result
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC $flag supports C11 _Generic keyword" >&5
printf %s "checking if $CC $flag supports C11 _Generic keyword... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#define FOO(x) (_Generic (x, int: 1))
int
main (void)
{
static int x, y; y = FOO(x);
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_prog_cc_c11_helper__Generic_available=1
opal_cc_helper_result=yes
else $as_nop
opal_prog_cc_c11_helper__Generic_available=0
opal_cc_helper_result=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cc_helper_result" >&5
printf "%s\n" "$opal_cc_helper_result" >&6; }
opal_var_scope_pop opal_cc_helper_result
opal_var_scope_push ${LINENO} opal_cc_helper_result
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC $flag supports C11 _Static_assert" >&5
printf %s "checking if $CC $flag supports C11 _Static_assert... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
int
main (void)
{
_Static_assert(sizeof(int64_t) == 8, "WTH");
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_prog_cc_c11_helper__static_assert_available=1
opal_cc_helper_result=yes
else $as_nop
opal_prog_cc_c11_helper__static_assert_available=0
opal_cc_helper_result=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cc_helper_result" >&5
printf "%s\n" "$opal_cc_helper_result" >&6; }
opal_var_scope_pop opal_cc_helper_result
opal_var_scope_push ${LINENO} opal_cc_helper_result
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC $flag supports C11 atomic_fetch_xor_explicit" >&5
printf %s "checking if $CC $flag supports C11 atomic_fetch_xor_explicit... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
#include
int
main (void)
{
_Atomic uint32_t a; uint32_t b; atomic_fetch_xor_explicit(&a, b, memory_order_relaxed);
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_prog_cc_c11_helper_atomic_fetch_xor_explicit_available=1
opal_cc_helper_result=yes
else $as_nop
opal_prog_cc_c11_helper_atomic_fetch_xor_explicit_available=0
opal_cc_helper_result=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cc_helper_result" >&5
printf "%s\n" "$opal_cc_helper_result" >&6; }
opal_var_scope_pop opal_cc_helper_result
if test $opal_prog_cc_c11_helper__Thread_local_available -eq 1 && test $opal_prog_cc_c11_helper_atomic_var_available -eq 1 && test $opal_prog_cc_c11_helper_atomic_fetch_xor_explicit_available -eq 1
then :
opal_cv_c11_flag=$flag
fi
CFLAGS=$opal_prog_cc_c11_helper_CFLAGS_save
opal_var_scope_pop opal_prog_cc_c11_helper_CFLAGS_save
if test "x$opal_cv_c11_flag" != "x" ; then
oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val
for oac_list_arg in "$opal_cv_c11_flag"; do
oac_list_append=1
case ${oac_list_arg} in #(
-I*|-L*|-l*) :
for oac_list_val in ${CFLAGS}; do
if test "x${oal_list_val}" = "x${oac_list_arg}"
then :
oac_list_append=0
fi
done ;; #(
*) :
;;
esac
if test ${oac_list_append} -eq 1
then :
if test -z "${CFLAGS}"
then :
CFLAGS="$oac_list_arg"
else $as_nop
CFLAGS="${CFLAGS} $oac_list_arg"
fi
fi
done
oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: using $flag to enable C11 support" >&5
printf "%s\n" "$as_me: using $flag to enable C11 support" >&6;}
opal_cv_c11_supported=yes
break
fi
done
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: no flag required for C11 support" >&5
printf "%s\n" "$as_me: no flag required for C11 support" >&6;}
opal_cv_c11_supported=yes
fi
fi
opal_var_scope_pop opal_prog_cc_c11_flags
opal_var_scope_push ${LINENO} opal_check_cc_iquote_CFLAGS_save
opal_check_cc_iquote_CFLAGS_save=${CFLAGS}
CFLAGS="${CFLAGS} -iquote ."
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to add a directory only to the search path for the quote form of include" >&5
printf %s "checking for $CC option to add a directory only to the search path for the quote form of include... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cc_iquote="-iquote"
else $as_nop
opal_cc_iquote="-I"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
CFLAGS=${opal_check_cc_iquote_CFLAGS_save}
opal_var_scope_pop opal_check_cc_iquote_CFLAGS_save
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cc_iquote" >&5
printf "%s\n" "$opal_cc_iquote" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for the C compiler vendor" >&5
printf %s "checking for the C compiler vendor... " >&6; }
if test ${opal_cv_c_compiler_vendor+y}
then :
printf %s "(cached) " >&6
else $as_nop
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
opal_check_compiler_vendor_result="unknown"
# GNU is probably the most common, so check that one as soon as
# possible. Intel and PGI18 pretends to be GNU, so need to check Intel
# and PGI before checking for GNU.
# Intel
if test "$opal_check_compiler_vendor_result" = "unknown"
then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#if !( defined(__INTEL_COMPILER) || defined(__ICC) )
#error "condition defined(__INTEL_COMPILER) || defined(__ICC) not met"
choke me
#endif
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_check_compiler_vendor_result="intel"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
# Portland Group
if test "$opal_check_compiler_vendor_result" = "unknown"
then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifndef __PGI
#error "symbol __PGI not defined"
choke me
#endif
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_check_compiler_vendor_result="portland group"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
# Fujitsu
if test "$opal_check_compiler_vendor_result" = "unknown"
then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#if !( defined(__FUJITSU) )
#error "condition defined(__FUJITSU) not met"
choke me
#endif
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_check_compiler_vendor_result="fujitsu"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
# IBM XL C/C++
if test "$opal_check_compiler_vendor_result" = "unknown"
then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#if !( defined(__xlC__) || defined(__IBMC__) || defined(__IBMCPP__) || defined(__ibmxl__) )
#error "condition defined(__xlC__) || defined(__IBMC__) || defined(__IBMCPP__) || defined(__ibmxl__) not met"
choke me
#endif
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_check_compiler_vendor_result="ibm"
xlc_major_version=`$CC -qversion 2>&1 | tail -n 1 | cut -d ' ' -f 2 | cut -d '.' -f 1`
xlc_minor_version=`$CC -qversion 2>&1 | tail -n 1 | cut -d ' ' -f 2 | cut -d '.' -f 2`
if (test "$xlc_major_version" -lt "13" ) || (test "$xlc_major_version" -eq "13" && test "$xlc_minor_version" -lt "1" )
then :
as_fn_error $? "\"XL Compiler versions less than 13.1 not supported. Detected $xlc_major_version.$xlc_minor_version\"" "$LINENO" 5
fi
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#if !( defined(_AIX) && !defined(__GNUC__) )
#error "condition defined(_AIX) && !defined(__GNUC__) not met"
choke me
#endif
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_check_compiler_vendor_result="ibm"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
# Borland Turbo C
if test "$opal_check_compiler_vendor_result" = "unknown"
then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifndef __TURBOC__
#error "symbol __TURBOC__ not defined"
choke me
#endif
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_check_compiler_vendor_result="borland"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
# Borland C++
if test "$opal_check_compiler_vendor_result" = "unknown"
then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifndef __BORLANDC__
#error "symbol __BORLANDC__ not defined"
choke me
#endif
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_check_compiler_vendor_result="borland"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
# Comeau C++
if test "$opal_check_compiler_vendor_result" = "unknown"
then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifndef __COMO__
#error "symbol __COMO__ not defined"
choke me
#endif
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_check_compiler_vendor_result="comeau"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
# Compaq C/C++
if test "$opal_check_compiler_vendor_result" = "unknown"
then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#if !( defined(__DECC) || defined(VAXC) || defined(__VAXC) )
#error "condition defined(__DECC) || defined(VAXC) || defined(__VAXC) not met"
choke me
#endif
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_check_compiler_vendor_result="compaq"
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#if !( defined(__osf__) && defined(__LANGUAGE_C__) )
#error "condition defined(__osf__) && defined(__LANGUAGE_C__) not met"
choke me
#endif
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_check_compiler_vendor_result="compaq"
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifndef __DECCXX
#error "symbol __DECCXX not defined"
choke me
#endif
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_check_compiler_vendor_result="compaq"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
# Cray C/C++
if test "$opal_check_compiler_vendor_result" = "unknown"
then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifndef _CRAYC
#error "symbol _CRAYC not defined"
choke me
#endif
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_check_compiler_vendor_result="cray"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
# Diab C/C++
if test "$opal_check_compiler_vendor_result" = "unknown"
then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifndef __DCC__
#error "symbol __DCC__ not defined"
choke me
#endif
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_check_compiler_vendor_result="diab"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
# Digital Mars
if test "$opal_check_compiler_vendor_result" = "unknown"
then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#if !( defined(__DMC__) || defined(__SC__) || defined(__ZTC__) )
#error "condition defined(__DMC__) || defined(__SC__) || defined(__ZTC__) not met"
choke me
#endif
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_check_compiler_vendor_result="digital mars"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
# HP ANSI C / aC++
if test "$opal_check_compiler_vendor_result" = "unknown"
then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#if !( defined(__HP_cc) || defined(__HP_aCC) )
#error "condition defined(__HP_cc) || defined(__HP_aCC) not met"
choke me
#endif
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_check_compiler_vendor_result="hp"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
# KAI C++ (rest in peace)
if test "$opal_check_compiler_vendor_result" = "unknown"
then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifndef __KCC
#error "symbol __KCC not defined"
choke me
#endif
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_check_compiler_vendor_result="kai"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
# LCC
if test "$opal_check_compiler_vendor_result" = "unknown"
then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifndef __LCC__
#error "symbol __LCC__ not defined"
choke me
#endif
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_check_compiler_vendor_result="lcc"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
# MetaWare High C/C++
if test "$opal_check_compiler_vendor_result" = "unknown"
then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifndef __HIGHC__
#error "symbol __HIGHC__ not defined"
choke me
#endif
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_check_compiler_vendor_result="metaware high"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
# Metrowerks Codewarrior
if test "$opal_check_compiler_vendor_result" = "unknown"
then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifndef __MWERKS__
#error "symbol __MWERKS__ not defined"
choke me
#endif
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_check_compiler_vendor_result="metrowerks"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
# MIPSpro (SGI)
if test "$opal_check_compiler_vendor_result" = "unknown"
then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#if !( defined(sgi) || defined(__sgi) )
#error "condition defined(sgi) || defined(__sgi) not met"
choke me
#endif
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_check_compiler_vendor_result="sgi"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
# MPW C++
if test "$opal_check_compiler_vendor_result" = "unknown"
then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#if !( defined(__MRC__) || defined(MPW_C) || defined(MPW_CPLUS) )
#error "condition defined(__MRC__) || defined(MPW_C) || defined(MPW_CPLUS) not met"
choke me
#endif
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_check_compiler_vendor_result="mpw"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
# Microsoft
if test "$opal_check_compiler_vendor_result" = "unknown"
then :
# Always use C compiler when checking for Microsoft, as
# Visual C++ doesn't recognize .cc as a C++ file.
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
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#if !( defined(_MSC_VER) || defined(__MSC_VER) )
#error "condition defined(_MSC_VER) || defined(__MSC_VER) not met"
choke me
#endif
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_check_compiler_vendor_result="microsoft"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
fi
# Norcroft C
if test "$opal_check_compiler_vendor_result" = "unknown"
then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifndef __CC_NORCROFT
#error "symbol __CC_NORCROFT not defined"
choke me
#endif
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_check_compiler_vendor_result="norcroft"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
# Pelles C
if test "$opal_check_compiler_vendor_result" = "unknown"
then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifndef __POCC__
#error "symbol __POCC__ not defined"
choke me
#endif
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_check_compiler_vendor_result="pelles"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
# SAS/C
if test "$opal_check_compiler_vendor_result" = "unknown"
then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#if !( defined(SASC) || defined(__SASC) || defined(__SASC__) )
#error "condition defined(SASC) || defined(__SASC) || defined(__SASC__) not met"
choke me
#endif
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_check_compiler_vendor_result="sas"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
# Sun Workshop C/C++
if test "$opal_check_compiler_vendor_result" = "unknown"
then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#if !( defined(__SUNPRO_C) || defined(__SUNPRO_CC) )
#error "condition defined(__SUNPRO_C) || defined(__SUNPRO_CC) not met"
choke me
#endif
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_check_compiler_vendor_result="sun"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
# TenDRA C/C++
if test "$opal_check_compiler_vendor_result" = "unknown"
then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifndef __TenDRA__
#error "symbol __TenDRA__ not defined"
choke me
#endif
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_check_compiler_vendor_result="tendra"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
# Tiny C
if test "$opal_check_compiler_vendor_result" = "unknown"
then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifndef __TINYC__
#error "symbol __TINYC__ not defined"
choke me
#endif
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_check_compiler_vendor_result="tiny"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
# USL C
if test "$opal_check_compiler_vendor_result" = "unknown"
then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifndef __USLC__
#error "symbol __USLC__ not defined"
choke me
#endif
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_check_compiler_vendor_result="usl"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
# Watcom C++
if test "$opal_check_compiler_vendor_result" = "unknown"
then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifndef __WATCOMC__
#error "symbol __WATCOMC__ not defined"
choke me
#endif
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_check_compiler_vendor_result="watcom"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
# GNU
if test "$opal_check_compiler_vendor_result" = "unknown"
then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifndef __GNUC__
#error "symbol __GNUC__ not defined"
choke me
#endif
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_check_compiler_vendor_result="gnu"
# We do not support gccfss as a compiler so die if
# someone tries to use said compiler. gccfss (gcc
# for SPARC Systems) is a compiler that is no longer
# supported by Oracle and it has some major flaws
# that prevents it from actually compiling OMPI code.
# So if we detect it we automatically bail.
if ($CC --version | grep gccfss) >/dev/null 2>&1; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: gccfss" >&5
printf "%s\n" "gccfss" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Detected gccfss being used to compile Open MPI." >&5
printf "%s\n" "$as_me: WARNING: Detected gccfss being used to compile Open MPI." >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Because of several issues Open MPI does not support" >&5
printf "%s\n" "$as_me: WARNING: Because of several issues Open MPI does not support" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: the gccfss compiler. Please use a different compiler." >&5
printf "%s\n" "$as_me: WARNING: the gccfss compiler. Please use a different compiler." >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: If you did not think you used gccfss you may want to" >&5
printf "%s\n" "$as_me: WARNING: If you did not think you used gccfss you may want to" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: check to see if the compiler you think you used is" >&5
printf "%s\n" "$as_me: WARNING: check to see if the compiler you think you used is" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: actually a link to gccfss." >&5
printf "%s\n" "$as_me: WARNING: actually a link to gccfss." >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
opal_cv_c_compiler_vendor="$opal_check_compiler_vendor_result"
unset opal_check_compiler_vendor_result
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
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cv_c_compiler_vendor" >&5
printf "%s\n" "$opal_cv_c_compiler_vendor" >&6; }
opal_c_vendor="$opal_cv_c_compiler_vendor"
if test $opal_cv_c11_supported = no ; then
# It is not currently an error if C11 support is not available. Uncomment the
# following lines and update the warning when we require a C11 compiler.
# AC_MSG_WARNING([Open MPI requires a C11 (or newer) compiler])
# AC_MSG_ERROR([Aborting.])
# From Open MPI 1.7 on we require a C99 compliant compiler
# The result of AC_PROG_CC_C99 is stored in ac_cv_prog_cc_c99
if test "x$ac_cv_prog_cc_c99" = xno ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI requires a C99 (or newer) compiler. C11 is recommended." >&5
printf "%s\n" "$as_me: WARNING: Open MPI requires a C99 (or newer) compiler. C11 is recommended." >&2;}
as_fn_error $? "Aborting." "$LINENO" 5
fi
# Get the correct result for C11 support flags now that the compiler flags have
# changed
opal_var_scope_push ${LINENO} opal_prog_cc_c11_helper_CFLAGS_save
opal_prog_cc_c11_helper_CFLAGS_save=$CFLAGS
CFLAGS="$CFLAGS "
opal_var_scope_push ${LINENO} opal_cc_helper_result
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports C11 _Thread_local" >&5
printf %s "checking if $CC supports C11 _Thread_local... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
static _Thread_local int foo = 1;++foo;
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_prog_cc_c11_helper__Thread_local_available=1
opal_cc_helper_result=yes
else $as_nop
opal_prog_cc_c11_helper__Thread_local_available=0
opal_cc_helper_result=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cc_helper_result" >&5
printf "%s\n" "$opal_cc_helper_result" >&6; }
opal_var_scope_pop opal_cc_helper_result
opal_var_scope_push ${LINENO} opal_cc_helper_result
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports C11 atomic variables" >&5
printf %s "checking if $CC supports C11 atomic variables... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
int
main (void)
{
static atomic_long foo = 1;++foo;
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_prog_cc_c11_helper_atomic_var_available=1
opal_cc_helper_result=yes
else $as_nop
opal_prog_cc_c11_helper_atomic_var_available=0
opal_cc_helper_result=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cc_helper_result" >&5
printf "%s\n" "$opal_cc_helper_result" >&6; }
opal_var_scope_pop opal_cc_helper_result
opal_var_scope_push ${LINENO} opal_cc_helper_result
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports C11 _Atomic keyword" >&5
printf %s "checking if $CC supports C11 _Atomic keyword... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
int
main (void)
{
static _Atomic long foo = 1;++foo;
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_prog_cc_c11_helper__Atomic_available=1
opal_cc_helper_result=yes
else $as_nop
opal_prog_cc_c11_helper__Atomic_available=0
opal_cc_helper_result=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cc_helper_result" >&5
printf "%s\n" "$opal_cc_helper_result" >&6; }
opal_var_scope_pop opal_cc_helper_result
opal_var_scope_push ${LINENO} opal_cc_helper_result
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports C11 _Generic keyword" >&5
printf %s "checking if $CC supports C11 _Generic keyword... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#define FOO(x) (_Generic (x, int: 1))
int
main (void)
{
static int x, y; y = FOO(x);
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_prog_cc_c11_helper__Generic_available=1
opal_cc_helper_result=yes
else $as_nop
opal_prog_cc_c11_helper__Generic_available=0
opal_cc_helper_result=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cc_helper_result" >&5
printf "%s\n" "$opal_cc_helper_result" >&6; }
opal_var_scope_pop opal_cc_helper_result
opal_var_scope_push ${LINENO} opal_cc_helper_result
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports C11 _Static_assert" >&5
printf %s "checking if $CC supports C11 _Static_assert... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
int
main (void)
{
_Static_assert(sizeof(int64_t) == 8, "WTH");
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_prog_cc_c11_helper__static_assert_available=1
opal_cc_helper_result=yes
else $as_nop
opal_prog_cc_c11_helper__static_assert_available=0
opal_cc_helper_result=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cc_helper_result" >&5
printf "%s\n" "$opal_cc_helper_result" >&6; }
opal_var_scope_pop opal_cc_helper_result
opal_var_scope_push ${LINENO} opal_cc_helper_result
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports C11 atomic_fetch_xor_explicit" >&5
printf %s "checking if $CC supports C11 atomic_fetch_xor_explicit... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
#include
int
main (void)
{
_Atomic uint32_t a; uint32_t b; atomic_fetch_xor_explicit(&a, b, memory_order_relaxed);
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_prog_cc_c11_helper_atomic_fetch_xor_explicit_available=1
opal_cc_helper_result=yes
else $as_nop
opal_prog_cc_c11_helper_atomic_fetch_xor_explicit_available=0
opal_cc_helper_result=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cc_helper_result" >&5
printf "%s\n" "$opal_cc_helper_result" >&6; }
opal_var_scope_pop opal_cc_helper_result
if test $opal_prog_cc_c11_helper__Thread_local_available -eq 1 && test $opal_prog_cc_c11_helper_atomic_var_available -eq 1 && test $opal_prog_cc_c11_helper_atomic_fetch_xor_explicit_available -eq 1
then :
fi
CFLAGS=$opal_prog_cc_c11_helper_CFLAGS_save
opal_var_scope_pop opal_prog_cc_c11_helper_CFLAGS_save
fi
# Check if compiler support __thread
opal_var_scope_push ${LINENO} opal_cc_helper_result
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports __thread" >&5
printf %s "checking if $CC supports __thread... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
static __thread int foo = 1;++foo;
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_prog_cc__thread_available=1
opal_cc_helper_result=yes
else $as_nop
opal_prog_cc__thread_available=0
opal_cc_helper_result=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cc_helper_result" >&5
printf "%s\n" "$opal_cc_helper_result" >&6; }
opal_var_scope_pop opal_cc_helper_result
opal_var_scope_push ${LINENO} opal_cc_helper_result
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports C11 _Thread_local" >&5
printf %s "checking if $CC supports C11 _Thread_local... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
static _Thread_local int foo = 1;++foo;
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_prog_cc_c11_helper__Thread_local_available=1
opal_cc_helper_result=yes
else $as_nop
opal_prog_cc_c11_helper__Thread_local_available=0
opal_cc_helper_result=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cc_helper_result" >&5
printf "%s\n" "$opal_cc_helper_result" >&6; }
opal_var_scope_pop opal_cc_helper_result
printf "%s\n" "#define OPAL_C_HAVE__THREAD_LOCAL $opal_prog_cc_c11_helper__Thread_local_available" >>confdefs.h
printf "%s\n" "#define OPAL_C_HAVE_ATOMIC_CONV_VAR $opal_prog_cc_c11_helper_atomic_var_available" >>confdefs.h
printf "%s\n" "#define OPAL_C_HAVE__ATOMIC $opal_prog_cc_c11_helper__Atomic_available" >>confdefs.h
printf "%s\n" "#define OPAL_C_HAVE__GENERIC $opal_prog_cc_c11_helper__Generic_available" >>confdefs.h
printf "%s\n" "#define OPAL_C_HAVE__STATIC_ASSERT $opal_prog_cc_c11_helper__static_assert_available" >>confdefs.h
printf "%s\n" "#define OPAL_C_HAVE___THREAD $opal_prog_cc__thread_available" >>confdefs.h
# Check for standard headers, needed here because needed before
# the types checks. This is only necessary for Autoconf < v2.70.
# GNU C and autotools are inconsistent about whether this is
# defined so let's make it true everywhere for now... However, IBM
# XL compilers on PPC Linux behave really badly when compiled with
# _GNU_SOURCE defined, so don't define it in that situation.
#
# Don't use AC_GNU_SOURCE because it requires that no compiler
# tests are done before setting it, and we need to at least do
# enough tests to figure out if we're using XL or not.
if test "$opal_cv_c_compiler_vendor" != "ibm"
then :
printf "%s\n" "#define _GNU_SOURCE 1" >>confdefs.h
fi
if test "$opal_cv_c_compiler_vendor" = "intel"
then :
opal_var_scope_push ${LINENO} opal_cc_helper_result
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC is Intel < 20200310 (lacks proper support for atomic operations on _Atomic variables)" >&5
printf %s "checking if $CC is Intel < 20200310 (lacks proper support for atomic operations on _Atomic variables)... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
#ifdef __INTEL_COMPILER
#if __INTEL_COMPILER_BUILD_DATE <= 20200310
#error Lacks support for proper atomic operations on _Atomic variables.
#endif /* __INTEL_COMPILER_BUILD_DATE <= 20200310 */
#endif /* __INTEL_COMPILER */
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_prog_cc_c11_helper_proper__Atomic_support_in_atomics=1
opal_cc_helper_result=yes
else $as_nop
opal_prog_cc_c11_helper_proper__Atomic_support_in_atomics=0
opal_cc_helper_result=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cc_helper_result" >&5
printf "%s\n" "$opal_cc_helper_result" >&6; }
opal_var_scope_pop opal_cc_helper_result
else $as_nop
opal_prog_cc_c11_helper_proper__Atomic_support_in_atomics=1
fi
printf "%s\n" "#define OPAL_C_HAVE_ATOMIC_SUPPORT_FOR__ATOMIC $opal_prog_cc_c11_helper_proper__Atomic_support_in_atomics" >>confdefs.h
# Do we want code coverage
if test "$WANT_COVERAGE" = "1"; then
# For compilers > gcc-4.x, use --coverage for
# compiling and linking to circumvent trouble with
# libgcov.
LDFLAGS_orig="$LDFLAGS"
oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val
for oac_list_arg in "--coverage"; do
oac_list_append=1
case ${oac_list_arg} in #(
-I*|-L*|-l*) :
for oac_list_val in ${LDFLAGS}; do
if test "x${oal_list_val}" = "x${oac_list_arg}"
then :
oac_list_append=0
fi
done ;; #(
*) :
;;
esac
if test ${oac_list_append} -eq 1
then :
if test -z "${LDFLAGS}"
then :
LDFLAGS="$oac_list_arg"
else $as_nop
LDFLAGS="${LDFLAGS} $oac_list_arg"
fi
fi
done
oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val
OPAL_COVERAGE_FLAGS=
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports (--coverage)" >&5
printf %s "checking if $CC supports (--coverage)... " >&6; }
CFLAGS_orig=$CFLAGS
oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val
for oac_list_arg in "--coverage"; do
oac_list_append=1
case ${oac_list_arg} in #(
-I*|-L*|-l*) :
for oac_list_val in ${CFLAGS}; do
if test "x${oal_list_val}" = "x${oac_list_arg}"
then :
oac_list_append=0
fi
done ;; #(
*) :
;;
esac
if test ${oac_list_append} -eq 1
then :
if test -z "${CFLAGS}"
then :
CFLAGS="$oac_list_arg"
else $as_nop
CFLAGS="${CFLAGS} $oac_list_arg"
fi
fi
done
oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val
if test ${opal_cv_cc_coverage+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv_cc_coverage=1
if test -s conftest.err ; then
$GREP -iq "ignored\|not recognized\|not supported\|not compatible\|unrecognized\|unknown" conftest.err
if test "$?" = "0" ; then
opal_cv_cc_coverage=0
fi
fi
else $as_nop
opal_cv_cc_coverage=1
if test -s conftest.err ; then
$GREP -iq "ignored\|not recognized\|not supported\|not compatible\|unrecognized\|unknown\|error" conftest.err
if test "$?" = "0" ; then
opal_cv_cc_coverage=0
fi
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
if test "$opal_cv_cc_coverage" = "0" ; then
CFLAGS="$CFLAGS_orig"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
fi
if test "$opal_cv_cc_coverage" = "1" ; then
OPAL_COVERAGE_FLAGS="--coverage"
CLEANFILES="*.gcno ${CLEANFILES}"
CONFIG_CLEAN_FILES="*.gcda *.gcov ${CONFIG_CLEAN_FILES}"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $OPAL_COVERAGE_FLAGS has been added to CFLAGS (--enable-coverage)" >&5
printf "%s\n" "$as_me: WARNING: $OPAL_COVERAGE_FLAGS has been added to CFLAGS (--enable-coverage)" >&2;}
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports (-ftest-coverage)" >&5
printf %s "checking if $CC supports (-ftest-coverage)... " >&6; }
CFLAGS_orig=$CFLAGS
oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val
for oac_list_arg in "-ftest-coverage"; do
oac_list_append=1
case ${oac_list_arg} in #(
-I*|-L*|-l*) :
for oac_list_val in ${CFLAGS}; do
if test "x${oal_list_val}" = "x${oac_list_arg}"
then :
oac_list_append=0
fi
done ;; #(
*) :
;;
esac
if test ${oac_list_append} -eq 1
then :
if test -z "${CFLAGS}"
then :
CFLAGS="$oac_list_arg"
else $as_nop
CFLAGS="${CFLAGS} $oac_list_arg"
fi
fi
done
oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val
if test ${opal_cv_cc_ftest_coverage+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv_cc_ftest_coverage=1
if test -s conftest.err ; then
$GREP -iq "ignored\|not recognized\|not supported\|not compatible\|unrecognized\|unknown" conftest.err
if test "$?" = "0" ; then
opal_cv_cc_ftest_coverage=0
fi
fi
else $as_nop
opal_cv_cc_ftest_coverage=1
if test -s conftest.err ; then
$GREP -iq "ignored\|not recognized\|not supported\|not compatible\|unrecognized\|unknown\|error" conftest.err
if test "$?" = "0" ; then
opal_cv_cc_ftest_coverage=0
fi
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
if test "$opal_cv_cc_ftest_coverage" = "0" ; then
CFLAGS="$CFLAGS_orig"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports (-fprofile-arcs)" >&5
printf %s "checking if $CC supports (-fprofile-arcs)... " >&6; }
CFLAGS_orig=$CFLAGS
oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val
for oac_list_arg in "-fprofile-arcs"; do
oac_list_append=1
case ${oac_list_arg} in #(
-I*|-L*|-l*) :
for oac_list_val in ${CFLAGS}; do
if test "x${oal_list_val}" = "x${oac_list_arg}"
then :
oac_list_append=0
fi
done ;; #(
*) :
;;
esac
if test ${oac_list_append} -eq 1
then :
if test -z "${CFLAGS}"
then :
CFLAGS="$oac_list_arg"
else $as_nop
CFLAGS="${CFLAGS} $oac_list_arg"
fi
fi
done
oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val
if test ${opal_cv_cc_fprofile_arcs+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv_cc_fprofile_arcs=1
if test -s conftest.err ; then
$GREP -iq "ignored\|not recognized\|not supported\|not compatible\|unrecognized\|unknown" conftest.err
if test "$?" = "0" ; then
opal_cv_cc_fprofile_arcs=0
fi
fi
else $as_nop
opal_cv_cc_fprofile_arcs=1
if test -s conftest.err ; then
$GREP -iq "ignored\|not recognized\|not supported\|not compatible\|unrecognized\|unknown\|error" conftest.err
if test "$?" = "0" ; then
opal_cv_cc_fprofile_arcs=0
fi
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
if test "$opal_cv_cc_fprofile_arcs" = "0" ; then
CFLAGS="$CFLAGS_orig"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
fi
if test "$opal_cv_cc_ftest_coverage" = "0" || test "opal_cv_cc_fprofile_arcs" = "0" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Code coverage functionality is not currently available with $CC" >&5
printf "%s\n" "$as_me: WARNING: Code coverage functionality is not currently available with $CC" >&2;}
as_fn_error $? "Configure: Cannot continue" "$LINENO" 5
fi
CLEANFILES="*.bb *.bbg ${CLEANFILES}"
OPAL_COVERAGE_FLAGS="-ftest-coverage -fprofile-arcs"
fi
WANT_DEBUG=1
fi
# These flags are generally gcc-specific; even the
# gcc-impersonating compilers won't accept them.
OPAL_CFLAGS_BEFORE_PICKY="$CFLAGS"
if test $WANT_PICKY_COMPILER -eq 1; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports (-Wundef)" >&5
printf %s "checking if $CC supports (-Wundef)... " >&6; }
CFLAGS_orig=$CFLAGS
oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val
for oac_list_arg in "-Wundef"; do
oac_list_append=1
case ${oac_list_arg} in #(
-I*|-L*|-l*) :
for oac_list_val in ${CFLAGS}; do
if test "x${oal_list_val}" = "x${oac_list_arg}"
then :
oac_list_append=0
fi
done ;; #(
*) :
;;
esac
if test ${oac_list_append} -eq 1
then :
if test -z "${CFLAGS}"
then :
CFLAGS="$oac_list_arg"
else $as_nop
CFLAGS="${CFLAGS} $oac_list_arg"
fi
fi
done
oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val
if test ${opal_cv_cc_Wundef+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv_cc_Wundef=1
if test -s conftest.err ; then
$GREP -iq "ignored\|not recognized\|not supported\|not compatible\|unrecognized\|unknown" conftest.err
if test "$?" = "0" ; then
opal_cv_cc_Wundef=0
fi
fi
else $as_nop
opal_cv_cc_Wundef=1
if test -s conftest.err ; then
$GREP -iq "ignored\|not recognized\|not supported\|not compatible\|unrecognized\|unknown\|error" conftest.err
if test "$?" = "0" ; then
opal_cv_cc_Wundef=0
fi
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
if test "$opal_cv_cc_Wundef" = "0" ; then
CFLAGS="$CFLAGS_orig"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports (-Wno-long-long)" >&5
printf %s "checking if $CC supports (-Wno-long-long)... " >&6; }
CFLAGS_orig=$CFLAGS
oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val
for oac_list_arg in "-Wno-long-long"; do
oac_list_append=1
case ${oac_list_arg} in #(
-I*|-L*|-l*) :
for oac_list_val in ${CFLAGS}; do
if test "x${oal_list_val}" = "x${oac_list_arg}"
then :
oac_list_append=0
fi
done ;; #(
*) :
;;
esac
if test ${oac_list_append} -eq 1
then :
if test -z "${CFLAGS}"
then :
CFLAGS="$oac_list_arg"
else $as_nop
CFLAGS="${CFLAGS} $oac_list_arg"
fi
fi
done
oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val
if test ${opal_cv_cc_Wno_long_long+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
int main() { long long x; }
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv_cc_Wno_long_long=1
if test -s conftest.err ; then
$GREP -iq "ignored\|not recognized\|not supported\|not compatible\|unrecognized\|unknown" conftest.err
if test "$?" = "0" ; then
opal_cv_cc_Wno_long_long=0
fi
fi
else $as_nop
opal_cv_cc_Wno_long_long=1
if test -s conftest.err ; then
$GREP -iq "ignored\|not recognized\|not supported\|not compatible\|unrecognized\|unknown\|error" conftest.err
if test "$?" = "0" ; then
opal_cv_cc_Wno_long_long=0
fi
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
if test "$opal_cv_cc_Wno_long_long" = "0" ; then
CFLAGS="$CFLAGS_orig"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports (-Wsign-compare)" >&5
printf %s "checking if $CC supports (-Wsign-compare)... " >&6; }
CFLAGS_orig=$CFLAGS
oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val
for oac_list_arg in "-Wsign-compare"; do
oac_list_append=1
case ${oac_list_arg} in #(
-I*|-L*|-l*) :
for oac_list_val in ${CFLAGS}; do
if test "x${oal_list_val}" = "x${oac_list_arg}"
then :
oac_list_append=0
fi
done ;; #(
*) :
;;
esac
if test ${oac_list_append} -eq 1
then :
if test -z "${CFLAGS}"
then :
CFLAGS="$oac_list_arg"
else $as_nop
CFLAGS="${CFLAGS} $oac_list_arg"
fi
fi
done
oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val
if test ${opal_cv_cc_Wsign_compare+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv_cc_Wsign_compare=1
if test -s conftest.err ; then
$GREP -iq "ignored\|not recognized\|not supported\|not compatible\|unrecognized\|unknown" conftest.err
if test "$?" = "0" ; then
opal_cv_cc_Wsign_compare=0
fi
fi
else $as_nop
opal_cv_cc_Wsign_compare=1
if test -s conftest.err ; then
$GREP -iq "ignored\|not recognized\|not supported\|not compatible\|unrecognized\|unknown\|error" conftest.err
if test "$?" = "0" ; then
opal_cv_cc_Wsign_compare=0
fi
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
if test "$opal_cv_cc_Wsign_compare" = "0" ; then
CFLAGS="$CFLAGS_orig"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports (-Wmissing-prototypes)" >&5
printf %s "checking if $CC supports (-Wmissing-prototypes)... " >&6; }
CFLAGS_orig=$CFLAGS
oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val
for oac_list_arg in "-Wmissing-prototypes"; do
oac_list_append=1
case ${oac_list_arg} in #(
-I*|-L*|-l*) :
for oac_list_val in ${CFLAGS}; do
if test "x${oal_list_val}" = "x${oac_list_arg}"
then :
oac_list_append=0
fi
done ;; #(
*) :
;;
esac
if test ${oac_list_append} -eq 1
then :
if test -z "${CFLAGS}"
then :
CFLAGS="$oac_list_arg"
else $as_nop
CFLAGS="${CFLAGS} $oac_list_arg"
fi
fi
done
oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val
if test ${opal_cv_cc_Wmissing_prototypes+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv_cc_Wmissing_prototypes=1
if test -s conftest.err ; then
$GREP -iq "ignored\|not recognized\|not supported\|not compatible\|unrecognized\|unknown" conftest.err
if test "$?" = "0" ; then
opal_cv_cc_Wmissing_prototypes=0
fi
fi
else $as_nop
opal_cv_cc_Wmissing_prototypes=1
if test -s conftest.err ; then
$GREP -iq "ignored\|not recognized\|not supported\|not compatible\|unrecognized\|unknown\|error" conftest.err
if test "$?" = "0" ; then
opal_cv_cc_Wmissing_prototypes=0
fi
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
if test "$opal_cv_cc_Wmissing_prototypes" = "0" ; then
CFLAGS="$CFLAGS_orig"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports (-Wstrict-prototypes)" >&5
printf %s "checking if $CC supports (-Wstrict-prototypes)... " >&6; }
CFLAGS_orig=$CFLAGS
oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val
for oac_list_arg in "-Wstrict-prototypes"; do
oac_list_append=1
case ${oac_list_arg} in #(
-I*|-L*|-l*) :
for oac_list_val in ${CFLAGS}; do
if test "x${oal_list_val}" = "x${oac_list_arg}"
then :
oac_list_append=0
fi
done ;; #(
*) :
;;
esac
if test ${oac_list_append} -eq 1
then :
if test -z "${CFLAGS}"
then :
CFLAGS="$oac_list_arg"
else $as_nop
CFLAGS="${CFLAGS} $oac_list_arg"
fi
fi
done
oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val
if test ${opal_cv_cc_Wstrict_prototypes+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv_cc_Wstrict_prototypes=1
if test -s conftest.err ; then
$GREP -iq "ignored\|not recognized\|not supported\|not compatible\|unrecognized\|unknown" conftest.err
if test "$?" = "0" ; then
opal_cv_cc_Wstrict_prototypes=0
fi
fi
else $as_nop
opal_cv_cc_Wstrict_prototypes=1
if test -s conftest.err ; then
$GREP -iq "ignored\|not recognized\|not supported\|not compatible\|unrecognized\|unknown\|error" conftest.err
if test "$?" = "0" ; then
opal_cv_cc_Wstrict_prototypes=0
fi
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
if test "$opal_cv_cc_Wstrict_prototypes" = "0" ; then
CFLAGS="$CFLAGS_orig"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports (-Wcomment)" >&5
printf %s "checking if $CC supports (-Wcomment)... " >&6; }
CFLAGS_orig=$CFLAGS
oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val
for oac_list_arg in "-Wcomment"; do
oac_list_append=1
case ${oac_list_arg} in #(
-I*|-L*|-l*) :
for oac_list_val in ${CFLAGS}; do
if test "x${oal_list_val}" = "x${oac_list_arg}"
then :
oac_list_append=0
fi
done ;; #(
*) :
;;
esac
if test ${oac_list_append} -eq 1
then :
if test -z "${CFLAGS}"
then :
CFLAGS="$oac_list_arg"
else $as_nop
CFLAGS="${CFLAGS} $oac_list_arg"
fi
fi
done
oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val
if test ${opal_cv_cc_Wcomment+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv_cc_Wcomment=1
if test -s conftest.err ; then
$GREP -iq "ignored\|not recognized\|not supported\|not compatible\|unrecognized\|unknown" conftest.err
if test "$?" = "0" ; then
opal_cv_cc_Wcomment=0
fi
fi
else $as_nop
opal_cv_cc_Wcomment=1
if test -s conftest.err ; then
$GREP -iq "ignored\|not recognized\|not supported\|not compatible\|unrecognized\|unknown\|error" conftest.err
if test "$?" = "0" ; then
opal_cv_cc_Wcomment=0
fi
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
if test "$opal_cv_cc_Wcomment" = "0" ; then
CFLAGS="$CFLAGS_orig"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports (-Wshadow)" >&5
printf %s "checking if $CC supports (-Wshadow)... " >&6; }
CFLAGS_orig=$CFLAGS
oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val
for oac_list_arg in "-Wshadow"; do
oac_list_append=1
case ${oac_list_arg} in #(
-I*|-L*|-l*) :
for oac_list_val in ${CFLAGS}; do
if test "x${oal_list_val}" = "x${oac_list_arg}"
then :
oac_list_append=0
fi
done ;; #(
*) :
;;
esac
if test ${oac_list_append} -eq 1
then :
if test -z "${CFLAGS}"
then :
CFLAGS="$oac_list_arg"
else $as_nop
CFLAGS="${CFLAGS} $oac_list_arg"
fi
fi
done
oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val
if test ${opal_cv_cc_Wshadow+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv_cc_Wshadow=1
if test -s conftest.err ; then
$GREP -iq "ignored\|not recognized\|not supported\|not compatible\|unrecognized\|unknown" conftest.err
if test "$?" = "0" ; then
opal_cv_cc_Wshadow=0
fi
fi
else $as_nop
opal_cv_cc_Wshadow=1
if test -s conftest.err ; then
$GREP -iq "ignored\|not recognized\|not supported\|not compatible\|unrecognized\|unknown\|error" conftest.err
if test "$?" = "0" ; then
opal_cv_cc_Wshadow=0
fi
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
if test "$opal_cv_cc_Wshadow" = "0" ; then
CFLAGS="$CFLAGS_orig"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports (-Werror-implicit-function-declaration)" >&5
printf %s "checking if $CC supports (-Werror-implicit-function-declaration)... " >&6; }
CFLAGS_orig=$CFLAGS
oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val
for oac_list_arg in "-Werror-implicit-function-declaration"; do
oac_list_append=1
case ${oac_list_arg} in #(
-I*|-L*|-l*) :
for oac_list_val in ${CFLAGS}; do
if test "x${oal_list_val}" = "x${oac_list_arg}"
then :
oac_list_append=0
fi
done ;; #(
*) :
;;
esac
if test ${oac_list_append} -eq 1
then :
if test -z "${CFLAGS}"
then :
CFLAGS="$oac_list_arg"
else $as_nop
CFLAGS="${CFLAGS} $oac_list_arg"
fi
fi
done
oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val
if test ${opal_cv_cc_Werror_implicit_function_declaration+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv_cc_Werror_implicit_function_declaration=1
if test -s conftest.err ; then
$GREP -iq "ignored\|not recognized\|not supported\|not compatible\|unrecognized\|unknown" conftest.err
if test "$?" = "0" ; then
opal_cv_cc_Werror_implicit_function_declaration=0
fi
fi
else $as_nop
opal_cv_cc_Werror_implicit_function_declaration=1
if test -s conftest.err ; then
$GREP -iq "ignored\|not recognized\|not supported\|not compatible\|unrecognized\|unknown\|error" conftest.err
if test "$?" = "0" ; then
opal_cv_cc_Werror_implicit_function_declaration=0
fi
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
if test "$opal_cv_cc_Werror_implicit_function_declaration" = "0" ; then
CFLAGS="$CFLAGS_orig"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports (-Wno-long-double)" >&5
printf %s "checking if $CC supports (-Wno-long-double)... " >&6; }
CFLAGS_orig=$CFLAGS
oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val
for oac_list_arg in "-Wno-long-double"; do
oac_list_append=1
case ${oac_list_arg} in #(
-I*|-L*|-l*) :
for oac_list_val in ${CFLAGS}; do
if test "x${oal_list_val}" = "x${oac_list_arg}"
then :
oac_list_append=0
fi
done ;; #(
*) :
;;
esac
if test ${oac_list_append} -eq 1
then :
if test -z "${CFLAGS}"
then :
CFLAGS="$oac_list_arg"
else $as_nop
CFLAGS="${CFLAGS} $oac_list_arg"
fi
fi
done
oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val
if test ${opal_cv_cc_Wno_long_double+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
int main() { long double x; }
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv_cc_Wno_long_double=1
if test -s conftest.err ; then
$GREP -iq "ignored\|not recognized\|not supported\|not compatible\|unrecognized\|unknown" conftest.err
if test "$?" = "0" ; then
opal_cv_cc_Wno_long_double=0
fi
fi
else $as_nop
opal_cv_cc_Wno_long_double=1
if test -s conftest.err ; then
$GREP -iq "ignored\|not recognized\|not supported\|not compatible\|unrecognized\|unknown\|error" conftest.err
if test "$?" = "0" ; then
opal_cv_cc_Wno_long_double=0
fi
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
if test "$opal_cv_cc_Wno_long_double" = "0" ; then
CFLAGS="$CFLAGS_orig"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports (-fno-strict-aliasing)" >&5
printf %s "checking if $CC supports (-fno-strict-aliasing)... " >&6; }
CFLAGS_orig=$CFLAGS
oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val
for oac_list_arg in "-fno-strict-aliasing"; do
oac_list_append=1
case ${oac_list_arg} in #(
-I*|-L*|-l*) :
for oac_list_val in ${CFLAGS}; do
if test "x${oal_list_val}" = "x${oac_list_arg}"
then :
oac_list_append=0
fi
done ;; #(
*) :
;;
esac
if test ${oac_list_append} -eq 1
then :
if test -z "${CFLAGS}"
then :
CFLAGS="$oac_list_arg"
else $as_nop
CFLAGS="${CFLAGS} $oac_list_arg"
fi
fi
done
oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val
if test ${opal_cv_cc_fno_strict_aliasing+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
int main() { long double x; }
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv_cc_fno_strict_aliasing=1
if test -s conftest.err ; then
$GREP -iq "ignored\|not recognized\|not supported\|not compatible\|unrecognized\|unknown" conftest.err
if test "$?" = "0" ; then
opal_cv_cc_fno_strict_aliasing=0
fi
fi
else $as_nop
opal_cv_cc_fno_strict_aliasing=1
if test -s conftest.err ; then
$GREP -iq "ignored\|not recognized\|not supported\|not compatible\|unrecognized\|unknown\|error" conftest.err
if test "$?" = "0" ; then
opal_cv_cc_fno_strict_aliasing=0
fi
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
if test "$opal_cv_cc_fno_strict_aliasing" = "0" ; then
CFLAGS="$CFLAGS_orig"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports (-pedantic)" >&5
printf %s "checking if $CC supports (-pedantic)... " >&6; }
CFLAGS_orig=$CFLAGS
oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val
for oac_list_arg in "-pedantic"; do
oac_list_append=1
case ${oac_list_arg} in #(
-I*|-L*|-l*) :
for oac_list_val in ${CFLAGS}; do
if test "x${oal_list_val}" = "x${oac_list_arg}"
then :
oac_list_append=0
fi
done ;; #(
*) :
;;
esac
if test ${oac_list_append} -eq 1
then :
if test -z "${CFLAGS}"
then :
CFLAGS="$oac_list_arg"
else $as_nop
CFLAGS="${CFLAGS} $oac_list_arg"
fi
fi
done
oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val
if test ${opal_cv_cc_pedantic+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv_cc_pedantic=1
if test -s conftest.err ; then
$GREP -iq "ignored\|not recognized\|not supported\|not compatible\|unrecognized\|unknown" conftest.err
if test "$?" = "0" ; then
opal_cv_cc_pedantic=0
fi
fi
else $as_nop
opal_cv_cc_pedantic=1
if test -s conftest.err ; then
$GREP -iq "ignored\|not recognized\|not supported\|not compatible\|unrecognized\|unknown\|error" conftest.err
if test "$?" = "0" ; then
opal_cv_cc_pedantic=0
fi
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
if test "$opal_cv_cc_pedantic" = "0" ; then
CFLAGS="$CFLAGS_orig"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports (-Wall)" >&5
printf %s "checking if $CC supports (-Wall)... " >&6; }
CFLAGS_orig=$CFLAGS
oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val
for oac_list_arg in "-Wall"; do
oac_list_append=1
case ${oac_list_arg} in #(
-I*|-L*|-l*) :
for oac_list_val in ${CFLAGS}; do
if test "x${oal_list_val}" = "x${oac_list_arg}"
then :
oac_list_append=0
fi
done ;; #(
*) :
;;
esac
if test ${oac_list_append} -eq 1
then :
if test -z "${CFLAGS}"
then :
CFLAGS="$oac_list_arg"
else $as_nop
CFLAGS="${CFLAGS} $oac_list_arg"
fi
fi
done
oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val
if test ${opal_cv_cc_Wall+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv_cc_Wall=1
if test -s conftest.err ; then
$GREP -iq "ignored\|not recognized\|not supported\|not compatible\|unrecognized\|unknown" conftest.err
if test "$?" = "0" ; then
opal_cv_cc_Wall=0
fi
fi
else $as_nop
opal_cv_cc_Wall=1
if test -s conftest.err ; then
$GREP -iq "ignored\|not recognized\|not supported\|not compatible\|unrecognized\|unknown\|error" conftest.err
if test "$?" = "0" ; then
opal_cv_cc_Wall=0
fi
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
if test "$opal_cv_cc_Wall" = "0" ; then
CFLAGS="$CFLAGS_orig"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
fi
# There are some warnings that we specifically do not care
# about / do not agree that gcc emits warnings about them. So
# we turn them off.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports (-Wformat-truncation=0)" >&5
printf %s "checking if $CC supports (-Wformat-truncation=0)... " >&6; }
CFLAGS_orig=$CFLAGS
oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val
for oac_list_arg in "-Wformat-truncation=0"; do
oac_list_append=1
case ${oac_list_arg} in #(
-I*|-L*|-l*) :
for oac_list_val in ${CFLAGS}; do
if test "x${oal_list_val}" = "x${oac_list_arg}"
then :
oac_list_append=0
fi
done ;; #(
*) :
;;
esac
if test ${oac_list_append} -eq 1
then :
if test -z "${CFLAGS}"
then :
CFLAGS="$oac_list_arg"
else $as_nop
CFLAGS="${CFLAGS} $oac_list_arg"
fi
fi
done
oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val
if test ${opal_cv_cc_format_truncation+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv_cc_format_truncation=1
if test -s conftest.err ; then
$GREP -iq "ignored\|not recognized\|not supported\|not compatible\|unrecognized\|unknown" conftest.err
if test "$?" = "0" ; then
opal_cv_cc_format_truncation=0
fi
fi
else $as_nop
opal_cv_cc_format_truncation=1
if test -s conftest.err ; then
$GREP -iq "ignored\|not recognized\|not supported\|not compatible\|unrecognized\|unknown\|error" conftest.err
if test "$?" = "0" ; then
opal_cv_cc_format_truncation=0
fi
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
if test "$opal_cv_cc_format_truncation" = "0" ; then
CFLAGS="$CFLAGS_orig"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
fi
fi
# Note: Some versions of clang (at least >= 3.5 -- perhaps
# older versions, too?) and xlc with -g (v16.1, perhaps older)
# will *warn* about -finline-functions, but still allow it.
# This is very annoying, so check for that warning, too.
# The clang warning looks like this:
# clang: warning: optimization flag '-finline-functions' is not supported
# clang: warning: argument unused during compilation: '-finline-functions'
# the xlc warning looks like this:
# warning: "-qinline" is not compatible with "-g". "-qnoinline" is being set.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports (-finline-functions)" >&5
printf %s "checking if $CC supports (-finline-functions)... " >&6; }
CFLAGS_orig=$CFLAGS
oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val
for oac_list_arg in "-finline-functions"; do
oac_list_append=1
case ${oac_list_arg} in #(
-I*|-L*|-l*) :
for oac_list_val in ${CFLAGS}; do
if test "x${oal_list_val}" = "x${oac_list_arg}"
then :
oac_list_append=0
fi
done ;; #(
*) :
;;
esac
if test ${oac_list_append} -eq 1
then :
if test -z "${CFLAGS}"
then :
CFLAGS="$oac_list_arg"
else $as_nop
CFLAGS="${CFLAGS} $oac_list_arg"
fi
fi
done
oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val
if test ${opal_cv_cc_finline_functions+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv_cc_finline_functions=1
if test -s conftest.err ; then
$GREP -iq "ignored\|not recognized\|not supported\|not compatible\|unrecognized\|unknown" conftest.err
if test "$?" = "0" ; then
opal_cv_cc_finline_functions=0
fi
fi
else $as_nop
opal_cv_cc_finline_functions=1
if test -s conftest.err ; then
$GREP -iq "ignored\|not recognized\|not supported\|not compatible\|unrecognized\|unknown\|error" conftest.err
if test "$?" = "0" ; then
opal_cv_cc_finline_functions=0
fi
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
if test "$opal_cv_cc_finline_functions" = "0" ; then
CFLAGS="$CFLAGS_orig"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
fi
# Try to enable restrict keyword
RESTRICT_CFLAGS=
case "$opal_c_vendor" in
intel)
RESTRICT_CFLAGS="-restrict"
;;
sgi)
RESTRICT_CFLAGS="-LANG:restrict=ON"
;;
esac
if test ! -z "$RESTRICT_CFLAGS" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports ($RESTRICT_CFLAGS)" >&5
printf %s "checking if $CC supports ($RESTRICT_CFLAGS)... " >&6; }
CFLAGS_orig=$CFLAGS
oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val
for oac_list_arg in "$RESTRICT_CFLAGS"; do
oac_list_append=1
case ${oac_list_arg} in #(
-I*|-L*|-l*) :
for oac_list_val in ${CFLAGS}; do
if test "x${oal_list_val}" = "x${oac_list_arg}"
then :
oac_list_append=0
fi
done ;; #(
*) :
;;
esac
if test ${oac_list_append} -eq 1
then :
if test -z "${CFLAGS}"
then :
CFLAGS="$oac_list_arg"
else $as_nop
CFLAGS="${CFLAGS} $oac_list_arg"
fi
fi
done
oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val
if test ${opal_cv_cc_restrict+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv_cc_restrict=1
if test -s conftest.err ; then
$GREP -iq "ignored\|not recognized\|not supported\|not compatible\|unrecognized\|unknown" conftest.err
if test "$?" = "0" ; then
opal_cv_cc_restrict=0
fi
fi
else $as_nop
opal_cv_cc_restrict=1
if test -s conftest.err ; then
$GREP -iq "ignored\|not recognized\|not supported\|not compatible\|unrecognized\|unknown\|error" conftest.err
if test "$?" = "0" ; then
opal_cv_cc_restrict=0
fi
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
if test "$opal_cv_cc_restrict" = "0" ; then
CFLAGS="$CFLAGS_orig"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
fi
fi
# see if the C compiler supports __builtin_expect
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports __builtin_expect" >&5
printf %s "checking if $CC supports __builtin_expect... " >&6; }
if test ${opal_cv_cc_supports___builtin_expect+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
void *ptr = (void*) 0;
if (__builtin_expect (ptr != (void*) 0, 1)) return 0;
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_cv_cc_supports___builtin_expect="yes"
else $as_nop
opal_cv_cc_supports___builtin_expect="no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cv_cc_supports___builtin_expect" >&5
printf "%s\n" "$opal_cv_cc_supports___builtin_expect" >&6; }
if test "$opal_cv_cc_supports___builtin_expect" = "yes" ; then
have_cc_builtin_expect=1
else
have_cc_builtin_expect=0
fi
printf "%s\n" "#define OPAL_C_HAVE_BUILTIN_EXPECT $have_cc_builtin_expect" >>confdefs.h
# see if the C compiler supports __builtin_prefetch
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports __builtin_prefetch" >&5
printf %s "checking if $CC supports __builtin_prefetch... " >&6; }
if test ${opal_cv_cc_supports___builtin_prefetch+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
int ptr;
__builtin_prefetch(&ptr,0,0);
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_cv_cc_supports___builtin_prefetch="yes"
else $as_nop
opal_cv_cc_supports___builtin_prefetch="no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cv_cc_supports___builtin_prefetch" >&5
printf "%s\n" "$opal_cv_cc_supports___builtin_prefetch" >&6; }
if test "$opal_cv_cc_supports___builtin_prefetch" = "yes" ; then
have_cc_builtin_prefetch=1
else
have_cc_builtin_prefetch=0
fi
printf "%s\n" "#define OPAL_C_HAVE_BUILTIN_PREFETCH $have_cc_builtin_prefetch" >>confdefs.h
# see if the C compiler supports __builtin_clz
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports __builtin_clz" >&5
printf %s "checking if $CC supports __builtin_clz... " >&6; }
if test ${opal_cv_cc_supports___builtin_clz+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
int value = 0xffff; /* we know we have 16 bits set */
if ((8*sizeof(int)-16) != __builtin_clz(value)) return 0;
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_cv_cc_supports___builtin_clz="yes"
else $as_nop
opal_cv_cc_supports___builtin_clz="no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cv_cc_supports___builtin_clz" >&5
printf "%s\n" "$opal_cv_cc_supports___builtin_clz" >&6; }
if test "$opal_cv_cc_supports___builtin_clz" = "yes" ; then
have_cc_builtin_clz=1
else
have_cc_builtin_clz=0
fi
printf "%s\n" "#define OPAL_C_HAVE_BUILTIN_CLZ $have_cc_builtin_clz" >>confdefs.h
# Preload the optflags for the case where the user didn't specify
# any. If we're using GNU compilers, use -O3 (since it GNU
# doesn't require all compilation units to be compiled with the
# same level of optimization -- selecting a high level of
# optimization is not prohibitive). If we're using anything else,
# be conservative and just use -O.
#
# Note: gcc-impersonating compilers accept -O3
if test "$WANT_DEBUG" = "1"; then
OPTFLAGS=
else
if test "$GCC" = yes; then
OPTFLAGS="-O3"
else
OPTFLAGS="-O"
fi
fi
# Modularize this setup so that sub-configure.in scripts can use this
# same setup code.
##################################
# Optimization flags
##################################
# If the user did not specify optimization flags, add some (the value
# from $OPTFLAGS)
co_arg=""$OPAL_CFLAGS_BEFORE_PICKY""
co_found=0
for co_word in $co_arg; do
# See http://www.gnu.org/software/autoconf/manual/html_node/Quadrigraphs.html#Quadrigraphs
# for an explanation of [ and ] -- they m4 expand to [ and ]
case $co_word in
-g) co_found=1 ;;
-g[1-3]) co_found=1 ;;
+K[0-5]) co_found=1 ;;
-O) co_found=1 ;;
-O[0-9]) co_found=1 ;;
-xO) co_found=1 ;;
-xO[0-9]) co_found=1 ;;
-fast) co_found=1 ;;
# The below Sun Studio flags require or
# trigger -xO optimization
-xvector*) co_found=1 ;;
-xdepend=yes) co_found=1 ;;
esac
done
if test "$co_found" = "0"; then
co_result="$OPTFLAGS $co_arg"
else
co_result="$co_arg"
fi
# Clean up
unset co_found co_word co_arg
OPAL_CFLAGS_BEFORE_PICKY="$co_result"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C optimization flags" >&5
printf %s "checking for C optimization flags... " >&6; }
# Modularize this setup so that sub-configure.in scripts can use this
# same setup code.
##################################
# Optimization flags
##################################
# If the user did not specify optimization flags, add some (the value
# from $OPTFLAGS)
co_arg=""$CFLAGS""
co_found=0
for co_word in $co_arg; do
# See http://www.gnu.org/software/autoconf/manual/html_node/Quadrigraphs.html#Quadrigraphs
# for an explanation of [ and ] -- they m4 expand to [ and ]
case $co_word in
-g) co_found=1 ;;
-g[1-3]) co_found=1 ;;
+K[0-5]) co_found=1 ;;
-O) co_found=1 ;;
-O[0-9]) co_found=1 ;;
-xO) co_found=1 ;;
-xO[0-9]) co_found=1 ;;
-fast) co_found=1 ;;
# The below Sun Studio flags require or
# trigger -xO optimization
-xvector*) co_found=1 ;;
-xdepend=yes) co_found=1 ;;
esac
done
if test "$co_found" = "0"; then
co_result="$OPTFLAGS $co_arg"
else
co_result="$co_arg"
fi
# Clean up
unset co_found co_word co_arg
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $co_result" >&5
printf "%s\n" "$co_result" >&6; }
CFLAGS="$co_result"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: CFLAGS result: $CFLAGS" >&5
printf "%s\n" "CFLAGS result: $CFLAGS" >&6; }
opal_var_scope_pop opal_prog_cc_c11_helper__Thread_local_available opal_prog_cc_c11_helper_atomic_var_available opal_prog_cc_c11_helper__Atomic_available opal_prog_cc_c11_helper__static_assert_available opal_prog_cc_c11_helper__Generic_available opal_prog_cc__thread_available opal_prog_cc_c11_helper_atomic_fetch_xor_explicit_available opal_prog_cc_c11_helper_proper__Atomic_support_in_atomics
# Do all Interix detections if necessary
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Interix environment" >&5
printf %s "checking for Interix environment... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
#if !defined(__INTERIX)
#error Normal Unix environment
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
is_interix=yes
else $as_nop
is_interix=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $is_interix" >&5
printf "%s\n" "$is_interix" >&6; }
if test "$is_interix" = "yes"; then
opal_show_subtitle "Interix detection"
if ! test -d /usr/include/port; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Compiling Open MPI under Interix require an up-to-date" >&5
printf "%s\n" "$as_me: WARNING: Compiling Open MPI under Interix require an up-to-date" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: version of libport. Please ask your system administrator" >&5
printf "%s\n" "$as_me: WARNING: version of libport. Please ask your system administrator" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: to install it (pkg_update -L libport)." >&5
printf "%s\n" "$as_me: WARNING: to install it (pkg_update -L libport)." >&2;}
as_fn_error $? "*** Cannot continue" "$LINENO" 5
fi
#
# These are the minimum requirements for Interix ...
#
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: -lport was added to the linking flags" >&5
printf "%s\n" "$as_me: WARNING: -lport was added to the linking flags" >&2;}
LDFLAGS="-lport $LDFLAGS"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: -D_ALL_SOURCE -D_USE_LIBPORT was added to the compilation flags" >&5
printf "%s\n" "$as_me: WARNING: -D_ALL_SOURCE -D_USE_LIBPORT was added to the compilation flags" >&2;}
CFLAGS="-D_ALL_SOURCE -D_USE_LIBPORT -I/usr/include/port $CFLAGS"
CPPFLAGS="-D_ALL_SOURCE -D_USE_LIBPORT -I/usr/include/port $CPPFLAGS"
CXXFLAGS="-D_ALL_SOURCE -D_USE_LIBPORT -I/usr/include/port $CXXFLAGS"
fi
#
# Check for some types
#
# 'short float' support of the Intel C++ Compiler (group of C and C++
# compilers), at least versions 18.0 and 19.0, is half-baked. It can
# compile declarations of 'short float' variables and expressions of
# 'sizeof(short float)' but cannot compile casts and operations of
# 'short float' variables. In this situation, 'AC_CHECK_TYPES(short float)'
# defines 'HAVE_SHORT_FLOAT' as 1 and compilation errors occur in
# ompi/mca/op/base/op_base_functions.c. To avoid this error, check it
# using 'AC_COMPILE_IFELSE' and set Autoconf cache variables before
# 'AC_CHECK_TYPES(short float)'. This check can be removed when all
# OMPI-supported Intel C++ Compilers support 'short float' completely
# (or drop it completely).
if test "$opal_cv_c_compiler_vendor" = "intel"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Intel compiler supports \"short float\" properly" >&5
printf %s "checking if Intel compiler supports \"short float\" properly... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
float f(short float a, short float b) { return (float)(a + b); }
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else $as_nop
ac_cv_type_short_float="no"
ac_cv_type_short_float__Complex="no"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
ac_fn_c_check_type "$LINENO" "int8_t" "ac_cv_type_int8_t" "$ac_includes_default"
if test "x$ac_cv_type_int8_t" = xyes
then :
printf "%s\n" "#define HAVE_INT8_T 1" >>confdefs.h
fi
ac_fn_c_check_type "$LINENO" "uint8_t" "ac_cv_type_uint8_t" "$ac_includes_default"
if test "x$ac_cv_type_uint8_t" = xyes
then :
printf "%s\n" "#define HAVE_UINT8_T 1" >>confdefs.h
fi
ac_fn_c_check_type "$LINENO" "int16_t" "ac_cv_type_int16_t" "$ac_includes_default"
if test "x$ac_cv_type_int16_t" = xyes
then :
printf "%s\n" "#define HAVE_INT16_T 1" >>confdefs.h
fi
ac_fn_c_check_type "$LINENO" "uint16_t" "ac_cv_type_uint16_t" "$ac_includes_default"
if test "x$ac_cv_type_uint16_t" = xyes
then :
printf "%s\n" "#define HAVE_UINT16_T 1" >>confdefs.h
fi
ac_fn_c_check_type "$LINENO" "int32_t" "ac_cv_type_int32_t" "$ac_includes_default"
if test "x$ac_cv_type_int32_t" = xyes
then :
printf "%s\n" "#define HAVE_INT32_T 1" >>confdefs.h
fi
ac_fn_c_check_type "$LINENO" "uint32_t" "ac_cv_type_uint32_t" "$ac_includes_default"
if test "x$ac_cv_type_uint32_t" = xyes
then :
printf "%s\n" "#define HAVE_UINT32_T 1" >>confdefs.h
fi
ac_fn_c_check_type "$LINENO" "int64_t" "ac_cv_type_int64_t" "$ac_includes_default"
if test "x$ac_cv_type_int64_t" = xyes
then :
printf "%s\n" "#define HAVE_INT64_T 1" >>confdefs.h
fi
ac_fn_c_check_type "$LINENO" "uint64_t" "ac_cv_type_uint64_t" "$ac_includes_default"
if test "x$ac_cv_type_uint64_t" = xyes
then :
printf "%s\n" "#define HAVE_UINT64_T 1" >>confdefs.h
fi
ac_fn_c_check_type "$LINENO" "int128_t" "ac_cv_type_int128_t" "$ac_includes_default"
if test "x$ac_cv_type_int128_t" = xyes
then :
printf "%s\n" "#define HAVE_INT128_T 1" >>confdefs.h
fi
ac_fn_c_check_type "$LINENO" "__int128" "ac_cv_type___int128" "$ac_includes_default"
if test "x$ac_cv_type___int128" = xyes
then :
printf "%s\n" "#define HAVE___INT128 1" >>confdefs.h
fi
ac_fn_c_check_type "$LINENO" "uint128_t" "ac_cv_type_uint128_t" "$ac_includes_default"
if test "x$ac_cv_type_uint128_t" = xyes
then :
printf "%s\n" "#define HAVE_UINT128_T 1" >>confdefs.h
fi
ac_fn_c_check_type "$LINENO" "long long" "ac_cv_type_long_long" "$ac_includes_default"
if test "x$ac_cv_type_long_long" = xyes
then :
printf "%s\n" "#define HAVE_LONG_LONG 1" >>confdefs.h
fi
ac_fn_c_check_type "$LINENO" "__float128" "ac_cv_type___float128" "$ac_includes_default"
if test "x$ac_cv_type___float128" = xyes
then :
printf "%s\n" "#define HAVE___FLOAT128 1" >>confdefs.h
fi
ac_fn_c_check_type "$LINENO" "short float" "ac_cv_type_short_float" "$ac_includes_default"
if test "x$ac_cv_type_short_float" = xyes
then :
printf "%s\n" "#define HAVE_SHORT_FLOAT 1" >>confdefs.h
fi
ac_fn_c_check_type "$LINENO" "long double" "ac_cv_type_long_double" "$ac_includes_default"
if test "x$ac_cv_type_long_double" = xyes
then :
printf "%s\n" "#define HAVE_LONG_DOUBLE 1" >>confdefs.h
fi
# We only need these types if we're building the OMPI project, but
# OPAL currently doesn't protect for their lack of presence well.
ac_fn_c_check_header_compile "$LINENO" "complex.h" "ac_cv_header_complex_h" "$ac_includes_default"
if test "x$ac_cv_header_complex_h" = xyes
then :
printf "%s\n" "#define HAVE_COMPLEX_H 1" >>confdefs.h
fi
ac_fn_c_check_type "$LINENO" "short float _Complex" "ac_cv_type_short_float__Complex" "$ac_includes_default"
if test "x$ac_cv_type_short_float__Complex" = xyes
then :
printf "%s\n" "#define HAVE_SHORT_FLOAT__COMPLEX 1" >>confdefs.h
fi
ac_fn_c_check_type "$LINENO" "float _Complex" "ac_cv_type_float__Complex" "$ac_includes_default"
if test "x$ac_cv_type_float__Complex" = xyes
then :
printf "%s\n" "#define HAVE_FLOAT__COMPLEX 1" >>confdefs.h
fi
ac_fn_c_check_type "$LINENO" "double _Complex" "ac_cv_type_double__Complex" "$ac_includes_default"
if test "x$ac_cv_type_double__Complex" = xyes
then :
printf "%s\n" "#define HAVE_DOUBLE__COMPLEX 1" >>confdefs.h
fi
ac_fn_c_check_type "$LINENO" "long double _Complex" "ac_cv_type_long_double__Complex" "$ac_includes_default"
if test "x$ac_cv_type_long_double__Complex" = xyes
then :
printf "%s\n" "#define HAVE_LONG_DOUBLE__COMPLEX 1" >>confdefs.h
fi
ac_fn_c_check_type "$LINENO" "intptr_t" "ac_cv_type_intptr_t" "$ac_includes_default"
if test "x$ac_cv_type_intptr_t" = xyes
then :
printf "%s\n" "#define HAVE_INTPTR_T 1" >>confdefs.h
fi
ac_fn_c_check_type "$LINENO" "uintptr_t" "ac_cv_type_uintptr_t" "$ac_includes_default"
if test "x$ac_cv_type_uintptr_t" = xyes
then :
printf "%s\n" "#define HAVE_UINTPTR_T 1" >>confdefs.h
fi
ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default"
if test "x$ac_cv_type_mode_t" = xyes
then :
printf "%s\n" "#define HAVE_MODE_T 1" >>confdefs.h
fi
ac_fn_c_check_type "$LINENO" "ssize_t" "ac_cv_type_ssize_t" "$ac_includes_default"
if test "x$ac_cv_type_ssize_t" = xyes
then :
printf "%s\n" "#define HAVE_SSIZE_T 1" >>confdefs.h
fi
ac_fn_c_check_type "$LINENO" "ptrdiff_t" "ac_cv_type_ptrdiff_t" "$ac_includes_default"
if test "x$ac_cv_type_ptrdiff_t" = xyes
then :
printf "%s\n" "#define HAVE_PTRDIFF_T 1" >>confdefs.h
fi
#
# Check for type sizes
#
# The cast to long int works around a bug in the HP C Compiler
# 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.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of _Bool" >&5
printf %s "checking size of _Bool... " >&6; }
if test ${ac_cv_sizeof__Bool+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (_Bool))" "ac_cv_sizeof__Bool" "$ac_includes_default"
then :
else $as_nop
if test "$ac_cv_type__Bool" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (_Bool)
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof__Bool=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof__Bool" >&5
printf "%s\n" "$ac_cv_sizeof__Bool" >&6; }
printf "%s\n" "#define SIZEOF__BOOL $ac_cv_sizeof__Bool" >>confdefs.h
# The cast to long int works around a bug in the HP C Compiler
# 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.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of char" >&5
printf %s "checking size of char... " >&6; }
if test ${ac_cv_sizeof_char+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (char))" "ac_cv_sizeof_char" "$ac_includes_default"
then :
else $as_nop
if test "$ac_cv_type_char" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (char)
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_char=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_char" >&5
printf "%s\n" "$ac_cv_sizeof_char" >&6; }
printf "%s\n" "#define SIZEOF_CHAR $ac_cv_sizeof_char" >>confdefs.h
# The cast to long int works around a bug in the HP C Compiler
# 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.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of short" >&5
printf %s "checking size of short... " >&6; }
if test ${ac_cv_sizeof_short+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short))" "ac_cv_sizeof_short" "$ac_includes_default"
then :
else $as_nop
if test "$ac_cv_type_short" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (short)
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_short=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short" >&5
printf "%s\n" "$ac_cv_sizeof_short" >&6; }
printf "%s\n" "#define SIZEOF_SHORT $ac_cv_sizeof_short" >>confdefs.h
# The cast to long int works around a bug in the HP C Compiler
# 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.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of int" >&5
printf %s "checking size of int... " >&6; }
if test ${ac_cv_sizeof_int+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"
then :
else $as_nop
if test "$ac_cv_type_int" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (int)
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_int=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5
printf "%s\n" "$ac_cv_sizeof_int" >&6; }
printf "%s\n" "#define SIZEOF_INT $ac_cv_sizeof_int" >>confdefs.h
# The cast to long int works around a bug in the HP C Compiler
# 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.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of unsigned int" >&5
printf %s "checking size of unsigned int... " >&6; }
if test ${ac_cv_sizeof_unsigned_int+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned int))" "ac_cv_sizeof_unsigned_int" "$ac_includes_default"
then :
else $as_nop
if test "$ac_cv_type_unsigned_int" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (unsigned int)
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_unsigned_int=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_unsigned_int" >&5
printf "%s\n" "$ac_cv_sizeof_unsigned_int" >&6; }
printf "%s\n" "#define SIZEOF_UNSIGNED_INT $ac_cv_sizeof_unsigned_int" >>confdefs.h
# The cast to long int works around a bug in the HP C Compiler
# 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.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of long" >&5
printf %s "checking size of long... " >&6; }
if test ${ac_cv_sizeof_long+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"
then :
else $as_nop
if test "$ac_cv_type_long" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (long)
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_long=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5
printf "%s\n" "$ac_cv_sizeof_long" >&6; }
printf "%s\n" "#define SIZEOF_LONG $ac_cv_sizeof_long" >>confdefs.h
# The cast to long int works around a bug in the HP C Compiler
# 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.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of unsigned long" >&5
printf %s "checking size of unsigned long... " >&6; }
if test ${ac_cv_sizeof_unsigned_long+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned long))" "ac_cv_sizeof_unsigned_long" "$ac_includes_default"
then :
else $as_nop
if test "$ac_cv_type_unsigned_long" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (unsigned long)
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_unsigned_long=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_unsigned_long" >&5
printf "%s\n" "$ac_cv_sizeof_unsigned_long" >&6; }
printf "%s\n" "#define SIZEOF_UNSIGNED_LONG $ac_cv_sizeof_unsigned_long" >>confdefs.h
# The cast to long int works around a bug in the HP C Compiler
# 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.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of long long" >&5
printf %s "checking size of long long... " >&6; }
if test ${ac_cv_sizeof_long_long+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long))" "ac_cv_sizeof_long_long" "$ac_includes_default"
then :
else $as_nop
if test "$ac_cv_type_long_long" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (long long)
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_long_long=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_long" >&5
printf "%s\n" "$ac_cv_sizeof_long_long" >&6; }
printf "%s\n" "#define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long" >>confdefs.h
if test "$ac_cv_type_short_float" = yes; then
# The cast to long int works around a bug in the HP C Compiler
# 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.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of short float" >&5
printf %s "checking size of short float... " >&6; }
if test ${ac_cv_sizeof_short_float+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short float))" "ac_cv_sizeof_short_float" "$ac_includes_default"
then :
else $as_nop
if test "$ac_cv_type_short_float" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (short float)
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_short_float=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short_float" >&5
printf "%s\n" "$ac_cv_sizeof_short_float" >&6; }
printf "%s\n" "#define SIZEOF_SHORT_FLOAT $ac_cv_sizeof_short_float" >>confdefs.h
fi
# The cast to long int works around a bug in the HP C Compiler
# 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.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of float" >&5
printf %s "checking size of float... " >&6; }
if test ${ac_cv_sizeof_float+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (float))" "ac_cv_sizeof_float" "$ac_includes_default"
then :
else $as_nop
if test "$ac_cv_type_float" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (float)
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_float=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_float" >&5
printf "%s\n" "$ac_cv_sizeof_float" >&6; }
printf "%s\n" "#define SIZEOF_FLOAT $ac_cv_sizeof_float" >>confdefs.h
# The cast to long int works around a bug in the HP C Compiler
# 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.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of double" >&5
printf %s "checking size of double... " >&6; }
if test ${ac_cv_sizeof_double+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (double))" "ac_cv_sizeof_double" "$ac_includes_default"
then :
else $as_nop
if test "$ac_cv_type_double" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (double)
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_double=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_double" >&5
printf "%s\n" "$ac_cv_sizeof_double" >&6; }
printf "%s\n" "#define SIZEOF_DOUBLE $ac_cv_sizeof_double" >>confdefs.h
# The cast to long int works around a bug in the HP C Compiler
# 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.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of long double" >&5
printf %s "checking size of long double... " >&6; }
if test ${ac_cv_sizeof_long_double+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long double))" "ac_cv_sizeof_long_double" "$ac_includes_default"
then :
else $as_nop
if test "$ac_cv_type_long_double" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (long double)
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_long_double=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_double" >&5
printf "%s\n" "$ac_cv_sizeof_long_double" >&6; }
printf "%s\n" "#define SIZEOF_LONG_DOUBLE $ac_cv_sizeof_long_double" >>confdefs.h
if test "$ac_cv_type___float128" = yes; then
# The cast to long int works around a bug in the HP C Compiler
# 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.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of __float128" >&5
printf %s "checking size of __float128... " >&6; }
if test ${ac_cv_sizeof___float128+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (__float128))" "ac_cv_sizeof___float128" "$ac_includes_default"
then :
else $as_nop
if test "$ac_cv_type___float128" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (__float128)
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof___float128=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof___float128" >&5
printf "%s\n" "$ac_cv_sizeof___float128" >&6; }
printf "%s\n" "#define SIZEOF___FLOAT128 $ac_cv_sizeof___float128" >>confdefs.h
fi
# We only need these types if we're building the OMPI project, but
# OPAL currently doesn't protect for their lack of presence well.
if test "$ac_cv_type_short_float__Complex" = yes; then
# The cast to long int works around a bug in the HP C Compiler
# 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.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of short float _Complex" >&5
printf %s "checking size of short float _Complex... " >&6; }
if test ${ac_cv_sizeof_short_float__Complex+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short float _Complex))" "ac_cv_sizeof_short_float__Complex" "$ac_includes_default"
then :
else $as_nop
if test "$ac_cv_type_short_float__Complex" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (short float _Complex)
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_short_float__Complex=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short_float__Complex" >&5
printf "%s\n" "$ac_cv_sizeof_short_float__Complex" >&6; }
printf "%s\n" "#define SIZEOF_SHORT_FLOAT__COMPLEX $ac_cv_sizeof_short_float__Complex" >>confdefs.h
fi
# The cast to long int works around a bug in the HP C Compiler
# 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.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of float _Complex" >&5
printf %s "checking size of float _Complex... " >&6; }
if test ${ac_cv_sizeof_float__Complex+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (float _Complex))" "ac_cv_sizeof_float__Complex" "$ac_includes_default"
then :
else $as_nop
if test "$ac_cv_type_float__Complex" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (float _Complex)
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_float__Complex=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_float__Complex" >&5
printf "%s\n" "$ac_cv_sizeof_float__Complex" >&6; }
printf "%s\n" "#define SIZEOF_FLOAT__COMPLEX $ac_cv_sizeof_float__Complex" >>confdefs.h
# The cast to long int works around a bug in the HP C Compiler
# 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.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of double _Complex" >&5
printf %s "checking size of double _Complex... " >&6; }
if test ${ac_cv_sizeof_double__Complex+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (double _Complex))" "ac_cv_sizeof_double__Complex" "$ac_includes_default"
then :
else $as_nop
if test "$ac_cv_type_double__Complex" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (double _Complex)
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_double__Complex=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_double__Complex" >&5
printf "%s\n" "$ac_cv_sizeof_double__Complex" >&6; }
printf "%s\n" "#define SIZEOF_DOUBLE__COMPLEX $ac_cv_sizeof_double__Complex" >>confdefs.h
# The cast to long int works around a bug in the HP C Compiler
# 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.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of long double _Complex" >&5
printf %s "checking size of long double _Complex... " >&6; }
if test ${ac_cv_sizeof_long_double__Complex+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long double _Complex))" "ac_cv_sizeof_long_double__Complex" "$ac_includes_default"
then :
else $as_nop
if test "$ac_cv_type_long_double__Complex" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (long double _Complex)
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_long_double__Complex=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_double__Complex" >&5
printf "%s\n" "$ac_cv_sizeof_long_double__Complex" >&6; }
printf "%s\n" "#define SIZEOF_LONG_DOUBLE__COMPLEX $ac_cv_sizeof_long_double__Complex" >>confdefs.h
# The cast to long int works around a bug in the HP C Compiler
# 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.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of void *" >&5
printf %s "checking size of void *... " >&6; }
if test ${ac_cv_sizeof_void_p+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void *))" "ac_cv_sizeof_void_p" "$ac_includes_default"
then :
else $as_nop
if test "$ac_cv_type_void_p" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (void *)
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_void_p=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_void_p" >&5
printf "%s\n" "$ac_cv_sizeof_void_p" >&6; }
printf "%s\n" "#define SIZEOF_VOID_P $ac_cv_sizeof_void_p" >>confdefs.h
if test "$ac_cv_sizeof_void_p" -eq 4
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI no longer supports 32 bit builds." >&5
printf "%s\n" "$as_me: WARNING: Open MPI no longer supports 32 bit builds." >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Please use Open MPI v4.x or earlier if you need 32 bit support." >&5
printf "%s\n" "$as_me: WARNING: Please use Open MPI v4.x or earlier if you need 32 bit support." >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
# The cast to long int works around a bug in the HP C Compiler
# 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.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of size_t" >&5
printf %s "checking size of size_t... " >&6; }
if test ${ac_cv_sizeof_size_t+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (size_t))" "ac_cv_sizeof_size_t" "$ac_includes_default"
then :
else $as_nop
if test "$ac_cv_type_size_t" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (size_t)
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_size_t=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_size_t" >&5
printf "%s\n" "$ac_cv_sizeof_size_t" >&6; }
printf "%s\n" "#define SIZEOF_SIZE_T $ac_cv_sizeof_size_t" >>confdefs.h
if test "$ac_cv_type_ssize_t" = yes ; then
# The cast to long int works around a bug in the HP C Compiler
# 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.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of ssize_t" >&5
printf %s "checking size of ssize_t... " >&6; }
if test ${ac_cv_sizeof_ssize_t+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (ssize_t))" "ac_cv_sizeof_ssize_t" "$ac_includes_default"
then :
else $as_nop
if test "$ac_cv_type_ssize_t" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (ssize_t)
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_ssize_t=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_ssize_t" >&5
printf "%s\n" "$ac_cv_sizeof_ssize_t" >&6; }
printf "%s\n" "#define SIZEOF_SSIZE_T $ac_cv_sizeof_ssize_t" >>confdefs.h
fi
if test "$ac_cv_type_ptrdiff_t" = yes; then
# The cast to long int works around a bug in the HP C Compiler
# 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.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of ptrdiff_t" >&5
printf %s "checking size of ptrdiff_t... " >&6; }
if test ${ac_cv_sizeof_ptrdiff_t+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (ptrdiff_t))" "ac_cv_sizeof_ptrdiff_t" "$ac_includes_default"
then :
else $as_nop
if test "$ac_cv_type_ptrdiff_t" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (ptrdiff_t)
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_ptrdiff_t=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_ptrdiff_t" >&5
printf "%s\n" "$ac_cv_sizeof_ptrdiff_t" >&6; }
printf "%s\n" "#define SIZEOF_PTRDIFF_T $ac_cv_sizeof_ptrdiff_t" >>confdefs.h
else
as_fn_error $? "ptrdiff_t type is not available, this is required by C99 standard. Cannot continue" "$LINENO" 5
fi
# The cast to long int works around a bug in the HP C Compiler
# 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.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of wchar_t" >&5
printf %s "checking size of wchar_t... " >&6; }
if test ${ac_cv_sizeof_wchar_t+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (wchar_t))" "ac_cv_sizeof_wchar_t" "$ac_includes_default"
then :
else $as_nop
if test "$ac_cv_type_wchar_t" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (wchar_t)
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_wchar_t=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_wchar_t" >&5
printf "%s\n" "$ac_cv_sizeof_wchar_t" >&6; }
printf "%s\n" "#define SIZEOF_WCHAR_T $ac_cv_sizeof_wchar_t" >>confdefs.h
# The cast to long int works around a bug in the HP C Compiler
# 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.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of pid_t" >&5
printf %s "checking size of pid_t... " >&6; }
if test ${ac_cv_sizeof_pid_t+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (pid_t))" "ac_cv_sizeof_pid_t" "$ac_includes_default"
then :
else $as_nop
if test "$ac_cv_type_pid_t" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (pid_t)
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_pid_t=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_pid_t" >&5
printf "%s\n" "$ac_cv_sizeof_pid_t" >&6; }
printf "%s\n" "#define SIZEOF_PID_T $ac_cv_sizeof_pid_t" >>confdefs.h
# Check sizes of atomic types so we can define fixed-width types in OPAL
# The cast to long int works around a bug in the HP C Compiler
# 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.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of atomic_short" >&5
printf %s "checking size of atomic_short... " >&6; }
if test ${ac_cv_sizeof_atomic_short+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (atomic_short))" "ac_cv_sizeof_atomic_short" "#include
"
then :
else $as_nop
if test "$ac_cv_type_atomic_short" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (atomic_short)
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_atomic_short=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_atomic_short" >&5
printf "%s\n" "$ac_cv_sizeof_atomic_short" >&6; }
printf "%s\n" "#define SIZEOF_ATOMIC_SHORT $ac_cv_sizeof_atomic_short" >>confdefs.h
# The cast to long int works around a bug in the HP C Compiler
# 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.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of atomic_int" >&5
printf %s "checking size of atomic_int... " >&6; }
if test ${ac_cv_sizeof_atomic_int+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (atomic_int))" "ac_cv_sizeof_atomic_int" "#include
"
then :
else $as_nop
if test "$ac_cv_type_atomic_int" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (atomic_int)
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_atomic_int=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_atomic_int" >&5
printf "%s\n" "$ac_cv_sizeof_atomic_int" >&6; }
printf "%s\n" "#define SIZEOF_ATOMIC_INT $ac_cv_sizeof_atomic_int" >>confdefs.h
# The cast to long int works around a bug in the HP C Compiler
# 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.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of atomic_long" >&5
printf %s "checking size of atomic_long... " >&6; }
if test ${ac_cv_sizeof_atomic_long+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (atomic_long))" "ac_cv_sizeof_atomic_long" "#include
"
then :
else $as_nop
if test "$ac_cv_type_atomic_long" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (atomic_long)
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_atomic_long=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_atomic_long" >&5
printf "%s\n" "$ac_cv_sizeof_atomic_long" >&6; }
printf "%s\n" "#define SIZEOF_ATOMIC_LONG $ac_cv_sizeof_atomic_long" >>confdefs.h
# The cast to long int works around a bug in the HP C Compiler
# 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.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of atomic_llong" >&5
printf %s "checking size of atomic_llong... " >&6; }
if test ${ac_cv_sizeof_atomic_llong+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (atomic_llong))" "ac_cv_sizeof_atomic_llong" "#include
"
then :
else $as_nop
if test "$ac_cv_type_atomic_llong" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (atomic_llong)
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_atomic_llong=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_atomic_llong" >&5
printf "%s\n" "$ac_cv_sizeof_atomic_llong" >&6; }
printf "%s\n" "#define SIZEOF_ATOMIC_LLONG $ac_cv_sizeof_atomic_llong" >>confdefs.h
#
# Check for type alignments
#
opal_var_scope_push ${LINENO} opal_align_value
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
# The cast to long int works around a bug in the HP C Compiler,
# see AC_CHECK_SIZEOF for more information.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking alignment of bool" >&5
printf %s "checking alignment of bool... " >&6; }
if test ${ac_cv_alignof_bool+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) offsetof (ac__type_alignof_, y)" "ac_cv_alignof_bool" "$ac_includes_default
#include
typedef struct { char x; bool y; } ac__type_alignof_;"
then :
else $as_nop
if test "$ac_cv_type_bool" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute alignment of bool
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_alignof_bool=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_alignof_bool" >&5
printf "%s\n" "$ac_cv_alignof_bool" >&6; }
printf "%s\n" "#define ALIGNOF_BOOL $ac_cv_alignof_bool" >>confdefs.h
# Put the value determined from AC CHECK_ALIGNOF into an
# easy-to-access shell variable.
opal_align_value=$ac_cv_alignof_bool
# This $opal_cv_c_align_* shell variable is used elsewhere in
# configure.ac
opal_cv_c_align_bool=$opal_align_value
# This #define is used in C code.
printf "%s\n" "#define OPAL_ALIGNMENT_BOOL $opal_align_value" >>confdefs.h
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
opal_var_scope_pop opal_align_value
opal_var_scope_push ${LINENO} opal_align_value
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
# The cast to long int works around a bug in the HP C Compiler,
# see AC_CHECK_SIZEOF for more information.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking alignment of int8_t" >&5
printf %s "checking alignment of int8_t... " >&6; }
if test ${ac_cv_alignof_int8_t+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) offsetof (ac__type_alignof_, y)" "ac_cv_alignof_int8_t" "$ac_includes_default
#include
typedef struct { char x; int8_t y; } ac__type_alignof_;"
then :
else $as_nop
if test "$ac_cv_type_int8_t" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute alignment of int8_t
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_alignof_int8_t=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_alignof_int8_t" >&5
printf "%s\n" "$ac_cv_alignof_int8_t" >&6; }
printf "%s\n" "#define ALIGNOF_INT8_T $ac_cv_alignof_int8_t" >>confdefs.h
# Put the value determined from AC CHECK_ALIGNOF into an
# easy-to-access shell variable.
opal_align_value=$ac_cv_alignof_int8_t
# This $opal_cv_c_align_* shell variable is used elsewhere in
# configure.ac
opal_cv_c_align_int8_t=$opal_align_value
# This #define is used in C code.
printf "%s\n" "#define OPAL_ALIGNMENT_INT8 $opal_align_value" >>confdefs.h
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
opal_var_scope_pop opal_align_value
opal_var_scope_push ${LINENO} opal_align_value
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
# The cast to long int works around a bug in the HP C Compiler,
# see AC_CHECK_SIZEOF for more information.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking alignment of int16_t" >&5
printf %s "checking alignment of int16_t... " >&6; }
if test ${ac_cv_alignof_int16_t+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) offsetof (ac__type_alignof_, y)" "ac_cv_alignof_int16_t" "$ac_includes_default
#include
typedef struct { char x; int16_t y; } ac__type_alignof_;"
then :
else $as_nop
if test "$ac_cv_type_int16_t" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute alignment of int16_t
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_alignof_int16_t=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_alignof_int16_t" >&5
printf "%s\n" "$ac_cv_alignof_int16_t" >&6; }
printf "%s\n" "#define ALIGNOF_INT16_T $ac_cv_alignof_int16_t" >>confdefs.h
# Put the value determined from AC CHECK_ALIGNOF into an
# easy-to-access shell variable.
opal_align_value=$ac_cv_alignof_int16_t
# This $opal_cv_c_align_* shell variable is used elsewhere in
# configure.ac
opal_cv_c_align_int16_t=$opal_align_value
# This #define is used in C code.
printf "%s\n" "#define OPAL_ALIGNMENT_INT16 $opal_align_value" >>confdefs.h
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
opal_var_scope_pop opal_align_value
opal_var_scope_push ${LINENO} opal_align_value
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
# The cast to long int works around a bug in the HP C Compiler,
# see AC_CHECK_SIZEOF for more information.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking alignment of int32_t" >&5
printf %s "checking alignment of int32_t... " >&6; }
if test ${ac_cv_alignof_int32_t+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) offsetof (ac__type_alignof_, y)" "ac_cv_alignof_int32_t" "$ac_includes_default
#include
typedef struct { char x; int32_t y; } ac__type_alignof_;"
then :
else $as_nop
if test "$ac_cv_type_int32_t" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute alignment of int32_t
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_alignof_int32_t=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_alignof_int32_t" >&5
printf "%s\n" "$ac_cv_alignof_int32_t" >&6; }
printf "%s\n" "#define ALIGNOF_INT32_T $ac_cv_alignof_int32_t" >>confdefs.h
# Put the value determined from AC CHECK_ALIGNOF into an
# easy-to-access shell variable.
opal_align_value=$ac_cv_alignof_int32_t
# This $opal_cv_c_align_* shell variable is used elsewhere in
# configure.ac
opal_cv_c_align_int32_t=$opal_align_value
# This #define is used in C code.
printf "%s\n" "#define OPAL_ALIGNMENT_INT32 $opal_align_value" >>confdefs.h
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
opal_var_scope_pop opal_align_value
opal_var_scope_push ${LINENO} opal_align_value
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
# The cast to long int works around a bug in the HP C Compiler,
# see AC_CHECK_SIZEOF for more information.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking alignment of int64_t" >&5
printf %s "checking alignment of int64_t... " >&6; }
if test ${ac_cv_alignof_int64_t+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) offsetof (ac__type_alignof_, y)" "ac_cv_alignof_int64_t" "$ac_includes_default
#include
typedef struct { char x; int64_t y; } ac__type_alignof_;"
then :
else $as_nop
if test "$ac_cv_type_int64_t" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute alignment of int64_t
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_alignof_int64_t=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_alignof_int64_t" >&5
printf "%s\n" "$ac_cv_alignof_int64_t" >&6; }
printf "%s\n" "#define ALIGNOF_INT64_T $ac_cv_alignof_int64_t" >>confdefs.h
# Put the value determined from AC CHECK_ALIGNOF into an
# easy-to-access shell variable.
opal_align_value=$ac_cv_alignof_int64_t
# This $opal_cv_c_align_* shell variable is used elsewhere in
# configure.ac
opal_cv_c_align_int64_t=$opal_align_value
# This #define is used in C code.
printf "%s\n" "#define OPAL_ALIGNMENT_INT64 $opal_align_value" >>confdefs.h
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
opal_var_scope_pop opal_align_value
if test "$ac_cv_type_int128_t" = yes ; then
opal_var_scope_push ${LINENO} opal_align_value
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
# The cast to long int works around a bug in the HP C Compiler,
# see AC_CHECK_SIZEOF for more information.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking alignment of int128_t" >&5
printf %s "checking alignment of int128_t... " >&6; }
if test ${ac_cv_alignof_int128_t+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) offsetof (ac__type_alignof_, y)" "ac_cv_alignof_int128_t" "$ac_includes_default
#include
typedef struct { char x; int128_t y; } ac__type_alignof_;"
then :
else $as_nop
if test "$ac_cv_type_int128_t" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute alignment of int128_t
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_alignof_int128_t=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_alignof_int128_t" >&5
printf "%s\n" "$ac_cv_alignof_int128_t" >&6; }
printf "%s\n" "#define ALIGNOF_INT128_T $ac_cv_alignof_int128_t" >>confdefs.h
# Put the value determined from AC CHECK_ALIGNOF into an
# easy-to-access shell variable.
opal_align_value=$ac_cv_alignof_int128_t
# This $opal_cv_c_align_* shell variable is used elsewhere in
# configure.ac
opal_cv_c_align_int128_t=$opal_align_value
# This #define is used in C code.
printf "%s\n" "#define OPAL_ALIGNMENT_INT128 $opal_align_value" >>confdefs.h
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
opal_var_scope_pop opal_align_value
fi
opal_var_scope_push ${LINENO} opal_align_value
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
# The cast to long int works around a bug in the HP C Compiler,
# see AC_CHECK_SIZEOF for more information.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking alignment of char" >&5
printf %s "checking alignment of char... " >&6; }
if test ${ac_cv_alignof_char+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) offsetof (ac__type_alignof_, y)" "ac_cv_alignof_char" "$ac_includes_default
#include
typedef struct { char x; char y; } ac__type_alignof_;"
then :
else $as_nop
if test "$ac_cv_type_char" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute alignment of char
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_alignof_char=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_alignof_char" >&5
printf "%s\n" "$ac_cv_alignof_char" >&6; }
printf "%s\n" "#define ALIGNOF_CHAR $ac_cv_alignof_char" >>confdefs.h
# Put the value determined from AC CHECK_ALIGNOF into an
# easy-to-access shell variable.
opal_align_value=$ac_cv_alignof_char
# This $opal_cv_c_align_* shell variable is used elsewhere in
# configure.ac
opal_cv_c_align_char=$opal_align_value
# This #define is used in C code.
printf "%s\n" "#define OPAL_ALIGNMENT_CHAR $opal_align_value" >>confdefs.h
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
opal_var_scope_pop opal_align_value
opal_var_scope_push ${LINENO} opal_align_value
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
# The cast to long int works around a bug in the HP C Compiler,
# see AC_CHECK_SIZEOF for more information.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking alignment of short" >&5
printf %s "checking alignment of short... " >&6; }
if test ${ac_cv_alignof_short+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) offsetof (ac__type_alignof_, y)" "ac_cv_alignof_short" "$ac_includes_default
#include
typedef struct { char x; short y; } ac__type_alignof_;"
then :
else $as_nop
if test "$ac_cv_type_short" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute alignment of short
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_alignof_short=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_alignof_short" >&5
printf "%s\n" "$ac_cv_alignof_short" >&6; }
printf "%s\n" "#define ALIGNOF_SHORT $ac_cv_alignof_short" >>confdefs.h
# Put the value determined from AC CHECK_ALIGNOF into an
# easy-to-access shell variable.
opal_align_value=$ac_cv_alignof_short
# This $opal_cv_c_align_* shell variable is used elsewhere in
# configure.ac
opal_cv_c_align_short=$opal_align_value
# This #define is used in C code.
printf "%s\n" "#define OPAL_ALIGNMENT_SHORT $opal_align_value" >>confdefs.h
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
opal_var_scope_pop opal_align_value
opal_var_scope_push ${LINENO} opal_align_value
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
# The cast to long int works around a bug in the HP C Compiler,
# see AC_CHECK_SIZEOF for more information.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking alignment of wchar_t" >&5
printf %s "checking alignment of wchar_t... " >&6; }
if test ${ac_cv_alignof_wchar_t+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) offsetof (ac__type_alignof_, y)" "ac_cv_alignof_wchar_t" "$ac_includes_default
#include
typedef struct { char x; wchar_t y; } ac__type_alignof_;"
then :
else $as_nop
if test "$ac_cv_type_wchar_t" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute alignment of wchar_t
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_alignof_wchar_t=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_alignof_wchar_t" >&5
printf "%s\n" "$ac_cv_alignof_wchar_t" >&6; }
printf "%s\n" "#define ALIGNOF_WCHAR_T $ac_cv_alignof_wchar_t" >>confdefs.h
# Put the value determined from AC CHECK_ALIGNOF into an
# easy-to-access shell variable.
opal_align_value=$ac_cv_alignof_wchar_t
# This $opal_cv_c_align_* shell variable is used elsewhere in
# configure.ac
opal_cv_c_align_wchar_t=$opal_align_value
# This #define is used in C code.
printf "%s\n" "#define OPAL_ALIGNMENT_WCHAR $opal_align_value" >>confdefs.h
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
opal_var_scope_pop opal_align_value
opal_var_scope_push ${LINENO} opal_align_value
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
# The cast to long int works around a bug in the HP C Compiler,
# see AC_CHECK_SIZEOF for more information.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking alignment of int" >&5
printf %s "checking alignment of int... " >&6; }
if test ${ac_cv_alignof_int+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) offsetof (ac__type_alignof_, y)" "ac_cv_alignof_int" "$ac_includes_default
#include
typedef struct { char x; int y; } ac__type_alignof_;"
then :
else $as_nop
if test "$ac_cv_type_int" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute alignment of int
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_alignof_int=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_alignof_int" >&5
printf "%s\n" "$ac_cv_alignof_int" >&6; }
printf "%s\n" "#define ALIGNOF_INT $ac_cv_alignof_int" >>confdefs.h
# Put the value determined from AC CHECK_ALIGNOF into an
# easy-to-access shell variable.
opal_align_value=$ac_cv_alignof_int
# This $opal_cv_c_align_* shell variable is used elsewhere in
# configure.ac
opal_cv_c_align_int=$opal_align_value
# This #define is used in C code.
printf "%s\n" "#define OPAL_ALIGNMENT_INT $opal_align_value" >>confdefs.h
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
opal_var_scope_pop opal_align_value
opal_var_scope_push ${LINENO} opal_align_value
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
# The cast to long int works around a bug in the HP C Compiler,
# see AC_CHECK_SIZEOF for more information.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking alignment of long" >&5
printf %s "checking alignment of long... " >&6; }
if test ${ac_cv_alignof_long+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) offsetof (ac__type_alignof_, y)" "ac_cv_alignof_long" "$ac_includes_default
#include
typedef struct { char x; long y; } ac__type_alignof_;"
then :
else $as_nop
if test "$ac_cv_type_long" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute alignment of long
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_alignof_long=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_alignof_long" >&5
printf "%s\n" "$ac_cv_alignof_long" >&6; }
printf "%s\n" "#define ALIGNOF_LONG $ac_cv_alignof_long" >>confdefs.h
# Put the value determined from AC CHECK_ALIGNOF into an
# easy-to-access shell variable.
opal_align_value=$ac_cv_alignof_long
# This $opal_cv_c_align_* shell variable is used elsewhere in
# configure.ac
opal_cv_c_align_long=$opal_align_value
# This #define is used in C code.
printf "%s\n" "#define OPAL_ALIGNMENT_LONG $opal_align_value" >>confdefs.h
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
opal_var_scope_pop opal_align_value
opal_var_scope_push ${LINENO} opal_align_value
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
# The cast to long int works around a bug in the HP C Compiler,
# see AC_CHECK_SIZEOF for more information.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking alignment of long long" >&5
printf %s "checking alignment of long long... " >&6; }
if test ${ac_cv_alignof_long_long+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) offsetof (ac__type_alignof_, y)" "ac_cv_alignof_long_long" "$ac_includes_default
#include
typedef struct { char x; long long y; } ac__type_alignof_;"
then :
else $as_nop
if test "$ac_cv_type_long_long" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute alignment of long long
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_alignof_long_long=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_alignof_long_long" >&5
printf "%s\n" "$ac_cv_alignof_long_long" >&6; }
printf "%s\n" "#define ALIGNOF_LONG_LONG $ac_cv_alignof_long_long" >>confdefs.h
# Put the value determined from AC CHECK_ALIGNOF into an
# easy-to-access shell variable.
opal_align_value=$ac_cv_alignof_long_long
# This $opal_cv_c_align_* shell variable is used elsewhere in
# configure.ac
opal_cv_c_align_long_long=$opal_align_value
# This #define is used in C code.
printf "%s\n" "#define OPAL_ALIGNMENT_LONG_LONG $opal_align_value" >>confdefs.h
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
opal_var_scope_pop opal_align_value
if test "$ac_cv_type_short_float" = yes; then
opal_var_scope_push ${LINENO} opal_align_value
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
# The cast to long int works around a bug in the HP C Compiler,
# see AC_CHECK_SIZEOF for more information.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking alignment of short float" >&5
printf %s "checking alignment of short float... " >&6; }
if test ${ac_cv_alignof_short_float+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) offsetof (ac__type_alignof_, y)" "ac_cv_alignof_short_float" "$ac_includes_default
#include
typedef struct { char x; short float y; } ac__type_alignof_;"
then :
else $as_nop
if test "$ac_cv_type_short_float" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute alignment of short float
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_alignof_short_float=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_alignof_short_float" >&5
printf "%s\n" "$ac_cv_alignof_short_float" >&6; }
printf "%s\n" "#define ALIGNOF_SHORT_FLOAT $ac_cv_alignof_short_float" >>confdefs.h
# Put the value determined from AC CHECK_ALIGNOF into an
# easy-to-access shell variable.
opal_align_value=$ac_cv_alignof_short_float
# This $opal_cv_c_align_* shell variable is used elsewhere in
# configure.ac
opal_cv_c_align_short_float=$opal_align_value
# This #define is used in C code.
printf "%s\n" "#define OPAL_ALIGNMENT_SHORT_FLOAT $opal_align_value" >>confdefs.h
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
opal_var_scope_pop opal_align_value
fi
opal_var_scope_push ${LINENO} opal_align_value
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
# The cast to long int works around a bug in the HP C Compiler,
# see AC_CHECK_SIZEOF for more information.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking alignment of float" >&5
printf %s "checking alignment of float... " >&6; }
if test ${ac_cv_alignof_float+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) offsetof (ac__type_alignof_, y)" "ac_cv_alignof_float" "$ac_includes_default
#include
typedef struct { char x; float y; } ac__type_alignof_;"
then :
else $as_nop
if test "$ac_cv_type_float" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute alignment of float
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_alignof_float=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_alignof_float" >&5
printf "%s\n" "$ac_cv_alignof_float" >&6; }
printf "%s\n" "#define ALIGNOF_FLOAT $ac_cv_alignof_float" >>confdefs.h
# Put the value determined from AC CHECK_ALIGNOF into an
# easy-to-access shell variable.
opal_align_value=$ac_cv_alignof_float
# This $opal_cv_c_align_* shell variable is used elsewhere in
# configure.ac
opal_cv_c_align_float=$opal_align_value
# This #define is used in C code.
printf "%s\n" "#define OPAL_ALIGNMENT_FLOAT $opal_align_value" >>confdefs.h
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
opal_var_scope_pop opal_align_value
opal_var_scope_push ${LINENO} opal_align_value
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
# The cast to long int works around a bug in the HP C Compiler,
# see AC_CHECK_SIZEOF for more information.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking alignment of double" >&5
printf %s "checking alignment of double... " >&6; }
if test ${ac_cv_alignof_double+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) offsetof (ac__type_alignof_, y)" "ac_cv_alignof_double" "$ac_includes_default
#include
typedef struct { char x; double y; } ac__type_alignof_;"
then :
else $as_nop
if test "$ac_cv_type_double" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute alignment of double
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_alignof_double=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_alignof_double" >&5
printf "%s\n" "$ac_cv_alignof_double" >&6; }
printf "%s\n" "#define ALIGNOF_DOUBLE $ac_cv_alignof_double" >>confdefs.h
# Put the value determined from AC CHECK_ALIGNOF into an
# easy-to-access shell variable.
opal_align_value=$ac_cv_alignof_double
# This $opal_cv_c_align_* shell variable is used elsewhere in
# configure.ac
opal_cv_c_align_double=$opal_align_value
# This #define is used in C code.
printf "%s\n" "#define OPAL_ALIGNMENT_DOUBLE $opal_align_value" >>confdefs.h
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
opal_var_scope_pop opal_align_value
opal_var_scope_push ${LINENO} opal_align_value
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
# The cast to long int works around a bug in the HP C Compiler,
# see AC_CHECK_SIZEOF for more information.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking alignment of long double" >&5
printf %s "checking alignment of long double... " >&6; }
if test ${ac_cv_alignof_long_double+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) offsetof (ac__type_alignof_, y)" "ac_cv_alignof_long_double" "$ac_includes_default
#include
typedef struct { char x; long double y; } ac__type_alignof_;"
then :
else $as_nop
if test "$ac_cv_type_long_double" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute alignment of long double
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_alignof_long_double=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_alignof_long_double" >&5
printf "%s\n" "$ac_cv_alignof_long_double" >&6; }
printf "%s\n" "#define ALIGNOF_LONG_DOUBLE $ac_cv_alignof_long_double" >>confdefs.h
# Put the value determined from AC CHECK_ALIGNOF into an
# easy-to-access shell variable.
opal_align_value=$ac_cv_alignof_long_double
# This $opal_cv_c_align_* shell variable is used elsewhere in
# configure.ac
opal_cv_c_align_long_double=$opal_align_value
# This #define is used in C code.
printf "%s\n" "#define OPAL_ALIGNMENT_LONG_DOUBLE $opal_align_value" >>confdefs.h
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
opal_var_scope_pop opal_align_value
if test "$ac_cv_type___float128" = yes; then
opal_var_scope_push ${LINENO} opal_align_value
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
# The cast to long int works around a bug in the HP C Compiler,
# see AC_CHECK_SIZEOF for more information.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking alignment of __float128" >&5
printf %s "checking alignment of __float128... " >&6; }
if test ${ac_cv_alignof___float128+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) offsetof (ac__type_alignof_, y)" "ac_cv_alignof___float128" "$ac_includes_default
#include
typedef struct { char x; __float128 y; } ac__type_alignof_;"
then :
else $as_nop
if test "$ac_cv_type___float128" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute alignment of __float128
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_alignof___float128=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_alignof___float128" >&5
printf "%s\n" "$ac_cv_alignof___float128" >&6; }
printf "%s\n" "#define ALIGNOF___FLOAT128 $ac_cv_alignof___float128" >>confdefs.h
# Put the value determined from AC CHECK_ALIGNOF into an
# easy-to-access shell variable.
opal_align_value=$ac_cv_alignof___float128
# This $opal_cv_c_align_* shell variable is used elsewhere in
# configure.ac
opal_cv_c_align___float128=$opal_align_value
# This #define is used in C code.
printf "%s\n" "#define OPAL_ALIGNMENT___FLOAT128 $opal_align_value" >>confdefs.h
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
opal_var_scope_pop opal_align_value
fi
# We only need these types if we're building the OMPI project, but
# OPAL currently doesn't protect for their lack of presence well.
if test "$ac_cv_type_short_float__Complex" = yes; then
opal_var_scope_push ${LINENO} opal_align_value
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
# The cast to long int works around a bug in the HP C Compiler,
# see AC_CHECK_SIZEOF for more information.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking alignment of short float _Complex" >&5
printf %s "checking alignment of short float _Complex... " >&6; }
if test ${ac_cv_alignof_short_float__Complex+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) offsetof (ac__type_alignof_, y)" "ac_cv_alignof_short_float__Complex" "$ac_includes_default
#include
typedef struct { char x; short float _Complex y; } ac__type_alignof_;"
then :
else $as_nop
if test "$ac_cv_type_short_float__Complex" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute alignment of short float _Complex
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_alignof_short_float__Complex=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_alignof_short_float__Complex" >&5
printf "%s\n" "$ac_cv_alignof_short_float__Complex" >&6; }
printf "%s\n" "#define ALIGNOF_SHORT_FLOAT__COMPLEX $ac_cv_alignof_short_float__Complex" >>confdefs.h
# Put the value determined from AC CHECK_ALIGNOF into an
# easy-to-access shell variable.
opal_align_value=$ac_cv_alignof_short_float__Complex
# This $opal_cv_c_align_* shell variable is used elsewhere in
# configure.ac
opal_cv_c_align_short_float__Complex=$opal_align_value
# This #define is used in C code.
printf "%s\n" "#define OPAL_ALIGNMENT_SHORT_FLOAT_COMPLEX $opal_align_value" >>confdefs.h
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
opal_var_scope_pop opal_align_value
fi
opal_var_scope_push ${LINENO} opal_align_value
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
# The cast to long int works around a bug in the HP C Compiler,
# see AC_CHECK_SIZEOF for more information.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking alignment of float _Complex" >&5
printf %s "checking alignment of float _Complex... " >&6; }
if test ${ac_cv_alignof_float__Complex+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) offsetof (ac__type_alignof_, y)" "ac_cv_alignof_float__Complex" "$ac_includes_default
#include
typedef struct { char x; float _Complex y; } ac__type_alignof_;"
then :
else $as_nop
if test "$ac_cv_type_float__Complex" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute alignment of float _Complex
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_alignof_float__Complex=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_alignof_float__Complex" >&5
printf "%s\n" "$ac_cv_alignof_float__Complex" >&6; }
printf "%s\n" "#define ALIGNOF_FLOAT__COMPLEX $ac_cv_alignof_float__Complex" >>confdefs.h
# Put the value determined from AC CHECK_ALIGNOF into an
# easy-to-access shell variable.
opal_align_value=$ac_cv_alignof_float__Complex
# This $opal_cv_c_align_* shell variable is used elsewhere in
# configure.ac
opal_cv_c_align_float__Complex=$opal_align_value
# This #define is used in C code.
printf "%s\n" "#define OPAL_ALIGNMENT_FLOAT_COMPLEX $opal_align_value" >>confdefs.h
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
opal_var_scope_pop opal_align_value
opal_var_scope_push ${LINENO} opal_align_value
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
# The cast to long int works around a bug in the HP C Compiler,
# see AC_CHECK_SIZEOF for more information.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking alignment of double _Complex" >&5
printf %s "checking alignment of double _Complex... " >&6; }
if test ${ac_cv_alignof_double__Complex+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) offsetof (ac__type_alignof_, y)" "ac_cv_alignof_double__Complex" "$ac_includes_default
#include
typedef struct { char x; double _Complex y; } ac__type_alignof_;"
then :
else $as_nop
if test "$ac_cv_type_double__Complex" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute alignment of double _Complex
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_alignof_double__Complex=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_alignof_double__Complex" >&5
printf "%s\n" "$ac_cv_alignof_double__Complex" >&6; }
printf "%s\n" "#define ALIGNOF_DOUBLE__COMPLEX $ac_cv_alignof_double__Complex" >>confdefs.h
# Put the value determined from AC CHECK_ALIGNOF into an
# easy-to-access shell variable.
opal_align_value=$ac_cv_alignof_double__Complex
# This $opal_cv_c_align_* shell variable is used elsewhere in
# configure.ac
opal_cv_c_align_double__Complex=$opal_align_value
# This #define is used in C code.
printf "%s\n" "#define OPAL_ALIGNMENT_DOUBLE_COMPLEX $opal_align_value" >>confdefs.h
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
opal_var_scope_pop opal_align_value
opal_var_scope_push ${LINENO} opal_align_value
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
# The cast to long int works around a bug in the HP C Compiler,
# see AC_CHECK_SIZEOF for more information.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking alignment of long double _Complex" >&5
printf %s "checking alignment of long double _Complex... " >&6; }
if test ${ac_cv_alignof_long_double__Complex+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) offsetof (ac__type_alignof_, y)" "ac_cv_alignof_long_double__Complex" "$ac_includes_default
#include
typedef struct { char x; long double _Complex y; } ac__type_alignof_;"
then :
else $as_nop
if test "$ac_cv_type_long_double__Complex" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute alignment of long double _Complex
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_alignof_long_double__Complex=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_alignof_long_double__Complex" >&5
printf "%s\n" "$ac_cv_alignof_long_double__Complex" >&6; }
printf "%s\n" "#define ALIGNOF_LONG_DOUBLE__COMPLEX $ac_cv_alignof_long_double__Complex" >>confdefs.h
# Put the value determined from AC CHECK_ALIGNOF into an
# easy-to-access shell variable.
opal_align_value=$ac_cv_alignof_long_double__Complex
# This $opal_cv_c_align_* shell variable is used elsewhere in
# configure.ac
opal_cv_c_align_long_double__Complex=$opal_align_value
# This #define is used in C code.
printf "%s\n" "#define OPAL_ALIGNMENT_LONG_DOUBLE_COMPLEX $opal_align_value" >>confdefs.h
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
opal_var_scope_pop opal_align_value
opal_var_scope_push ${LINENO} opal_align_value
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
# The cast to long int works around a bug in the HP C Compiler,
# see AC_CHECK_SIZEOF for more information.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking alignment of void *" >&5
printf %s "checking alignment of void *... " >&6; }
if test ${ac_cv_alignof_void_p+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) offsetof (ac__type_alignof_, y)" "ac_cv_alignof_void_p" "$ac_includes_default
#include
typedef struct { char x; void * y; } ac__type_alignof_;"
then :
else $as_nop
if test "$ac_cv_type_void_p" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute alignment of void *
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_alignof_void_p=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_alignof_void_p" >&5
printf "%s\n" "$ac_cv_alignof_void_p" >&6; }
printf "%s\n" "#define ALIGNOF_VOID_P $ac_cv_alignof_void_p" >>confdefs.h
# Put the value determined from AC CHECK_ALIGNOF into an
# easy-to-access shell variable.
opal_align_value=$ac_cv_alignof_void_p
# This $opal_cv_c_align_* shell variable is used elsewhere in
# configure.ac
opal_cv_c_align_void_p=$opal_align_value
# This #define is used in C code.
printf "%s\n" "#define OPAL_ALIGNMENT_VOID_P $opal_align_value" >>confdefs.h
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
opal_var_scope_pop opal_align_value
opal_var_scope_push ${LINENO} opal_align_value
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
# The cast to long int works around a bug in the HP C Compiler,
# see AC_CHECK_SIZEOF for more information.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking alignment of size_t" >&5
printf %s "checking alignment of size_t... " >&6; }
if test ${ac_cv_alignof_size_t+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) offsetof (ac__type_alignof_, y)" "ac_cv_alignof_size_t" "$ac_includes_default
#include
typedef struct { char x; size_t y; } ac__type_alignof_;"
then :
else $as_nop
if test "$ac_cv_type_size_t" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute alignment of size_t
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_alignof_size_t=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_alignof_size_t" >&5
printf "%s\n" "$ac_cv_alignof_size_t" >&6; }
printf "%s\n" "#define ALIGNOF_SIZE_T $ac_cv_alignof_size_t" >>confdefs.h
# Put the value determined from AC CHECK_ALIGNOF into an
# easy-to-access shell variable.
opal_align_value=$ac_cv_alignof_size_t
# This $opal_cv_c_align_* shell variable is used elsewhere in
# configure.ac
opal_cv_c_align_size_t=$opal_align_value
# This #define is used in C code.
printf "%s\n" "#define OPAL_ALIGNMENT_SIZE_T $opal_align_value" >>confdefs.h
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
opal_var_scope_pop opal_align_value
#
# Check for an alternate type of C 'short float'
#
ac_fn_c_check_type "$LINENO" "_Float16" "ac_cv_type__Float16" "$ac_includes_default"
if test "x$ac_cv_type__Float16" = xyes
then :
printf "%s\n" "#define HAVE__FLOAT16 1" >>confdefs.h
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want alternate C type of short float" >&5
printf %s "checking if want alternate C type of short float... " >&6; }
# Check whether --enable-alt-short-float was given.
if test ${enable_alt_short_float+y}
then :
enableval=$enable_alt_short_float;
fi
if test "$enable_alt_short_float" = "yes"; then
as_fn_error $? "--enable-alt-short-float must have an argument." "$LINENO" 5
elif test "$enable_alt_short_float" = "no"; then
:
elif test "$enable_alt_short_float" != ""; then
opal_short_float_type="$enable_alt_short_float"
opal_short_float_complex_type="$enable_alt_short_float [2]"
elif test "$ac_cv_type_short_float" = "yes" && \
test "$ac_cv_type_short_float__Complex" = "yes"; then
opal_short_float_type="short float"
opal_short_float_complex_type="short float _Complex"
elif test "$ac_cv_type__Float16" = "yes"; then
opal_short_float_type="_Float16"
opal_short_float_complex_type="_Float16 [2]"
fi
if test "$opal_short_float_type" != ""; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes ($opal_short_float_type)" >&5
printf "%s\n" "yes ($opal_short_float_type)" >&6; }
as_ac_Type=`printf "%s\n" "ac_cv_type_$opal_short_float_type" | $as_tr_sh`
ac_fn_c_check_type "$LINENO" "$opal_short_float_type" "$as_ac_Type" "$ac_includes_default"
if eval test \"x\$"$as_ac_Type"\" = x"yes"
then :
cat >>confdefs.h <<_ACEOF
#define `printf "%s\n" "HAVE_$opal_short_float_type" | $as_tr_cpp` 1
_ACEOF
opal_alt_short_float_exists=1
else $as_nop
opal_alt_short_float_exists=0
fi
# Even if the alternate short float type exists, make sure
# that the compiler can actually compile/link when
# mathematical operations are performed on variables of that
# type. Case in point: clang 6.0.x and 7.0.x need an
# additional CLI flag added (--rtlib=compiler-rt) to enable
# software emulation of _Float16. Open MPI will *not*
# automagically add that flag -- we'll just emit a warning and
# point the user to a README where more information is
# available.
if test $opal_alt_short_float_exists -eq 1
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if compiler supports arithmetic operations on $opal_short_float_type" >&5
printf %s "checking if compiler supports arithmetic operations on $opal_short_float_type... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
static $opal_short_float_type a = 2.5, b = 3.8;
a += b;
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
opal_enable_short_float=1
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
if test `basename $CC` = "clang"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: if you are using the Clang 6.0.x or 7.0.x compilers and want" >&5
printf "%s\n" "$as_me: WARNING: if you are using the Clang 6.0.x or 7.0.x compilers and want" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: to enable software emulation of half-precision floating point" >&5
printf "%s\n" "$as_me: WARNING: to enable software emulation of half-precision floating point" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: in conjunction with the \"shortfloat\" Open MPI extension," >&5
printf "%s\n" "$as_me: WARNING: in conjunction with the \"shortfloat\" Open MPI extension," >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: see the ompi/mpiext/shortfloat/README.txt file for details." >&5
printf "%s\n" "$as_me: WARNING: see the ompi/mpiext/shortfloat/README.txt file for details." >&2;}
fi
opal_enable_short_float=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
fi
if test "$opal_enable_short_float" = 1; then
printf "%s\n" "#define opal_short_float_t $opal_short_float_type" >>confdefs.h
printf "%s\n" "#define opal_short_float_complex_t $opal_short_float_complex_type" >>confdefs.h
ac_fn_c_check_type "$LINENO" "opal_short_float_t" "ac_cv_type_opal_short_float_t" "$ac_includes_default"
if test "x$ac_cv_type_opal_short_float_t" = xyes
then :
printf "%s\n" "#define HAVE_OPAL_SHORT_FLOAT_T 1" >>confdefs.h
fi
ac_fn_c_check_type "$LINENO" "opal_short_float_complex_t" "ac_cv_type_opal_short_float_complex_t" "$ac_includes_default"
if test "x$ac_cv_type_opal_short_float_complex_t" = xyes
then :
printf "%s\n" "#define HAVE_OPAL_SHORT_FLOAT_COMPLEX_T 1" >>confdefs.h
fi
# The cast to long int works around a bug in the HP C Compiler
# 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.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of opal_short_float_t" >&5
printf %s "checking size of opal_short_float_t... " >&6; }
if test ${ac_cv_sizeof_opal_short_float_t+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (opal_short_float_t))" "ac_cv_sizeof_opal_short_float_t" "$ac_includes_default"
then :
else $as_nop
if test "$ac_cv_type_opal_short_float_t" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (opal_short_float_t)
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_opal_short_float_t=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_opal_short_float_t" >&5
printf "%s\n" "$ac_cv_sizeof_opal_short_float_t" >&6; }
printf "%s\n" "#define SIZEOF_OPAL_SHORT_FLOAT_T $ac_cv_sizeof_opal_short_float_t" >>confdefs.h
# The cast to long int works around a bug in the HP C Compiler
# 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.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of opal_short_float_complex_t" >&5
printf %s "checking size of opal_short_float_complex_t... " >&6; }
if test ${ac_cv_sizeof_opal_short_float_complex_t+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (opal_short_float_complex_t))" "ac_cv_sizeof_opal_short_float_complex_t" "$ac_includes_default"
then :
else $as_nop
if test "$ac_cv_type_opal_short_float_complex_t" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute sizeof (opal_short_float_complex_t)
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_opal_short_float_complex_t=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_opal_short_float_complex_t" >&5
printf "%s\n" "$ac_cv_sizeof_opal_short_float_complex_t" >&6; }
printf "%s\n" "#define SIZEOF_OPAL_SHORT_FLOAT_COMPLEX_T $ac_cv_sizeof_opal_short_float_complex_t" >>confdefs.h
opal_var_scope_push ${LINENO} opal_align_value
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
# The cast to long int works around a bug in the HP C Compiler,
# see AC_CHECK_SIZEOF for more information.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking alignment of opal_short_float_t" >&5
printf %s "checking alignment of opal_short_float_t... " >&6; }
if test ${ac_cv_alignof_opal_short_float_t+y}
then :
printf %s "(cached) " >&6
else $as_nop
if ac_fn_c_compute_int "$LINENO" "(long int) offsetof (ac__type_alignof_, y)" "ac_cv_alignof_opal_short_float_t" "$ac_includes_default
#include
typedef struct { char x; opal_short_float_t y; } ac__type_alignof_;"
then :
else $as_nop
if test "$ac_cv_type_opal_short_float_t" = yes; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot compute alignment of opal_short_float_t
See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_alignof_opal_short_float_t=0
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_alignof_opal_short_float_t" >&5
printf "%s\n" "$ac_cv_alignof_opal_short_float_t" >&6; }
printf "%s\n" "#define ALIGNOF_OPAL_SHORT_FLOAT_T $ac_cv_alignof_opal_short_float_t" >>confdefs.h
# Put the value determined from AC CHECK_ALIGNOF into an
# easy-to-access shell variable.
opal_align_value=$ac_cv_alignof_opal_short_float_t
# This $opal_cv_c_align_* shell variable is used elsewhere in
# configure.ac
opal_cv_c_align_opal_short_float_t=$opal_align_value
# This #define is used in C code.
printf "%s\n" "#define OPAL_ALIGNMENT_OPAL_SHORT_FLOAT_T $opal_align_value" >>confdefs.h
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
opal_var_scope_pop opal_align_value
# Some versions of GCC (around 9.1.0?) emit a warning for _Float16
# when compiling with -pedantic. Using __extension__ can suppress
# the warning. The warning can be detected by -Werror in configure.
# See https://github.com/open-mpi/ompi/issues/8840
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $opal_short_float_type needs __extension__ keyword" >&5
printf %s "checking if $opal_short_float_type needs __extension__ keyword... " >&6; }
opal_alt_short_float_needs_extension=0
opal_var_scope_push ${LINENO} CFLAGS_save
CFLAGS_save=$CFLAGS
CFLAGS="-Werror $CFLAGS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$opal_short_float_type a;
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
__extension__ $opal_short_float_type a;
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_alt_short_float_needs_extension=1
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
CFLAGS=$CFLAGS_save
opal_var_scope_pop CFLAGS_save
printf "%s\n" "#define OPAL_SHORT_FLOAT_TYPE $opal_short_float_type" >>confdefs.h
printf "%s\n" "#define OPAL_SHORT_FLOAT_NEEDS_EXTENSION $opal_alt_short_float_needs_extension" >>confdefs.h
elif test "$enable_alt_short_float" != ""; then
as_fn_error $? "Alternate C type of short float $opal_short_float_type requested but not available. Aborting" "$LINENO" 5
fi
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
# Check system alignment requirements
if test "$opal_want_heterogeneous" = 1; then
ompi_cv_c_word_size_align=yes
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if word-sized integers must be word-size aligned" >&5
printf %s "checking if word-sized integers must be word-size aligned... " >&6; }
if test ${ompi_cv_c_word_size_align+y}
then :
printf %s "(cached) " >&6
else $as_nop
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 "$cross_compiling" = yes
then :
ompi_cv_c_word_size_align=yes
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
int
main (void)
{
long data[2] = {0, 0};
long *lp;
int *ip;
ip = (int*) data;
ip++;
lp = (long*) ip;
return lp[0];
;
return 0;
}
_ACEOF
if ac_fn_c_try_run "$LINENO"
then :
ompi_cv_c_word_size_align=no
else $as_nop
ompi_cv_c_word_size_align=yes
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_c_word_size_align" >&5
printf "%s\n" "$ompi_cv_c_word_size_align" >&6; }
fi
if test $ompi_cv_c_word_size_align = yes
then :
results=1
else $as_nop
results=0
fi
printf "%s\n" "#define OPAL_ALIGN_WORD_SIZE_INTEGERS $results" >>confdefs.h
#
# Check for other compiler characteristics
#
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for weak symbol support" >&5
printf %s "checking for weak symbol support... " >&6; }
if test ${opal_cv_c_weak_symbols+y}
then :
printf %s "(cached) " >&6
else $as_nop
# need two files because icc will incorrectly not create the
# symbols if they are not used in the object file in which they
# are defined. Blah!
# To get to compile with icc, have them in a separate header.
cat > conftest_weak.h < conftest_weak.c < conftest.c <&5
$CC $CFLAGS -c conftest_weak.c 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:19153: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
printf "%s\n" "configure:19157: $CC $CFLAGS conftest.c conftest_weak.o -o conftest $LDFLAGS $LIBS" >&5
$CC $CFLAGS conftest.c conftest_weak.o -o conftest $LDFLAGS $LIBS 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:19160: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
opal_c_weak_symbols_happy=1
else $as_nop
opal_c_weak_symbols_happy=0
fi
{ oac_log_command_status=; unset oac_log_command_status;}
else $as_nop
opal_c_weak_symbols_happy=0
fi
{ oac_log_command_status=; unset oac_log_command_status;}
if test "$opal_c_weak_symbols_happy" = "1"
then :
opal_cv_c_weak_symbols="yes"
else $as_nop
opal_cv_c_weak_symbols="no"
fi
unset opal_c_weak_symbols_happy
rm -f conftest_weak.h conftest_weak.c conftest.c conftest
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cv_c_weak_symbols" >&5
printf "%s\n" "$opal_cv_c_weak_symbols" >&6; }
if test "$opal_cv_c_weak_symbols" = "yes"
then :
OPAL_C_HAVE_WEAK_SYMBOLS=1
else $as_nop
OPAL_C_HAVE_WEAK_SYMBOLS=0
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for macro weak symbol support" >&5
printf %s "checking for macro weak symbol support... " >&6; }
if test ${opal_cv_c_macro_weak_symbols+y}
then :
printf %s "(cached) " >&6
else $as_nop
# need two files because icc will incorrectly not create the
# symbols if they are not used in the object file in which they
# are defined. Blah!
# To get to compile with icc, have them in a separate header.
cat > conftest_weak.h < conftest_weak.c < conftest.c <&5
$CC $CFLAGS -c conftest_weak.c 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:19233: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
printf "%s\n" "configure:19237: $CC $CFLAGS conftest.c conftest_weak.o -o conftest $LDFLAGS $LIBS" >&5
$CC $CFLAGS conftest.c conftest_weak.o -o conftest $LDFLAGS $LIBS 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:19240: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
opal_c_macro_weak_symbols_happy=1
else $as_nop
opal_c_macro_weak_symbols_happy=0
fi
{ oac_log_command_status=; unset oac_log_command_status;}
else $as_nop
opal_c_macro_weak_symbols_happy=0
fi
{ oac_log_command_status=; unset oac_log_command_status;}
if test "$opal_c_macro_weak_symbols_happy" = "1"
then :
opal_cv_c_macro_weak_symbols="yes"
else $as_nop
opal_cv_c_macro_weak_symbols="no"
fi
unset opal_c_macro_weak_symbols_happy
rm -f conftest_weak.h conftest_weak.c conftest.c conftest
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cv_c_macro_weak_symbols" >&5
printf "%s\n" "$opal_cv_c_macro_weak_symbols" >&6; }
if test "$opal_cv_c_macro_weak_symbols" = "yes"
then :
OPAL_C_HAVE_MACRO_WEAK_SYMBOLS=1
else $as_nop
OPAL_C_HAVE_MACRO_WEAK_SYMBOLS=0
fi
# If we want the profiling layer:
# - If the C compiler has weak symbols, use those.
# - If not, then set to compile the code again with #define's in a
# separate directory.
if test "$WANT_WEAK_SYMBOLS" = "0"; then
OPAL_C_HAVE_WEAK_SYMBOLS=0
fi
if test "$OPAL_C_HAVE_WEAK_SYMBOLS" = "1"; then
OMPI_PROFILING_COMPILE_SEPARATELY=0
else
OMPI_PROFILING_COMPILE_SEPARATELY=1
fi
# Check if we support the offsetof compiler directive
opal_var_scope_push ${LINENO} have_offsetof_msg
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for functional offsetof macro" >&5
printf %s "checking for functional offsetof macro... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
int
main (void)
{
struct foo {int a, b;}; size_t offset = offsetof(struct foo, b);
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
have_offsetof_msg="yes"
else $as_nop
have_offsetof_msg="no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
if test "$have_offsetof_msg" = "no"; then
CPPFLAGS="$CPPFLAGS -DNO_PGI_OFFSET"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
int
main (void)
{
struct foo {int a, b;}; size_t offset = offsetof(struct foo, b);
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
have_offsetof_msg="yes"
else $as_nop
have_offsetof_msg="no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
if test "$have_offsetof_msg" = "no"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $have_offsetof_msg" >&5
printf "%s\n" "$have_offsetof_msg" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Your compiler does not support offsetof macro" >&5
printf "%s\n" "$as_me: WARNING: Your compiler does not support offsetof macro" >&2;}
as_fn_error $? "Configure: Cannot continue" "$LINENO" 5
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $have_offsetof_msg" >&5
printf "%s\n" "$have_offsetof_msg" >&6; }
opal_var_scope_pop have_offsetof_msg
##################################
# C++ compiler characteristics
##################################
# We don't need C++ unless we're building Open MPI, because Open MPI
# supports an "mpicxx" wrapper compiler (there is no C++ code in Open
# MPI -- the MPI C++ bindings were removed in Open MPI v5.0 -- so we
# don't need a C++ compiler for compiling Open MPI itself).
opal_show_subtitle "C++ compiler and preprocessor"
opal_var_scope_push ${LINENO} ompi_cxxflags_save ompi_cxx_argv0
ompi_cxxflags_save="$CXXFLAGS"
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
if test -z "$CXX"; then
if test -n "$CCC"; then
CXX=$CCC
else
if test -n "$ac_tool_prefix"; then
for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++
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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CXX+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$CXX"; then
ac_cv_prog_CXX="$CXX" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
CXX=$ac_cv_prog_CXX
if test -n "$CXX"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
printf "%s\n" "$CXX" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
test -n "$CXX" && break
done
fi
if test -z "$CXX"; then
ac_ct_CXX=$CXX
for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_CXX+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$ac_ct_CXX"; then
ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CXX="$ac_prog"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
if test -n "$ac_ct_CXX"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
printf "%s\n" "$ac_ct_CXX" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
test -n "$ac_ct_CXX" && break
done
if test "x$ac_ct_CXX" = x; then
CXX="g++"
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CXX=$ac_ct_CXX
fi
fi
fi
fi
# Provide some information about the compiler.
printf "%s\n" "$as_me:${as_lineno-$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"
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\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_compiler $ac_option >&5") 2>conftest.err
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
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
done
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5
printf %s "checking whether the compiler supports GNU C++... " >&6; }
if test ${ac_cv_cxx_compiler_gnu+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
#ifndef __GNUC__
choke me
#endif
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"
then :
ac_compiler_gnu=yes
else $as_nop
ac_compiler_gnu=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5
printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; }
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
if test $ac_compiler_gnu = yes; then
GXX=yes
else
GXX=
fi
ac_test_CXXFLAGS=${CXXFLAGS+y}
ac_save_CXXFLAGS=$CXXFLAGS
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
printf %s "checking whether $CXX accepts -g... " >&6; }
if test ${ac_cv_prog_cxx_g+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_save_cxx_werror_flag=$ac_cxx_werror_flag
ac_cxx_werror_flag=yes
ac_cv_prog_cxx_g=no
CXXFLAGS="-g"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"
then :
ac_cv_prog_cxx_g=yes
else $as_nop
CXXFLAGS=""
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"
then :
else $as_nop
ac_cxx_werror_flag=$ac_save_cxx_werror_flag
CXXFLAGS="-g"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"
then :
ac_cv_prog_cxx_g=yes
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_cxx_werror_flag=$ac_save_cxx_werror_flag
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5
printf "%s\n" "$ac_cv_prog_cxx_g" >&6; }
if test $ac_test_CXXFLAGS; then
CXXFLAGS=$ac_save_CXXFLAGS
elif test $ac_cv_prog_cxx_g = yes; then
if test "$GXX" = yes; then
CXXFLAGS="-g -O2"
else
CXXFLAGS="-g"
fi
else
if test "$GXX" = yes; then
CXXFLAGS="-O2"
else
CXXFLAGS=
fi
fi
ac_prog_cxx_stdcxx=no
if test x$ac_prog_cxx_stdcxx = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5
printf %s "checking for $CXX option to enable C++11 features... " >&6; }
if test ${ac_cv_prog_cxx_11+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_cv_prog_cxx_11=no
ac_save_CXX=$CXX
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_cxx_conftest_cxx11_program
_ACEOF
for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA
do
CXX="$ac_save_CXX $ac_arg"
if ac_fn_cxx_try_compile "$LINENO"
then :
ac_cv_prog_cxx_cxx11=$ac_arg
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam
test "x$ac_cv_prog_cxx_cxx11" != "xno" && break
done
rm -f conftest.$ac_ext
CXX=$ac_save_CXX
fi
if test "x$ac_cv_prog_cxx_cxx11" = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
printf "%s\n" "unsupported" >&6; }
else $as_nop
if test "x$ac_cv_prog_cxx_cxx11" = x
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
printf "%s\n" "none needed" >&6; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5
printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; }
CXX="$CXX $ac_cv_prog_cxx_cxx11"
fi
ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11
ac_prog_cxx_stdcxx=cxx11
fi
fi
if test x$ac_prog_cxx_stdcxx = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5
printf %s "checking for $CXX option to enable C++98 features... " >&6; }
if test ${ac_cv_prog_cxx_98+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_cv_prog_cxx_98=no
ac_save_CXX=$CXX
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_cxx_conftest_cxx98_program
_ACEOF
for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA
do
CXX="$ac_save_CXX $ac_arg"
if ac_fn_cxx_try_compile "$LINENO"
then :
ac_cv_prog_cxx_cxx98=$ac_arg
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam
test "x$ac_cv_prog_cxx_cxx98" != "xno" && break
done
rm -f conftest.$ac_ext
CXX=$ac_save_CXX
fi
if test "x$ac_cv_prog_cxx_cxx98" = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
printf "%s\n" "unsupported" >&6; }
else $as_nop
if test "x$ac_cv_prog_cxx_cxx98" = x
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
printf "%s\n" "none needed" >&6; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5
printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; }
CXX="$CXX $ac_cv_prog_cxx_cxx98"
fi
ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98
ac_prog_cxx_stdcxx=cxx98
fi
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
depcc="$CXX" am_compiler_list=
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
printf %s "checking dependency style of $depcc... " >&6; }
if test ${am_cv_CXX_dependencies_compiler_type+y}
then :
printf %s "(cached) " >&6
else $as_nop
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
mkdir conftest.dir
# Copy depcomp to subdir because otherwise we won't find it if we're
# using a relative directory.
cp "$am_depcomp" conftest.dir
cd conftest.dir
# We will build objects and dependencies in a subdirectory because
# it helps to detect inapplicable dependency modes. For instance
# both Tru64's cc and ICC support -MD to output dependencies as a
# side effect of compilation, but ICC will put the dependencies in
# the current directory while Tru64 will put them in the object
# directory.
mkdir sub
am_cv_CXX_dependencies_compiler_type=none
if test "$am_compiler_list" = ""; then
am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
fi
am__universal=false
case " $depcc " in #(
*\ -arch\ *\ -arch\ *) am__universal=true ;;
esac
for depmode in $am_compiler_list; do
# Setup a source with many dependencies, because some compilers
# like to wrap large dependency lists on column 80 (with \), and
# we should not choose a depcomp mode which is confused by this.
#
# We need to recreate these files for each test, as the compiler may
# overwrite some of them when testing with obscure command lines.
# This happens at least with the AIX C compiler.
: > 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
done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
# 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.
am__obj=sub/conftest.${OBJEXT-o}
am__minus_obj="-o $am__obj"
case $depmode in
gcc)
# This depmode causes a compiler race in universal mode.
test "$am__universal" = false || continue
;;
nosideeffect)
# 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
# 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}
am__minus_obj=
;;
none) break ;;
esac
if depmode=$depmode \
source=sub/conftest.c object=$am__obj \
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
$SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
>/dev/null 2>conftest.err &&
grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
# icc doesn't choke on unknown options, it will just issue warnings
# or remarks (even with -Werror). So we grep stderr for any message
# that says an option was ignored or not supported.
# When given -MP, icc 7.0 and 7.1 complain thusly:
# icc: Command line warning: ignoring option '-M'; no argument required
# The diagnosis changed in icc 8.0:
# icc: Command line remark: option '-MP' not supported
if (grep 'ignoring option' conftest.err ||
grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
am_cv_CXX_dependencies_compiler_type=$depmode
break
fi
fi
done
cd ..
rm -rf conftest.dir
else
am_cv_CXX_dependencies_compiler_type=none
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5
printf "%s\n" "$am_cv_CXX_dependencies_compiler_type" >&6; }
CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
if
test "x$enable_dependency_tracking" != xno \
&& test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
am__fastdepCXX_TRUE=
am__fastdepCXX_FALSE='#'
else
am__fastdepCXX_TRUE='#'
am__fastdepCXX_FALSE=
fi
CXXFLAGS="$ompi_cxxflags_save"
# Note: according to the Autoconf docs, if no C++ compiler is
# found, $CXX is still set to "g++" (!!). So make sure that we
# actually found a C++ compiler; if not, set CXX to "no", per
# thread at
# https://www.open-mpi.org/community/lists/users/2013/02/21356.php,
# which advises us to set Libtool precious variables to "no" if we
# don't want Libtool to setup that language at all.
set dummy $CXX
ompi_cxx_argv0=$2
# 1 is the variable name to do "which" on
# 2 is the variable name to assign the return value to
opal_var_scope_push ${LINENO} opal_prog opal_file opal_dir opal_sentinel
opal_prog=$ompi_cxx_argv0
# There are 3 cases:
# 1. opal_prog is an absolute filename. If that absolute filename
# exists and is executable, return OMPI_CXX_ABSOLUTE with that name. Otherwise,
# OMPI_CXX_ABSOLUTE is unchanged.
# 2. opal_prog is a relative filename (i.e., it contains one or
# more /, but does not begin with a /). If that file exists
# relative to where we are right now in the filesystem and is
# executable, return the absolute path of that value in OMPI_CXX_ABSOLUTE.
# Otherwise, OMPI_CXX_ABSOLUTE is unchanged.
# 3. opal_prog contains no /. Search the PATH for an executable
# with the appropriate name. If found, return the absolute path
# in OMPI_CXX_ABSOLUTE. Otherwise, OMPI_CXX_ABSOLUTE is unchanged.
# Note that these three cases are exactly what which(1) does.
# Note the double square brackets around the case expressions for
# m4 escaping.
case $opal_prog in
[\\/]* | ?:[\\/]* )
# Case 1: absolute
if test -x "$opal_prog"
then :
OMPI_CXX_ABSOLUTE=$opal_prog
fi
;;
*[\\/]*)
# Case 2: relative with 1 or more /
if test -x "$opal_prog"
then :
OMPI_CXX_ABSOLUTE="$cwd/$opal_prog"
fi
;;
*)
# Case 3: no / at all
IFS_SAVE=$IFS
IFS=$PATH_SEPARATOR
for opal_dir in $PATH; do
if test -x "$opal_dir/$opal_prog"
then :
OMPI_CXX_ABSOLUTE="$opal_dir/$opal_prog"
fi
done
IFS=$IFS_SAVE
;;
esac
opal_var_scope_pop opal_prog opal_file opal_dir opal_sentinel
if test "x$OMPI_CXX_ABSOLUTE" = "x"
then :
CXX=no
OMPI_CXX_ABSOLUTE=no
else $as_nop
# If we did actually find a C++ compiler, find the C++ CPP
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
printf %s "checking how to run the C++ preprocessor... " >&6; }
if test -z "$CXXCPP"; then
if test ${ac_cv_prog_CXXCPP+y}
then :
printf %s "(cached) " >&6
else $as_nop
# Double quotes because $CXX needs to be expanded
for CXXCPP in "$CXX -E" cpp /lib/cpp
do
ac_preproc_ok=false
for ac_cxx_preproc_warn_flag in '' yes
do
# Use a header file that comes with gcc, so configuring glibc
# with a fresh cross-compiler works.
# 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
/* end confdefs.h. */
#include
Syntax error
_ACEOF
if ac_fn_cxx_try_cpp "$LINENO"
then :
else $as_nop
# Broken: fails on valid input.
continue
fi
rm -f conftest.err conftest.i 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
/* end confdefs.h. */
#include
_ACEOF
if ac_fn_cxx_try_cpp "$LINENO"
then :
# Broken: success on invalid input.
continue
else $as_nop
# Passes both tests.
ac_preproc_ok=:
break
fi
rm -f conftest.err conftest.i 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 :
break
fi
done
ac_cv_prog_CXXCPP=$CXXCPP
fi
CXXCPP=$ac_cv_prog_CXXCPP
else
ac_cv_prog_CXXCPP=$CXXCPP
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5
printf "%s\n" "$CXXCPP" >&6; }
ac_preproc_ok=false
for ac_cxx_preproc_warn_flag in '' yes
do
# Use a header file that comes with gcc, so configuring glibc
# with a fresh cross-compiler works.
# 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
/* end confdefs.h. */
#include
Syntax error
_ACEOF
if ac_fn_cxx_try_cpp "$LINENO"
then :
else $as_nop
# Broken: fails on valid input.
continue
fi
rm -f conftest.err conftest.i 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
/* end confdefs.h. */
#include
_ACEOF
if ac_fn_cxx_try_cpp "$LINENO"
then :
# Broken: success on invalid input.
continue
else $as_nop
# Passes both tests.
ac_preproc_ok=:
break
fi
rm -f conftest.err conftest.i 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 :
else $as_nop
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check
See \`config.log' for more details" "$LINENO" 5; }
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
fi
printf "%s\n" "#define OMPI_CXX \"$CXX\"" >>confdefs.h
if test "$CXX" != "no"; then
OMPI_HAVE_CXX_COMPILER_TRUE=
OMPI_HAVE_CXX_COMPILER_FALSE='#'
else
OMPI_HAVE_CXX_COMPILER_TRUE='#'
OMPI_HAVE_CXX_COMPILER_FALSE=
fi
opal_var_scope_pop ompi_cxxflags_save ompi_cxx_argv0
# Do a little tomfoolery to get the subsection title printed first
# Must REQUIRE the PROG_CXX macro and not call it directly here
# for reasons well-described in the AC2.64 (and beyond) docs --
# see the docs for AC PROG_CC for details.
# If we have a C++ compiler, do some additional tests
if test "$CXX" != "no"
then :
# Make sure we can link with the C compiler
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if C and C++ are link compatible" >&5
printf %s "checking if C and C++ are link compatible... " >&6; }
if test ${ompi_cv_c_link_Cpp+y}
then :
printf %s "(cached) " >&6
else $as_nop
testfunc_name="testfunc"
# Write out C part
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
rm -f conftest_c.$ac_ext
cat > conftest_c.$ac_ext << EOF
int $testfunc_name(int a);
int $testfunc_name(int a) { return a; }
EOF
# Now compile both parts
printf "%s\n" "configure:20145: $CC -c $CFLAGS $CPPFLAGS conftest_c.$ac_ext" >&5
$CC -c $CFLAGS $CPPFLAGS conftest_c.$ac_ext 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:20148: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
ompi_lang_link_with_c_libs="$LIBS"
LIBS="conftest_c.o $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" int testfunc(int);
#else
extern int testfunc(int);
#endif
int
main (void)
{
return testfunc(0);
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_link "$LINENO"
then :
ompi_cv_c_link_Cpp="yes"
else $as_nop
ompi_cv_c_link_Cpp="no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
LIBS="$ompi_lang_link_with_c_libs"
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
else $as_nop
ompi_cv_c_link_Cpp="no"
fi
{ oac_log_command_status=; unset oac_log_command_status;}
rm -f conftest_c.$ac_ext
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
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_c_link_Cpp" >&5
printf "%s\n" "$ompi_cv_c_link_Cpp" >&6; }
if test "x$ompi_cv_c_link_Cpp" = xyes
then :
else $as_nop
cat <&2
**********************************************************************
* It appears that your C++ compiler is unable to link against object
* files created by your C compiler. This generally indicates either
* a conflict between the options specified in CFLAGS and CXXFLAGS
* or a problem with the local compiler installation. More
* information (including exactly what command was given to the
* compilers and what error resulted when the commands were executed) is
* available in the config.log file in this directory.
**********************************************************************
EOF
as_fn_error $? "C and C++ compilers are not link compatible. Can not continue." "$LINENO" 5
fi
fi
##################################
# Only after setting up both
# C and C++ check compiler attributes.
##################################
opal_show_subtitle "Compiler characteristics"
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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__" >&5
printf %s "checking for __attribute__... " >&6; }
if test ${opal_cv___attribute__+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
/* Check for the longest available __attribute__ (since gcc-2.3) */
struct foo {
char a;
int x2 __attribute__ ((__packed__));
};
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv___attribute__=1
else $as_nop
opal_cv___attribute__=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
if test "$opal_cv___attribute__" = "1" ; then
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
/* Check for the longest available __attribute__ (since gcc-2.3) */
struct foo {
char a;
int x2 __attribute__ ((__packed__));
};
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv___attribute__=1
else $as_nop
opal_cv___attribute__=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
fi
printf "%s\n" "#define OPAL_HAVE_ATTRIBUTE $opal_cv___attribute__" >>confdefs.h
#
# Now that we know the compiler support __attribute__ let's check which kind of
# attributed are supported.
#
if test "$opal_cv___attribute__" = "0" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
opal_cv___attribute__aligned=0
opal_cv___attribute__always_inline=0
opal_cv___attribute__cold=0
opal_cv___attribute__const=0
opal_cv___attribute__deprecated=0
opal_cv___attribute__deprecated_argument=0
opal_cv___attribute__format=0
opal_cv___attribute__format_funcptr=0
opal_cv___attribute__hot=0
opal_cv___attribute__malloc=0
opal_cv___attribute__may_alias=0
opal_cv___attribute__no_instrument_function=0
opal_cv___attribute__noinline=0
opal_cv___attribute__nonnull=0
opal_cv___attribute__noreturn=0
opal_cv___attribute__noreturn_funcptr=0
opal_cv___attribute__packed=0
opal_cv___attribute__pure=0
opal_cv___attribute__sentinel=0
opal_cv___attribute__unused=0
opal_cv___attribute__visibility=0
opal_cv___attribute__warn_unused_result=0
opal_cv___attribute__weak_alias=0
opal_cv___attribute__destructor=0
opal_cv___attribute__optnone=0
opal_cv___attribute__error=0
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__(aligned)" >&5
printf %s "checking for __attribute__(aligned)... " >&6; }
if test ${opal_cv___attribute__aligned+y}
then :
printf %s "(cached) " >&6
else $as_nop
#
# Try to compile using the C compiler, then C++
#
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
struct foo { char text4; } __attribute__ ((__aligned__(8)));
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
#
# In case we did succeed: Fine, but was this due to the
# attribute being ignored/skipped? Grep for IgNoRe/skip in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__aligned=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__aligned=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__aligned=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
# Only test C++ if we're building Open MPI (i.e.,
# project_ompi). OPAL and ORTE do not use C++ at all, so
# let's not add a C++ compiler into their requirement list.
if test "$opal_cv___attribute__aligned" = "1" ; then
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
extern "C" {
struct foo { char text4; } __attribute__ ((__aligned__(8)));
}
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"
then :
opal_cv___attribute__aligned=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__aligned=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__aligned=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
fi
#
# If the attribute is supported by both compilers,
# try to recompile a *cross-check*, IFF defined.
#
if test "$opal_cv___attribute__aligned" = "1" && test "" != "" ; then
ac_c_werror_flag_safe=$ac_c_werror_flag
ac_c_werror_flag="yes"
CFLAGS_safe=$CFLAGS
CFLAGS="$CFLAGS "
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
int i=4711;
i=usage(&i);
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv___attribute__aligned=0
else $as_nop
#
# In case we did NOT succeed: Fine, but was this due to the
# attribute being ignored? Grep for IgNoRe in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__aligned=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__aligned=0
break;
fi
done
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_c_werror_flag=$ac_c_werror_flag_safe
CFLAGS=$CFLAGS_safe
fi
fi
if test "$opal_cv___attribute__aligned" = "1" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
#
# Ignored by PGI-6.2.5; -- recognized by output-parser
#
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__(always_inline)" >&5
printf %s "checking for __attribute__(always_inline)... " >&6; }
if test ${opal_cv___attribute__always_inline+y}
then :
printf %s "(cached) " >&6
else $as_nop
#
# Try to compile using the C compiler, then C++
#
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int foo (int arg) __attribute__ ((__always_inline__));
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
#
# In case we did succeed: Fine, but was this due to the
# attribute being ignored/skipped? Grep for IgNoRe/skip in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__always_inline=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__always_inline=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__always_inline=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
# Only test C++ if we're building Open MPI (i.e.,
# project_ompi). OPAL and ORTE do not use C++ at all, so
# let's not add a C++ compiler into their requirement list.
if test "$opal_cv___attribute__always_inline" = "1" ; then
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
extern "C" {
int foo (int arg) __attribute__ ((__always_inline__));
}
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"
then :
opal_cv___attribute__always_inline=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__always_inline=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__always_inline=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
fi
#
# If the attribute is supported by both compilers,
# try to recompile a *cross-check*, IFF defined.
#
if test "$opal_cv___attribute__always_inline" = "1" && test "" != "" ; then
ac_c_werror_flag_safe=$ac_c_werror_flag
ac_c_werror_flag="yes"
CFLAGS_safe=$CFLAGS
CFLAGS="$CFLAGS "
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
int i=4711;
i=usage(&i);
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv___attribute__always_inline=0
else $as_nop
#
# In case we did NOT succeed: Fine, but was this due to the
# attribute being ignored? Grep for IgNoRe in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__always_inline=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__always_inline=0
break;
fi
done
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_c_werror_flag=$ac_c_werror_flag_safe
CFLAGS=$CFLAGS_safe
fi
fi
if test "$opal_cv___attribute__always_inline" = "1" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__(cold)" >&5
printf %s "checking for __attribute__(cold)... " >&6; }
if test ${opal_cv___attribute__cold+y}
then :
printf %s "(cached) " >&6
else $as_nop
#
# Try to compile using the C compiler, then C++
#
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int foo(int arg1, int arg2) __attribute__ ((__cold__));
int foo(int arg1, int arg2) { return arg1 * arg2 + arg1; }
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
#
# In case we did succeed: Fine, but was this due to the
# attribute being ignored/skipped? Grep for IgNoRe/skip in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__cold=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__cold=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__cold=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
# Only test C++ if we're building Open MPI (i.e.,
# project_ompi). OPAL and ORTE do not use C++ at all, so
# let's not add a C++ compiler into their requirement list.
if test "$opal_cv___attribute__cold" = "1" ; then
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
extern "C" {
int foo(int arg1, int arg2) __attribute__ ((__cold__));
int foo(int arg1, int arg2) { return arg1 * arg2 + arg1; }
}
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"
then :
opal_cv___attribute__cold=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__cold=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__cold=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
fi
#
# If the attribute is supported by both compilers,
# try to recompile a *cross-check*, IFF defined.
#
if test "$opal_cv___attribute__cold" = "1" && test "" != "" ; then
ac_c_werror_flag_safe=$ac_c_werror_flag
ac_c_werror_flag="yes"
CFLAGS_safe=$CFLAGS
CFLAGS="$CFLAGS "
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
int i=4711;
i=usage(&i);
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv___attribute__cold=0
else $as_nop
#
# In case we did NOT succeed: Fine, but was this due to the
# attribute being ignored? Grep for IgNoRe in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__cold=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__cold=0
break;
fi
done
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_c_werror_flag=$ac_c_werror_flag_safe
CFLAGS=$CFLAGS_safe
fi
fi
if test "$opal_cv___attribute__cold" = "1" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__(const)" >&5
printf %s "checking for __attribute__(const)... " >&6; }
if test ${opal_cv___attribute__const+y}
then :
printf %s "(cached) " >&6
else $as_nop
#
# Try to compile using the C compiler, then C++
#
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int foo(int arg1, int arg2) __attribute__ ((__const__));
int foo(int arg1, int arg2) { return arg1 * arg2 + arg1; }
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
#
# In case we did succeed: Fine, but was this due to the
# attribute being ignored/skipped? Grep for IgNoRe/skip in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__const=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__const=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__const=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
# Only test C++ if we're building Open MPI (i.e.,
# project_ompi). OPAL and ORTE do not use C++ at all, so
# let's not add a C++ compiler into their requirement list.
if test "$opal_cv___attribute__const" = "1" ; then
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
extern "C" {
int foo(int arg1, int arg2) __attribute__ ((__const__));
int foo(int arg1, int arg2) { return arg1 * arg2 + arg1; }
}
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"
then :
opal_cv___attribute__const=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__const=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__const=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
fi
#
# If the attribute is supported by both compilers,
# try to recompile a *cross-check*, IFF defined.
#
if test "$opal_cv___attribute__const" = "1" && test "" != "" ; then
ac_c_werror_flag_safe=$ac_c_werror_flag
ac_c_werror_flag="yes"
CFLAGS_safe=$CFLAGS
CFLAGS="$CFLAGS "
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
int i=4711;
i=usage(&i);
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv___attribute__const=0
else $as_nop
#
# In case we did NOT succeed: Fine, but was this due to the
# attribute being ignored? Grep for IgNoRe in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__const=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__const=0
break;
fi
done
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_c_werror_flag=$ac_c_werror_flag_safe
CFLAGS=$CFLAGS_safe
fi
fi
if test "$opal_cv___attribute__const" = "1" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__(deprecated)" >&5
printf %s "checking for __attribute__(deprecated)... " >&6; }
if test ${opal_cv___attribute__deprecated+y}
then :
printf %s "(cached) " >&6
else $as_nop
#
# Try to compile using the C compiler, then C++
#
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int foo(int arg1, int arg2) __attribute__ ((__deprecated__));
int foo(int arg1, int arg2) { return arg1 * arg2 + arg1; }
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
#
# In case we did succeed: Fine, but was this due to the
# attribute being ignored/skipped? Grep for IgNoRe/skip in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__deprecated=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__deprecated=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__deprecated=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
# Only test C++ if we're building Open MPI (i.e.,
# project_ompi). OPAL and ORTE do not use C++ at all, so
# let's not add a C++ compiler into their requirement list.
if test "$opal_cv___attribute__deprecated" = "1" ; then
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
extern "C" {
int foo(int arg1, int arg2) __attribute__ ((__deprecated__));
int foo(int arg1, int arg2) { return arg1 * arg2 + arg1; }
}
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"
then :
opal_cv___attribute__deprecated=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__deprecated=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__deprecated=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
fi
#
# If the attribute is supported by both compilers,
# try to recompile a *cross-check*, IFF defined.
#
if test "$opal_cv___attribute__deprecated" = "1" && test "" != "" ; then
ac_c_werror_flag_safe=$ac_c_werror_flag
ac_c_werror_flag="yes"
CFLAGS_safe=$CFLAGS
CFLAGS="$CFLAGS "
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
int i=4711;
i=usage(&i);
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv___attribute__deprecated=0
else $as_nop
#
# In case we did NOT succeed: Fine, but was this due to the
# attribute being ignored? Grep for IgNoRe in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__deprecated=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__deprecated=0
break;
fi
done
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_c_werror_flag=$ac_c_werror_flag_safe
CFLAGS=$CFLAGS_safe
fi
fi
if test "$opal_cv___attribute__deprecated" = "1" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__(deprecated_argument)" >&5
printf %s "checking for __attribute__(deprecated_argument)... " >&6; }
if test ${opal_cv___attribute__deprecated_argument+y}
then :
printf %s "(cached) " >&6
else $as_nop
#
# Try to compile using the C compiler, then C++
#
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int foo(int arg1, int arg2) __attribute__ ((__deprecated__("compiler allows argument")));
int foo(int arg1, int arg2) { return arg1 * arg2 + arg1; }
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
#
# In case we did succeed: Fine, but was this due to the
# attribute being ignored/skipped? Grep for IgNoRe/skip in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__deprecated_argument=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__deprecated_argument=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__deprecated_argument=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
# Only test C++ if we're building Open MPI (i.e.,
# project_ompi). OPAL and ORTE do not use C++ at all, so
# let's not add a C++ compiler into their requirement list.
if test "$opal_cv___attribute__deprecated_argument" = "1" ; then
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
extern "C" {
int foo(int arg1, int arg2) __attribute__ ((__deprecated__("compiler allows argument")));
int foo(int arg1, int arg2) { return arg1 * arg2 + arg1; }
}
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"
then :
opal_cv___attribute__deprecated_argument=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__deprecated_argument=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__deprecated_argument=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
fi
#
# If the attribute is supported by both compilers,
# try to recompile a *cross-check*, IFF defined.
#
if test "$opal_cv___attribute__deprecated_argument" = "1" && test "" != "" ; then
ac_c_werror_flag_safe=$ac_c_werror_flag
ac_c_werror_flag="yes"
CFLAGS_safe=$CFLAGS
CFLAGS="$CFLAGS "
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
int i=4711;
i=usage(&i);
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv___attribute__deprecated_argument=0
else $as_nop
#
# In case we did NOT succeed: Fine, but was this due to the
# attribute being ignored? Grep for IgNoRe in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__deprecated_argument=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__deprecated_argument=0
break;
fi
done
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_c_werror_flag=$ac_c_werror_flag_safe
CFLAGS=$CFLAGS_safe
fi
fi
if test "$opal_cv___attribute__deprecated_argument" = "1" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__(error)" >&5
printf %s "checking for __attribute__(error)... " >&6; }
if test ${opal_cv___attribute__error+y}
then :
printf %s "(cached) " >&6
else $as_nop
#
# Try to compile using the C compiler, then C++
#
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int foo(int arg1, int arg2) __attribute__ ((__error__("")));
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
#
# In case we did succeed: Fine, but was this due to the
# attribute being ignored/skipped? Grep for IgNoRe/skip in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__error=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__error=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__error=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
# Only test C++ if we're building Open MPI (i.e.,
# project_ompi). OPAL and ORTE do not use C++ at all, so
# let's not add a C++ compiler into their requirement list.
if test "$opal_cv___attribute__error" = "1" ; then
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
extern "C" {
int foo(int arg1, int arg2) __attribute__ ((__error__("")));
}
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"
then :
opal_cv___attribute__error=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__error=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__error=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
fi
#
# If the attribute is supported by both compilers,
# try to recompile a *cross-check*, IFF defined.
#
if test "$opal_cv___attribute__error" = "1" && test "" != "" ; then
ac_c_werror_flag_safe=$ac_c_werror_flag
ac_c_werror_flag="yes"
CFLAGS_safe=$CFLAGS
CFLAGS="$CFLAGS "
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
int i=4711;
i=usage(&i);
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv___attribute__error=0
else $as_nop
#
# In case we did NOT succeed: Fine, but was this due to the
# attribute being ignored? Grep for IgNoRe in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__error=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__error=0
break;
fi
done
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_c_werror_flag=$ac_c_werror_flag_safe
CFLAGS=$CFLAGS_safe
fi
fi
if test "$opal_cv___attribute__error" = "1" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
ATTRIBUTE_CFLAGS=
case "$opal_c_vendor" in
gnu)
ATTRIBUTE_CFLAGS="-Wall"
;;
intel)
# we want specifically the warning on format string conversion
ATTRIBUTE_CFLAGS="-we181"
;;
esac
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__(format)" >&5
printf %s "checking for __attribute__(format)... " >&6; }
if test ${opal_cv___attribute__format+y}
then :
printf %s "(cached) " >&6
else $as_nop
#
# Try to compile using the C compiler, then C++
#
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int this_printf (void *my_object, const char *my_format, ...) __attribute__ ((__format__ (__printf__, 2, 3)));
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
#
# In case we did succeed: Fine, but was this due to the
# attribute being ignored/skipped? Grep for IgNoRe/skip in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__format=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__format=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__format=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
# Only test C++ if we're building Open MPI (i.e.,
# project_ompi). OPAL and ORTE do not use C++ at all, so
# let's not add a C++ compiler into their requirement list.
if test "$opal_cv___attribute__format" = "1" ; then
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
extern "C" {
int this_printf (void *my_object, const char *my_format, ...) __attribute__ ((__format__ (__printf__, 2, 3)));
}
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"
then :
opal_cv___attribute__format=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__format=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__format=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
fi
#
# If the attribute is supported by both compilers,
# try to recompile a *cross-check*, IFF defined.
#
if test "$opal_cv___attribute__format" = "1" && test "
static int usage (int * argument);
extern int this_printf (int arg1, const char *my_format, ...) __attribute__ ((__format__ (__printf__, 2, 3)));
static int usage (int * argument) {
return this_printf (*argument, "%d", argument); /* This should produce a format warning */
}
/* The autoconf-generated main-function is int main(), which produces a warning by itself */
int main(void);
" != "" ; then
ac_c_werror_flag_safe=$ac_c_werror_flag
ac_c_werror_flag="yes"
CFLAGS_safe=$CFLAGS
CFLAGS="$CFLAGS $ATTRIBUTE_CFLAGS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
static int usage (int * argument);
extern int this_printf (int arg1, const char *my_format, ...) __attribute__ ((__format__ (__printf__, 2, 3)));
static int usage (int * argument) {
return this_printf (*argument, "%d", argument); /* This should produce a format warning */
}
/* The autoconf-generated main-function is int main(), which produces a warning by itself */
int main(void);
int
main (void)
{
int i=4711;
i=usage(&i);
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv___attribute__format=0
else $as_nop
#
# In case we did NOT succeed: Fine, but was this due to the
# attribute being ignored? Grep for IgNoRe in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__format=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__format=0
break;
fi
done
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_c_werror_flag=$ac_c_werror_flag_safe
CFLAGS=$CFLAGS_safe
fi
fi
if test "$opal_cv___attribute__format" = "1" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
ATTRIBUTE_CFLAGS=
case "$opal_c_vendor" in
gnu)
ATTRIBUTE_CFLAGS="-Wall"
;;
intel)
# we want specifically the warning on format string conversion
ATTRIBUTE_CFLAGS="-we181"
;;
esac
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__(format_funcptr)" >&5
printf %s "checking for __attribute__(format_funcptr)... " >&6; }
if test ${opal_cv___attribute__format_funcptr+y}
then :
printf %s "(cached) " >&6
else $as_nop
#
# Try to compile using the C compiler, then C++
#
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int (*this_printf)(void *my_object, const char *my_format, ...) __attribute__ ((__format__ (__printf__, 2, 3)));
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
#
# In case we did succeed: Fine, but was this due to the
# attribute being ignored/skipped? Grep for IgNoRe/skip in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__format_funcptr=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__format_funcptr=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__format_funcptr=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
# Only test C++ if we're building Open MPI (i.e.,
# project_ompi). OPAL and ORTE do not use C++ at all, so
# let's not add a C++ compiler into their requirement list.
if test "$opal_cv___attribute__format_funcptr" = "1" ; then
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
extern "C" {
int (*this_printf)(void *my_object, const char *my_format, ...) __attribute__ ((__format__ (__printf__, 2, 3)));
}
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"
then :
opal_cv___attribute__format_funcptr=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__format_funcptr=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__format_funcptr=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
fi
#
# If the attribute is supported by both compilers,
# try to recompile a *cross-check*, IFF defined.
#
if test "$opal_cv___attribute__format_funcptr" = "1" && test "
static int usage (int * argument);
extern int (*this_printf) (int arg1, const char *my_format, ...) __attribute__ ((__format__ (__printf__, 2, 3)));
static int usage (int * argument) {
return (*this_printf) (*argument, "%d", argument); /* This should produce a format warning */
}
/* The autoconf-generated main-function is int main(), which produces a warning by itself */
int main(void);
" != "" ; then
ac_c_werror_flag_safe=$ac_c_werror_flag
ac_c_werror_flag="yes"
CFLAGS_safe=$CFLAGS
CFLAGS="$CFLAGS $ATTRIBUTE_CFLAGS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
static int usage (int * argument);
extern int (*this_printf) (int arg1, const char *my_format, ...) __attribute__ ((__format__ (__printf__, 2, 3)));
static int usage (int * argument) {
return (*this_printf) (*argument, "%d", argument); /* This should produce a format warning */
}
/* The autoconf-generated main-function is int main(), which produces a warning by itself */
int main(void);
int
main (void)
{
int i=4711;
i=usage(&i);
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv___attribute__format_funcptr=0
else $as_nop
#
# In case we did NOT succeed: Fine, but was this due to the
# attribute being ignored? Grep for IgNoRe in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__format_funcptr=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__format_funcptr=0
break;
fi
done
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_c_werror_flag=$ac_c_werror_flag_safe
CFLAGS=$CFLAGS_safe
fi
fi
if test "$opal_cv___attribute__format_funcptr" = "1" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__(hot)" >&5
printf %s "checking for __attribute__(hot)... " >&6; }
if test ${opal_cv___attribute__hot+y}
then :
printf %s "(cached) " >&6
else $as_nop
#
# Try to compile using the C compiler, then C++
#
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int foo(int arg1, int arg2) __attribute__ ((__hot__));
int foo(int arg1, int arg2) { return arg1 * arg2 + arg1; }
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
#
# In case we did succeed: Fine, but was this due to the
# attribute being ignored/skipped? Grep for IgNoRe/skip in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__hot=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__hot=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__hot=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
# Only test C++ if we're building Open MPI (i.e.,
# project_ompi). OPAL and ORTE do not use C++ at all, so
# let's not add a C++ compiler into their requirement list.
if test "$opal_cv___attribute__hot" = "1" ; then
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
extern "C" {
int foo(int arg1, int arg2) __attribute__ ((__hot__));
int foo(int arg1, int arg2) { return arg1 * arg2 + arg1; }
}
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"
then :
opal_cv___attribute__hot=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__hot=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__hot=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
fi
#
# If the attribute is supported by both compilers,
# try to recompile a *cross-check*, IFF defined.
#
if test "$opal_cv___attribute__hot" = "1" && test "" != "" ; then
ac_c_werror_flag_safe=$ac_c_werror_flag
ac_c_werror_flag="yes"
CFLAGS_safe=$CFLAGS
CFLAGS="$CFLAGS "
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
int i=4711;
i=usage(&i);
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv___attribute__hot=0
else $as_nop
#
# In case we did NOT succeed: Fine, but was this due to the
# attribute being ignored? Grep for IgNoRe in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__hot=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__hot=0
break;
fi
done
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_c_werror_flag=$ac_c_werror_flag_safe
CFLAGS=$CFLAGS_safe
fi
fi
if test "$opal_cv___attribute__hot" = "1" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__(malloc)" >&5
printf %s "checking for __attribute__(malloc)... " >&6; }
if test ${opal_cv___attribute__malloc+y}
then :
printf %s "(cached) " >&6
else $as_nop
#
# Try to compile using the C compiler, then C++
#
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifdef HAVE_STDLIB_H
# include
#endif
int * foo(int arg1) __attribute__ ((__malloc__));
int * foo(int arg1) { return (int*) malloc(arg1); }
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
#
# In case we did succeed: Fine, but was this due to the
# attribute being ignored/skipped? Grep for IgNoRe/skip in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__malloc=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__malloc=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__malloc=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
# Only test C++ if we're building Open MPI (i.e.,
# project_ompi). OPAL and ORTE do not use C++ at all, so
# let's not add a C++ compiler into their requirement list.
if test "$opal_cv___attribute__malloc" = "1" ; then
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
extern "C" {
#ifdef HAVE_STDLIB_H
# include
#endif
int * foo(int arg1) __attribute__ ((__malloc__));
int * foo(int arg1) { return (int*) malloc(arg1); }
}
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"
then :
opal_cv___attribute__malloc=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__malloc=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__malloc=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
fi
#
# If the attribute is supported by both compilers,
# try to recompile a *cross-check*, IFF defined.
#
if test "$opal_cv___attribute__malloc" = "1" && test "" != "" ; then
ac_c_werror_flag_safe=$ac_c_werror_flag
ac_c_werror_flag="yes"
CFLAGS_safe=$CFLAGS
CFLAGS="$CFLAGS "
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
int i=4711;
i=usage(&i);
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv___attribute__malloc=0
else $as_nop
#
# In case we did NOT succeed: Fine, but was this due to the
# attribute being ignored? Grep for IgNoRe in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__malloc=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__malloc=0
break;
fi
done
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_c_werror_flag=$ac_c_werror_flag_safe
CFLAGS=$CFLAGS_safe
fi
fi
if test "$opal_cv___attribute__malloc" = "1" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
#
# Attribute may_alias: No suitable cross-check available, that works for non-supporting compilers
# Ignored by intel-9.1.045 -- turn off with -wd1292
# Ignored by PGI-6.2.5; ignore not detected due to missing cross-check
#
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__(may_alias)" >&5
printf %s "checking for __attribute__(may_alias)... " >&6; }
if test ${opal_cv___attribute__may_alias+y}
then :
printf %s "(cached) " >&6
else $as_nop
#
# Try to compile using the C compiler, then C++
#
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int * p_value __attribute__ ((__may_alias__));
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
#
# In case we did succeed: Fine, but was this due to the
# attribute being ignored/skipped? Grep for IgNoRe/skip in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__may_alias=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__may_alias=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__may_alias=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
# Only test C++ if we're building Open MPI (i.e.,
# project_ompi). OPAL and ORTE do not use C++ at all, so
# let's not add a C++ compiler into their requirement list.
if test "$opal_cv___attribute__may_alias" = "1" ; then
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
extern "C" {
int * p_value __attribute__ ((__may_alias__));
}
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"
then :
opal_cv___attribute__may_alias=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__may_alias=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__may_alias=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
fi
#
# If the attribute is supported by both compilers,
# try to recompile a *cross-check*, IFF defined.
#
if test "$opal_cv___attribute__may_alias" = "1" && test "" != "" ; then
ac_c_werror_flag_safe=$ac_c_werror_flag
ac_c_werror_flag="yes"
CFLAGS_safe=$CFLAGS
CFLAGS="$CFLAGS "
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
int i=4711;
i=usage(&i);
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv___attribute__may_alias=0
else $as_nop
#
# In case we did NOT succeed: Fine, but was this due to the
# attribute being ignored? Grep for IgNoRe in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__may_alias=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__may_alias=0
break;
fi
done
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_c_werror_flag=$ac_c_werror_flag_safe
CFLAGS=$CFLAGS_safe
fi
fi
if test "$opal_cv___attribute__may_alias" = "1" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__(no_instrument_function)" >&5
printf %s "checking for __attribute__(no_instrument_function)... " >&6; }
if test ${opal_cv___attribute__no_instrument_function+y}
then :
printf %s "(cached) " >&6
else $as_nop
#
# Try to compile using the C compiler, then C++
#
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int * foo(int arg1) __attribute__ ((__no_instrument_function__));
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
#
# In case we did succeed: Fine, but was this due to the
# attribute being ignored/skipped? Grep for IgNoRe/skip in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__no_instrument_function=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__no_instrument_function=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__no_instrument_function=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
# Only test C++ if we're building Open MPI (i.e.,
# project_ompi). OPAL and ORTE do not use C++ at all, so
# let's not add a C++ compiler into their requirement list.
if test "$opal_cv___attribute__no_instrument_function" = "1" ; then
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
extern "C" {
int * foo(int arg1) __attribute__ ((__no_instrument_function__));
}
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"
then :
opal_cv___attribute__no_instrument_function=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__no_instrument_function=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__no_instrument_function=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
fi
#
# If the attribute is supported by both compilers,
# try to recompile a *cross-check*, IFF defined.
#
if test "$opal_cv___attribute__no_instrument_function" = "1" && test "" != "" ; then
ac_c_werror_flag_safe=$ac_c_werror_flag
ac_c_werror_flag="yes"
CFLAGS_safe=$CFLAGS
CFLAGS="$CFLAGS "
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
int i=4711;
i=usage(&i);
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv___attribute__no_instrument_function=0
else $as_nop
#
# In case we did NOT succeed: Fine, but was this due to the
# attribute being ignored? Grep for IgNoRe in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__no_instrument_function=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__no_instrument_function=0
break;
fi
done
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_c_werror_flag=$ac_c_werror_flag_safe
CFLAGS=$CFLAGS_safe
fi
fi
if test "$opal_cv___attribute__no_instrument_function" = "1" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__(noinline)" >&5
printf %s "checking for __attribute__(noinline)... " >&6; }
if test ${opal_cv___attribute__noinline+y}
then :
printf %s "(cached) " >&6
else $as_nop
#
# Try to compile using the C compiler, then C++
#
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int foo(int arg1, int arg2) __attribute__ ((__noinline__));
int foo(int arg1, int arg2) { return arg1 * arg2 + arg1; }
static int bar(int arg1, int arg2) __attribute__ ((__noinline__));
static int bar(int arg1, int arg2) { return arg1 * arg2 + arg1; }
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
#
# In case we did succeed: Fine, but was this due to the
# attribute being ignored/skipped? Grep for IgNoRe/skip in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__noinline=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__noinline=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__noinline=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
# Only test C++ if we're building Open MPI (i.e.,
# project_ompi). OPAL and ORTE do not use C++ at all, so
# let's not add a C++ compiler into their requirement list.
if test "$opal_cv___attribute__noinline" = "1" ; then
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
extern "C" {
int foo(int arg1, int arg2) __attribute__ ((__noinline__));
int foo(int arg1, int arg2) { return arg1 * arg2 + arg1; }
static int bar(int arg1, int arg2) __attribute__ ((__noinline__));
static int bar(int arg1, int arg2) { return arg1 * arg2 + arg1; }
}
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"
then :
opal_cv___attribute__noinline=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__noinline=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__noinline=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
fi
#
# If the attribute is supported by both compilers,
# try to recompile a *cross-check*, IFF defined.
#
if test "$opal_cv___attribute__noinline" = "1" && test "" != "" ; then
ac_c_werror_flag_safe=$ac_c_werror_flag
ac_c_werror_flag="yes"
CFLAGS_safe=$CFLAGS
CFLAGS="$CFLAGS "
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
int i=4711;
i=usage(&i);
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv___attribute__noinline=0
else $as_nop
#
# In case we did NOT succeed: Fine, but was this due to the
# attribute being ignored? Grep for IgNoRe in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__noinline=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__noinline=0
break;
fi
done
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_c_werror_flag=$ac_c_werror_flag_safe
CFLAGS=$CFLAGS_safe
fi
fi
if test "$opal_cv___attribute__noinline" = "1" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
#
# Attribute nonnull:
# Ignored by intel-compiler 9.1.045 -- recognized by cross-check
# Ignored by PGI-6.2.5 (pgCC) -- recognized by cross-check
#
ATTRIBUTE_CFLAGS=
case "$opal_c_vendor" in
gnu)
ATTRIBUTE_CFLAGS="-Wall"
;;
intel)
# we do not want to get ignored attributes warnings, but rather real warnings
ATTRIBUTE_CFLAGS="-wd1292"
;;
esac
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__(nonnull)" >&5
printf %s "checking for __attribute__(nonnull)... " >&6; }
if test ${opal_cv___attribute__nonnull+y}
then :
printf %s "(cached) " >&6
else $as_nop
#
# Try to compile using the C compiler, then C++
#
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int square(int *arg) __attribute__ ((__nonnull__));
int square(int *arg) { return *arg; }
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
#
# In case we did succeed: Fine, but was this due to the
# attribute being ignored/skipped? Grep for IgNoRe/skip in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__nonnull=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__nonnull=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__nonnull=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
# Only test C++ if we're building Open MPI (i.e.,
# project_ompi). OPAL and ORTE do not use C++ at all, so
# let's not add a C++ compiler into their requirement list.
if test "$opal_cv___attribute__nonnull" = "1" ; then
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
extern "C" {
int square(int *arg) __attribute__ ((__nonnull__));
int square(int *arg) { return *arg; }
}
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"
then :
opal_cv___attribute__nonnull=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__nonnull=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__nonnull=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
fi
#
# If the attribute is supported by both compilers,
# try to recompile a *cross-check*, IFF defined.
#
if test "$opal_cv___attribute__nonnull" = "1" && test "
static int usage(int * argument);
int square(int * argument) __attribute__ ((__nonnull__));
int square(int * argument) { return (*argument) * (*argument); }
static int usage(int * argument) {
return square( ((void*)0) ); /* This should produce an argument must be nonnull warning */
}
/* The autoconf-generated main-function is int main(), which produces a warning by itself */
int main(void);
" != "" ; then
ac_c_werror_flag_safe=$ac_c_werror_flag
ac_c_werror_flag="yes"
CFLAGS_safe=$CFLAGS
CFLAGS="$CFLAGS $ATTRIBUTE_CFLAGS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
static int usage(int * argument);
int square(int * argument) __attribute__ ((__nonnull__));
int square(int * argument) { return (*argument) * (*argument); }
static int usage(int * argument) {
return square( ((void*)0) ); /* This should produce an argument must be nonnull warning */
}
/* The autoconf-generated main-function is int main(), which produces a warning by itself */
int main(void);
int
main (void)
{
int i=4711;
i=usage(&i);
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv___attribute__nonnull=0
else $as_nop
#
# In case we did NOT succeed: Fine, but was this due to the
# attribute being ignored? Grep for IgNoRe in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__nonnull=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__nonnull=0
break;
fi
done
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_c_werror_flag=$ac_c_werror_flag_safe
CFLAGS=$CFLAGS_safe
fi
fi
if test "$opal_cv___attribute__nonnull" = "1" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__(noreturn)" >&5
printf %s "checking for __attribute__(noreturn)... " >&6; }
if test ${opal_cv___attribute__noreturn+y}
then :
printf %s "(cached) " >&6
else $as_nop
#
# Try to compile using the C compiler, then C++
#
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifdef HAVE_UNISTD_H
# include
#endif
#ifdef HAVE_STDLIB_H
# include
#endif
void fatal(int arg1) __attribute__ ((__noreturn__));
void fatal(int arg1) { exit(arg1); }
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
#
# In case we did succeed: Fine, but was this due to the
# attribute being ignored/skipped? Grep for IgNoRe/skip in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__noreturn=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__noreturn=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__noreturn=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
# Only test C++ if we're building Open MPI (i.e.,
# project_ompi). OPAL and ORTE do not use C++ at all, so
# let's not add a C++ compiler into their requirement list.
if test "$opal_cv___attribute__noreturn" = "1" ; then
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
extern "C" {
#ifdef HAVE_UNISTD_H
# include
#endif
#ifdef HAVE_STDLIB_H
# include
#endif
void fatal(int arg1) __attribute__ ((__noreturn__));
void fatal(int arg1) { exit(arg1); }
}
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"
then :
opal_cv___attribute__noreturn=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__noreturn=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__noreturn=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
fi
#
# If the attribute is supported by both compilers,
# try to recompile a *cross-check*, IFF defined.
#
if test "$opal_cv___attribute__noreturn" = "1" && test "" != "" ; then
ac_c_werror_flag_safe=$ac_c_werror_flag
ac_c_werror_flag="yes"
CFLAGS_safe=$CFLAGS
CFLAGS="$CFLAGS "
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
int i=4711;
i=usage(&i);
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv___attribute__noreturn=0
else $as_nop
#
# In case we did NOT succeed: Fine, but was this due to the
# attribute being ignored? Grep for IgNoRe in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__noreturn=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__noreturn=0
break;
fi
done
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_c_werror_flag=$ac_c_werror_flag_safe
CFLAGS=$CFLAGS_safe
fi
fi
if test "$opal_cv___attribute__noreturn" = "1" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__(noreturn_funcptr)" >&5
printf %s "checking for __attribute__(noreturn_funcptr)... " >&6; }
if test ${opal_cv___attribute__noreturn_funcptr+y}
then :
printf %s "(cached) " >&6
else $as_nop
#
# Try to compile using the C compiler, then C++
#
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifdef HAVE_UNISTD_H
# include
#endif
#ifdef HAVE_STDLIB_H
# include
#endif
extern void (*fatal_exit)(int arg1) __attribute__ ((__noreturn__));
void fatal(int arg1) { fatal_exit (arg1); }
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
#
# In case we did succeed: Fine, but was this due to the
# attribute being ignored/skipped? Grep for IgNoRe/skip in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__noreturn_funcptr=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__noreturn_funcptr=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__noreturn_funcptr=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
# Only test C++ if we're building Open MPI (i.e.,
# project_ompi). OPAL and ORTE do not use C++ at all, so
# let's not add a C++ compiler into their requirement list.
if test "$opal_cv___attribute__noreturn_funcptr" = "1" ; then
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
extern "C" {
#ifdef HAVE_UNISTD_H
# include
#endif
#ifdef HAVE_STDLIB_H
# include
#endif
extern void (*fatal_exit)(int arg1) __attribute__ ((__noreturn__));
void fatal(int arg1) { fatal_exit (arg1); }
}
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"
then :
opal_cv___attribute__noreturn_funcptr=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__noreturn_funcptr=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__noreturn_funcptr=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
fi
#
# If the attribute is supported by both compilers,
# try to recompile a *cross-check*, IFF defined.
#
if test "$opal_cv___attribute__noreturn_funcptr" = "1" && test "" != "" ; then
ac_c_werror_flag_safe=$ac_c_werror_flag
ac_c_werror_flag="yes"
CFLAGS_safe=$CFLAGS
CFLAGS="$CFLAGS $ATTRIBUTE_CFLAGS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
int i=4711;
i=usage(&i);
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv___attribute__noreturn_funcptr=0
else $as_nop
#
# In case we did NOT succeed: Fine, but was this due to the
# attribute being ignored? Grep for IgNoRe in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__noreturn_funcptr=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__noreturn_funcptr=0
break;
fi
done
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_c_werror_flag=$ac_c_werror_flag_safe
CFLAGS=$CFLAGS_safe
fi
fi
if test "$opal_cv___attribute__noreturn_funcptr" = "1" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__(packed)" >&5
printf %s "checking for __attribute__(packed)... " >&6; }
if test ${opal_cv___attribute__packed+y}
then :
printf %s "(cached) " >&6
else $as_nop
#
# Try to compile using the C compiler, then C++
#
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
struct foo {
char a;
int x2 __attribute__ ((__packed__));
};
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
#
# In case we did succeed: Fine, but was this due to the
# attribute being ignored/skipped? Grep for IgNoRe/skip in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__packed=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__packed=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__packed=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
# Only test C++ if we're building Open MPI (i.e.,
# project_ompi). OPAL and ORTE do not use C++ at all, so
# let's not add a C++ compiler into their requirement list.
if test "$opal_cv___attribute__packed" = "1" ; then
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
extern "C" {
struct foo {
char a;
int x2 __attribute__ ((__packed__));
};
}
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"
then :
opal_cv___attribute__packed=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__packed=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__packed=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
fi
#
# If the attribute is supported by both compilers,
# try to recompile a *cross-check*, IFF defined.
#
if test "$opal_cv___attribute__packed" = "1" && test "" != "" ; then
ac_c_werror_flag_safe=$ac_c_werror_flag
ac_c_werror_flag="yes"
CFLAGS_safe=$CFLAGS
CFLAGS="$CFLAGS "
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
int i=4711;
i=usage(&i);
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv___attribute__packed=0
else $as_nop
#
# In case we did NOT succeed: Fine, but was this due to the
# attribute being ignored? Grep for IgNoRe in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__packed=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__packed=0
break;
fi
done
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_c_werror_flag=$ac_c_werror_flag_safe
CFLAGS=$CFLAGS_safe
fi
fi
if test "$opal_cv___attribute__packed" = "1" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__(pure)" >&5
printf %s "checking for __attribute__(pure)... " >&6; }
if test ${opal_cv___attribute__pure+y}
then :
printf %s "(cached) " >&6
else $as_nop
#
# Try to compile using the C compiler, then C++
#
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int square(int arg) __attribute__ ((__pure__));
int square(int arg) { return arg * arg; }
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
#
# In case we did succeed: Fine, but was this due to the
# attribute being ignored/skipped? Grep for IgNoRe/skip in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__pure=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__pure=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__pure=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
# Only test C++ if we're building Open MPI (i.e.,
# project_ompi). OPAL and ORTE do not use C++ at all, so
# let's not add a C++ compiler into their requirement list.
if test "$opal_cv___attribute__pure" = "1" ; then
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
extern "C" {
int square(int arg) __attribute__ ((__pure__));
int square(int arg) { return arg * arg; }
}
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"
then :
opal_cv___attribute__pure=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__pure=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__pure=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
fi
#
# If the attribute is supported by both compilers,
# try to recompile a *cross-check*, IFF defined.
#
if test "$opal_cv___attribute__pure" = "1" && test "" != "" ; then
ac_c_werror_flag_safe=$ac_c_werror_flag
ac_c_werror_flag="yes"
CFLAGS_safe=$CFLAGS
CFLAGS="$CFLAGS "
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
int i=4711;
i=usage(&i);
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv___attribute__pure=0
else $as_nop
#
# In case we did NOT succeed: Fine, but was this due to the
# attribute being ignored? Grep for IgNoRe in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__pure=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__pure=0
break;
fi
done
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_c_werror_flag=$ac_c_werror_flag_safe
CFLAGS=$CFLAGS_safe
fi
fi
if test "$opal_cv___attribute__pure" = "1" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
#
# Attribute sentinel:
# Ignored by the intel-9.1.045 -- recognized by cross-check
# intel-10.0beta works fine
# Ignored by PGI-6.2.5 (pgCC) -- recognized by output-parser and cross-check
# Ignored by pathcc-2.2.1 -- recognized by cross-check (through grep ignore)
#
ATTRIBUTE_CFLAGS=
case "$opal_c_vendor" in
gnu)
ATTRIBUTE_CFLAGS="-Wall"
;;
intel)
# we do not want to get ignored attributes warnings
ATTRIBUTE_CFLAGS="-wd1292"
;;
esac
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__(sentinel)" >&5
printf %s "checking for __attribute__(sentinel)... " >&6; }
if test ${opal_cv___attribute__sentinel+y}
then :
printf %s "(cached) " >&6
else $as_nop
#
# Try to compile using the C compiler, then C++
#
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int my_execlp(const char * file, const char *arg, ...) __attribute__ ((__sentinel__));
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
#
# In case we did succeed: Fine, but was this due to the
# attribute being ignored/skipped? Grep for IgNoRe/skip in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__sentinel=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__sentinel=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__sentinel=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
# Only test C++ if we're building Open MPI (i.e.,
# project_ompi). OPAL and ORTE do not use C++ at all, so
# let's not add a C++ compiler into their requirement list.
if test "$opal_cv___attribute__sentinel" = "1" ; then
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
extern "C" {
int my_execlp(const char * file, const char *arg, ...) __attribute__ ((__sentinel__));
}
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"
then :
opal_cv___attribute__sentinel=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__sentinel=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__sentinel=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
fi
#
# If the attribute is supported by both compilers,
# try to recompile a *cross-check*, IFF defined.
#
if test "$opal_cv___attribute__sentinel" = "1" && test "
static int usage(int * argument);
int my_execlp(const char * file, const char *arg, ...) __attribute__ ((__sentinel__));
static int usage(int * argument) {
void * last_arg_should_be_null = argument;
return my_execlp ("lala", "/home/there", last_arg_should_be_null); /* This should produce a warning */
}
/* The autoconf-generated main-function is int main(), which produces a warning by itself */
int main(void);
" != "" ; then
ac_c_werror_flag_safe=$ac_c_werror_flag
ac_c_werror_flag="yes"
CFLAGS_safe=$CFLAGS
CFLAGS="$CFLAGS $ATTRIBUTE_CFLAGS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
static int usage(int * argument);
int my_execlp(const char * file, const char *arg, ...) __attribute__ ((__sentinel__));
static int usage(int * argument) {
void * last_arg_should_be_null = argument;
return my_execlp ("lala", "/home/there", last_arg_should_be_null); /* This should produce a warning */
}
/* The autoconf-generated main-function is int main(), which produces a warning by itself */
int main(void);
int
main (void)
{
int i=4711;
i=usage(&i);
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv___attribute__sentinel=0
else $as_nop
#
# In case we did NOT succeed: Fine, but was this due to the
# attribute being ignored? Grep for IgNoRe in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__sentinel=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__sentinel=0
break;
fi
done
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_c_werror_flag=$ac_c_werror_flag_safe
CFLAGS=$CFLAGS_safe
fi
fi
if test "$opal_cv___attribute__sentinel" = "1" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__(unused)" >&5
printf %s "checking for __attribute__(unused)... " >&6; }
if test ${opal_cv___attribute__unused+y}
then :
printf %s "(cached) " >&6
else $as_nop
#
# Try to compile using the C compiler, then C++
#
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int square(int arg1 __attribute__ ((__unused__)), int arg2);
int square(int arg1, int arg2) { return arg2; }
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
#
# In case we did succeed: Fine, but was this due to the
# attribute being ignored/skipped? Grep for IgNoRe/skip in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__unused=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__unused=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__unused=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
# Only test C++ if we're building Open MPI (i.e.,
# project_ompi). OPAL and ORTE do not use C++ at all, so
# let's not add a C++ compiler into their requirement list.
if test "$opal_cv___attribute__unused" = "1" ; then
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
extern "C" {
int square(int arg1 __attribute__ ((__unused__)), int arg2);
int square(int arg1, int arg2) { return arg2; }
}
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"
then :
opal_cv___attribute__unused=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__unused=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__unused=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
fi
#
# If the attribute is supported by both compilers,
# try to recompile a *cross-check*, IFF defined.
#
if test "$opal_cv___attribute__unused" = "1" && test "" != "" ; then
ac_c_werror_flag_safe=$ac_c_werror_flag
ac_c_werror_flag="yes"
CFLAGS_safe=$CFLAGS
CFLAGS="$CFLAGS "
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
int i=4711;
i=usage(&i);
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv___attribute__unused=0
else $as_nop
#
# In case we did NOT succeed: Fine, but was this due to the
# attribute being ignored? Grep for IgNoRe in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__unused=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__unused=0
break;
fi
done
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_c_werror_flag=$ac_c_werror_flag_safe
CFLAGS=$CFLAGS_safe
fi
fi
if test "$opal_cv___attribute__unused" = "1" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
#
# Ignored by PGI-6.2.5 (pgCC) -- recognized by the output-parser
#
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__(visibility)" >&5
printf %s "checking for __attribute__(visibility)... " >&6; }
if test ${opal_cv___attribute__visibility+y}
then :
printf %s "(cached) " >&6
else $as_nop
#
# Try to compile using the C compiler, then C++
#
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int square(int arg1) __attribute__ ((__visibility__("hidden")));
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
#
# In case we did succeed: Fine, but was this due to the
# attribute being ignored/skipped? Grep for IgNoRe/skip in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__visibility=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__visibility=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__visibility=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
# Only test C++ if we're building Open MPI (i.e.,
# project_ompi). OPAL and ORTE do not use C++ at all, so
# let's not add a C++ compiler into their requirement list.
if test "$opal_cv___attribute__visibility" = "1" ; then
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
extern "C" {
int square(int arg1) __attribute__ ((__visibility__("hidden")));
}
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"
then :
opal_cv___attribute__visibility=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__visibility=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__visibility=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
fi
#
# If the attribute is supported by both compilers,
# try to recompile a *cross-check*, IFF defined.
#
if test "$opal_cv___attribute__visibility" = "1" && test "" != "" ; then
ac_c_werror_flag_safe=$ac_c_werror_flag
ac_c_werror_flag="yes"
CFLAGS_safe=$CFLAGS
CFLAGS="$CFLAGS "
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
int i=4711;
i=usage(&i);
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv___attribute__visibility=0
else $as_nop
#
# In case we did NOT succeed: Fine, but was this due to the
# attribute being ignored? Grep for IgNoRe in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__visibility=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__visibility=0
break;
fi
done
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_c_werror_flag=$ac_c_werror_flag_safe
CFLAGS=$CFLAGS_safe
fi
fi
if test "$opal_cv___attribute__visibility" = "1" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
#
# Attribute warn_unused_result:
# Ignored by the intel-compiler 9.1.045 -- recognized by cross-check
# Ignored by pathcc-2.2.1 -- recognized by cross-check (through grep ignore)
#
ATTRIBUTE_CFLAGS=
case "$opal_c_vendor" in
gnu)
ATTRIBUTE_CFLAGS="-Wall"
;;
intel)
# we do not want to get ignored attributes warnings
ATTRIBUTE_CFLAGS="-wd1292"
;;
esac
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__(warn_unused_result)" >&5
printf %s "checking for __attribute__(warn_unused_result)... " >&6; }
if test ${opal_cv___attribute__warn_unused_result+y}
then :
printf %s "(cached) " >&6
else $as_nop
#
# Try to compile using the C compiler, then C++
#
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int foo(int arg) __attribute__ ((__warn_unused_result__));
int foo(int arg) { return arg + 3; }
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
#
# In case we did succeed: Fine, but was this due to the
# attribute being ignored/skipped? Grep for IgNoRe/skip in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__warn_unused_result=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__warn_unused_result=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__warn_unused_result=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
# Only test C++ if we're building Open MPI (i.e.,
# project_ompi). OPAL and ORTE do not use C++ at all, so
# let's not add a C++ compiler into their requirement list.
if test "$opal_cv___attribute__warn_unused_result" = "1" ; then
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
extern "C" {
int foo(int arg) __attribute__ ((__warn_unused_result__));
int foo(int arg) { return arg + 3; }
}
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"
then :
opal_cv___attribute__warn_unused_result=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__warn_unused_result=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__warn_unused_result=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
fi
#
# If the attribute is supported by both compilers,
# try to recompile a *cross-check*, IFF defined.
#
if test "$opal_cv___attribute__warn_unused_result" = "1" && test "
static int usage(int * argument);
int foo(int arg) __attribute__ ((__warn_unused_result__));
int foo(int arg) { return arg + 3; }
static int usage(int * argument) {
foo (*argument); /* Should produce an unused result warning */
return 0;
}
/* The autoconf-generated main-function is int main(), which produces a warning by itself */
int main(void);
" != "" ; then
ac_c_werror_flag_safe=$ac_c_werror_flag
ac_c_werror_flag="yes"
CFLAGS_safe=$CFLAGS
CFLAGS="$CFLAGS $ATTRIBUTE_CFLAGS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
static int usage(int * argument);
int foo(int arg) __attribute__ ((__warn_unused_result__));
int foo(int arg) { return arg + 3; }
static int usage(int * argument) {
foo (*argument); /* Should produce an unused result warning */
return 0;
}
/* The autoconf-generated main-function is int main(), which produces a warning by itself */
int main(void);
int
main (void)
{
int i=4711;
i=usage(&i);
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv___attribute__warn_unused_result=0
else $as_nop
#
# In case we did NOT succeed: Fine, but was this due to the
# attribute being ignored? Grep for IgNoRe in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__warn_unused_result=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__warn_unused_result=0
break;
fi
done
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_c_werror_flag=$ac_c_werror_flag_safe
CFLAGS=$CFLAGS_safe
fi
fi
if test "$opal_cv___attribute__warn_unused_result" = "1" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__(weak_alias)" >&5
printf %s "checking for __attribute__(weak_alias)... " >&6; }
if test ${opal_cv___attribute__weak_alias+y}
then :
printf %s "(cached) " >&6
else $as_nop
#
# Try to compile using the C compiler, then C++
#
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int foo(int arg);
int foo(int arg) { return arg + 3; }
int foo2(int arg) __attribute__ ((__weak__, __alias__("foo")));
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
#
# In case we did succeed: Fine, but was this due to the
# attribute being ignored/skipped? Grep for IgNoRe/skip in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__weak_alias=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__weak_alias=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__weak_alias=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
# Only test C++ if we're building Open MPI (i.e.,
# project_ompi). OPAL and ORTE do not use C++ at all, so
# let's not add a C++ compiler into their requirement list.
if test "$opal_cv___attribute__weak_alias" = "1" ; then
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
extern "C" {
int foo(int arg);
int foo(int arg) { return arg + 3; }
int foo2(int arg) __attribute__ ((__weak__, __alias__("foo")));
}
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"
then :
opal_cv___attribute__weak_alias=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__weak_alias=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__weak_alias=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
fi
#
# If the attribute is supported by both compilers,
# try to recompile a *cross-check*, IFF defined.
#
if test "$opal_cv___attribute__weak_alias" = "1" && test "" != "" ; then
ac_c_werror_flag_safe=$ac_c_werror_flag
ac_c_werror_flag="yes"
CFLAGS_safe=$CFLAGS
CFLAGS="$CFLAGS "
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
int i=4711;
i=usage(&i);
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv___attribute__weak_alias=0
else $as_nop
#
# In case we did NOT succeed: Fine, but was this due to the
# attribute being ignored? Grep for IgNoRe in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__weak_alias=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__weak_alias=0
break;
fi
done
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_c_werror_flag=$ac_c_werror_flag_safe
CFLAGS=$CFLAGS_safe
fi
fi
if test "$opal_cv___attribute__weak_alias" = "1" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__(constructor)" >&5
printf %s "checking for __attribute__(constructor)... " >&6; }
if test ${opal_cv___attribute__constructor+y}
then :
printf %s "(cached) " >&6
else $as_nop
#
# Try to compile using the C compiler, then C++
#
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
void foo(void) __attribute__ ((__constructor__));
void foo(void) { return ; }
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
#
# In case we did succeed: Fine, but was this due to the
# attribute being ignored/skipped? Grep for IgNoRe/skip in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__constructor=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__constructor=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__constructor=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
# Only test C++ if we're building Open MPI (i.e.,
# project_ompi). OPAL and ORTE do not use C++ at all, so
# let's not add a C++ compiler into their requirement list.
if test "$opal_cv___attribute__constructor" = "1" ; then
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
extern "C" {
void foo(void) __attribute__ ((__constructor__));
void foo(void) { return ; }
}
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"
then :
opal_cv___attribute__constructor=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__constructor=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__constructor=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
fi
#
# If the attribute is supported by both compilers,
# try to recompile a *cross-check*, IFF defined.
#
if test "$opal_cv___attribute__constructor" = "1" && test "" != "" ; then
ac_c_werror_flag_safe=$ac_c_werror_flag
ac_c_werror_flag="yes"
CFLAGS_safe=$CFLAGS
CFLAGS="$CFLAGS "
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
int i=4711;
i=usage(&i);
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv___attribute__constructor=0
else $as_nop
#
# In case we did NOT succeed: Fine, but was this due to the
# attribute being ignored? Grep for IgNoRe in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__constructor=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__constructor=0
break;
fi
done
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_c_werror_flag=$ac_c_werror_flag_safe
CFLAGS=$CFLAGS_safe
fi
fi
if test "$opal_cv___attribute__constructor" = "1" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__(destructor)" >&5
printf %s "checking for __attribute__(destructor)... " >&6; }
if test ${opal_cv___attribute__destructor+y}
then :
printf %s "(cached) " >&6
else $as_nop
#
# Try to compile using the C compiler, then C++
#
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
void foo(void) __attribute__ ((__destructor__));
void foo(void) { return ; }
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
#
# In case we did succeed: Fine, but was this due to the
# attribute being ignored/skipped? Grep for IgNoRe/skip in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__destructor=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__destructor=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__destructor=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
# Only test C++ if we're building Open MPI (i.e.,
# project_ompi). OPAL and ORTE do not use C++ at all, so
# let's not add a C++ compiler into their requirement list.
if test "$opal_cv___attribute__destructor" = "1" ; then
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
extern "C" {
void foo(void) __attribute__ ((__destructor__));
void foo(void) { return ; }
}
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"
then :
opal_cv___attribute__destructor=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__destructor=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__destructor=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
fi
#
# If the attribute is supported by both compilers,
# try to recompile a *cross-check*, IFF defined.
#
if test "$opal_cv___attribute__destructor" = "1" && test "" != "" ; then
ac_c_werror_flag_safe=$ac_c_werror_flag
ac_c_werror_flag="yes"
CFLAGS_safe=$CFLAGS
CFLAGS="$CFLAGS "
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
int i=4711;
i=usage(&i);
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv___attribute__destructor=0
else $as_nop
#
# In case we did NOT succeed: Fine, but was this due to the
# attribute being ignored? Grep for IgNoRe in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__destructor=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__destructor=0
break;
fi
done
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_c_werror_flag=$ac_c_werror_flag_safe
CFLAGS=$CFLAGS_safe
fi
fi
if test "$opal_cv___attribute__destructor" = "1" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__(optnone)" >&5
printf %s "checking for __attribute__(optnone)... " >&6; }
if test ${opal_cv___attribute__optnone+y}
then :
printf %s "(cached) " >&6
else $as_nop
#
# Try to compile using the C compiler, then C++
#
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
void __attribute__ ((__optnone__)) foo(void);
void foo(void) { return ; }
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
#
# In case we did succeed: Fine, but was this due to the
# attribute being ignored/skipped? Grep for IgNoRe/skip in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__optnone=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__optnone=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__optnone=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
# Only test C++ if we're building Open MPI (i.e.,
# project_ompi). OPAL and ORTE do not use C++ at all, so
# let's not add a C++ compiler into their requirement list.
if test "$opal_cv___attribute__optnone" = "1" ; then
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
extern "C" {
void __attribute__ ((__optnone__)) foo(void);
void foo(void) { return ; }
}
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"
then :
opal_cv___attribute__optnone=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__optnone=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__optnone=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
fi
#
# If the attribute is supported by both compilers,
# try to recompile a *cross-check*, IFF defined.
#
if test "$opal_cv___attribute__optnone" = "1" && test "" != "" ; then
ac_c_werror_flag_safe=$ac_c_werror_flag
ac_c_werror_flag="yes"
CFLAGS_safe=$CFLAGS
CFLAGS="$CFLAGS "
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
int i=4711;
i=usage(&i);
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv___attribute__optnone=0
else $as_nop
#
# In case we did NOT succeed: Fine, but was this due to the
# attribute being ignored? Grep for IgNoRe in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__optnone=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__optnone=0
break;
fi
done
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_c_werror_flag=$ac_c_werror_flag_safe
CFLAGS=$CFLAGS_safe
fi
fi
if test "$opal_cv___attribute__optnone" = "1" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__(extension)" >&5
printf %s "checking for __attribute__(extension)... " >&6; }
if test ${opal_cv___attribute__extension+y}
then :
printf %s "(cached) " >&6
else $as_nop
#
# Try to compile using the C compiler, then C++
#
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int i = __extension__ 3;
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
#
# In case we did succeed: Fine, but was this due to the
# attribute being ignored/skipped? Grep for IgNoRe/skip in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__extension=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__extension=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__extension=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
# Only test C++ if we're building Open MPI (i.e.,
# project_ompi). OPAL and ORTE do not use C++ at all, so
# let's not add a C++ compiler into their requirement list.
if test "$opal_cv___attribute__extension" = "1" ; then
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
extern "C" {
int i = __extension__ 3;
}
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"
then :
opal_cv___attribute__extension=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__extension=0
break;
fi
done
fi
else $as_nop
opal_cv___attribute__extension=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
fi
#
# If the attribute is supported by both compilers,
# try to recompile a *cross-check*, IFF defined.
#
if test "$opal_cv___attribute__extension" = "1" && test "" != "" ; then
ac_c_werror_flag_safe=$ac_c_werror_flag
ac_c_werror_flag="yes"
CFLAGS_safe=$CFLAGS
CFLAGS="$CFLAGS "
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
int i=4711;
i=usage(&i);
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
opal_cv___attribute__extension=0
else $as_nop
#
# In case we did NOT succeed: Fine, but was this due to the
# attribute being ignored? Grep for IgNoRe in conftest.err
# and if found, reset the opal_cv__attribute__var=0
#
opal_cv___attribute__extension=1
if test -s conftest.err ; then
# icc uses 'invalid attribute' and 'attribute "__XXX__" ignored'
# Sun 12.1 emits 'warning: attribute parameter "__printf__" is undefined'
for i in invalid ignore skip undefined ; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv___attribute__extension=0
break;
fi
done
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_c_werror_flag=$ac_c_werror_flag_safe
CFLAGS=$CFLAGS_safe
fi
fi
if test "$opal_cv___attribute__extension" = "1" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
fi
# Now that all the values are set, define them
printf "%s\n" "#define OPAL_HAVE_ATTRIBUTE_ALIGNED $opal_cv___attribute__aligned" >>confdefs.h
printf "%s\n" "#define OPAL_HAVE_ATTRIBUTE_ALWAYS_INLINE $opal_cv___attribute__always_inline" >>confdefs.h
printf "%s\n" "#define OPAL_HAVE_ATTRIBUTE_COLD $opal_cv___attribute__cold" >>confdefs.h
printf "%s\n" "#define OPAL_HAVE_ATTRIBUTE_CONST $opal_cv___attribute__const" >>confdefs.h
printf "%s\n" "#define OPAL_HAVE_ATTRIBUTE_DEPRECATED $opal_cv___attribute__deprecated" >>confdefs.h
printf "%s\n" "#define OPAL_HAVE_ATTRIBUTE_DEPRECATED_ARGUMENT $opal_cv___attribute__deprecated_argument" >>confdefs.h
printf "%s\n" "#define OPAL_HAVE_ATTRIBUTE_FORMAT $opal_cv___attribute__format" >>confdefs.h
printf "%s\n" "#define OPAL_HAVE_ATTRIBUTE_FORMAT_FUNCPTR $opal_cv___attribute__format_funcptr" >>confdefs.h
printf "%s\n" "#define OPAL_HAVE_ATTRIBUTE_HOT $opal_cv___attribute__hot" >>confdefs.h
printf "%s\n" "#define OPAL_HAVE_ATTRIBUTE_MALLOC $opal_cv___attribute__malloc" >>confdefs.h
printf "%s\n" "#define OPAL_HAVE_ATTRIBUTE_MAY_ALIAS $opal_cv___attribute__may_alias" >>confdefs.h
printf "%s\n" "#define OPAL_HAVE_ATTRIBUTE_NO_INSTRUMENT_FUNCTION $opal_cv___attribute__no_instrument_function" >>confdefs.h
printf "%s\n" "#define OPAL_HAVE_ATTRIBUTE_NOINLINE $opal_cv___attribute__noinline" >>confdefs.h
printf "%s\n" "#define OPAL_HAVE_ATTRIBUTE_NONNULL $opal_cv___attribute__nonnull" >>confdefs.h
printf "%s\n" "#define OPAL_HAVE_ATTRIBUTE_NORETURN $opal_cv___attribute__noreturn" >>confdefs.h
printf "%s\n" "#define OPAL_HAVE_ATTRIBUTE_NORETURN_FUNCPTR $opal_cv___attribute__noreturn_funcptr" >>confdefs.h
printf "%s\n" "#define OPAL_HAVE_ATTRIBUTE_PACKED $opal_cv___attribute__packed" >>confdefs.h
printf "%s\n" "#define OPAL_HAVE_ATTRIBUTE_PURE $opal_cv___attribute__pure" >>confdefs.h
printf "%s\n" "#define OPAL_HAVE_ATTRIBUTE_SENTINEL $opal_cv___attribute__sentinel" >>confdefs.h
printf "%s\n" "#define OPAL_HAVE_ATTRIBUTE_UNUSED $opal_cv___attribute__unused" >>confdefs.h
printf "%s\n" "#define OPAL_HAVE_ATTRIBUTE_VISIBILITY $opal_cv___attribute__visibility" >>confdefs.h
printf "%s\n" "#define OPAL_HAVE_ATTRIBUTE_WARN_UNUSED_RESULT $opal_cv___attribute__warn_unused_result" >>confdefs.h
printf "%s\n" "#define OPAL_HAVE_ATTRIBUTE_WEAK_ALIAS $opal_cv___attribute__weak_alias" >>confdefs.h
printf "%s\n" "#define OPAL_HAVE_ATTRIBUTE_CONSTRUCTOR $opal_cv___attribute__constructor" >>confdefs.h
printf "%s\n" "#define OPAL_HAVE_ATTRIBUTE_DESTRUCTOR $opal_cv___attribute__destructor" >>confdefs.h
printf "%s\n" "#define OPAL_HAVE_ATTRIBUTE_OPTNONE $opal_cv___attribute__optnone" >>confdefs.h
printf "%s\n" "#define OPAL_HAVE_ATTRIBUTE_EXTENSION $opal_cv___attribute__extension" >>confdefs.h
printf "%s\n" "#define OPAL_HAVE_ATTRIBUTE_ERROR $opal_cv___attribute__error" >>confdefs.h
lower=familyid
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for compiler $lower" >&5
printf %s "checking for compiler $lower... " >&6; }
if test ${opal_cv_compiler_FAMILYID+y}
then :
printf %s "(cached) " >&6
else $as_nop
CPPFLAGS_orig=$CPPFLAGS
CPPFLAGS="-I${OPAL_TOP_SRCDIR}/opal/include $CPPFLAGS"
if test "$cross_compiling" = yes
then :
opal_cv_compiler_FAMILYID=0
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
#include
#include "opal/opal_portable_platform.h"
int
main (void)
{
FILE * f;
f=fopen("conftestval", "w");
if (!f) exit(1);
fprintf (f, "%d", PLATFORM_COMPILER_FAMILYID);
;
return 0;
}
_ACEOF
if ac_fn_c_try_run "$LINENO"
then :
opal_cv_compiler_FAMILYID=`cat conftestval`
else $as_nop
opal_cv_compiler_FAMILYID=0
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
CPPFLAGS=$CPPFLAGS_orig
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cv_compiler_FAMILYID" >&5
printf "%s\n" "$opal_cv_compiler_FAMILYID" >&6; }
printf "%s\n" "#define OPAL_BUILD_PLATFORM_COMPILER_FAMILYID $opal_cv_compiler_FAMILYID" >>confdefs.h
lower=version
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for compiler $lower" >&5
printf %s "checking for compiler $lower... " >&6; }
if test ${opal_cv_compiler_VERSION+y}
then :
printf %s "(cached) " >&6
else $as_nop
CPPFLAGS_orig=$CPPFLAGS
CPPFLAGS="-I${OPAL_TOP_SRCDIR}/opal/include $CPPFLAGS"
if test "$cross_compiling" = yes
then :
opal_cv_compiler_VERSION=0
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
#include
#include "opal/opal_portable_platform.h"
int
main (void)
{
FILE * f;
f=fopen("conftestval", "w");
if (!f) exit(1);
fprintf (f, "%d", PLATFORM_COMPILER_VERSION);
;
return 0;
}
_ACEOF
if ac_fn_c_try_run "$LINENO"
then :
opal_cv_compiler_VERSION=`cat conftestval`
else $as_nop
opal_cv_compiler_VERSION=0
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
CPPFLAGS=$CPPFLAGS_orig
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cv_compiler_VERSION" >&5
printf "%s\n" "$opal_cv_compiler_VERSION" >&6; }
printf "%s\n" "#define OPAL_BUILD_PLATFORM_COMPILER_VERSION $opal_cv_compiler_VERSION" >>confdefs.h
# Open MPI only supports GCC >=v4.8.1. Notes:
#
# 1. The default compiler that comes with RHEL 7 is v4.8.5 (version ID
# 264197).
# 2. We regularly test with GCC v4.8.1 (version ID 264193).
# 3. GCC 4.8.0 probably also works; we just haven't tested it.
#
# Since we regularly test with 4.8.1, that's what we check for.
if test "$opal_cv_compiler_FAMILYNAME" = "GNU" && \
test "$opal_cv_compiler_VERSION" -lt 264193
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI no longer supports versions of the GNU compiler suite" >&5
printf "%s\n" "$as_me: WARNING: Open MPI no longer supports versions of the GNU compiler suite" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: less than v4.8.1." >&5
printf "%s\n" "$as_me: WARNING: less than v4.8.1." >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Please upgrade your GNU compiler suite, or use" >&5
printf "%s\n" "$as_me: WARNING: Please upgrade your GNU compiler suite, or use" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: a different compiler to build Open MPI." >&5
printf "%s\n" "$as_me: WARNING: a different compiler to build Open MPI." >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
##################################
# Java MPI Binding request
##################################
# Only needed for OMPI
opal_show_subtitle "Java MPI bindings"
# Check whether --enable-mpi-java was given.
if test ${enable_mpi_java+y}
then :
enableval=$enable_mpi_java;
fi
# Find the Java compiler and whatnot.
# It knows to do very little if $enable_mpi_java!="yes".
opal_var_scope_push ${LINENO} ompi_java_happy ompi_javah_happy
ompi_java_happy=no
ompi_javah_happy=no
# Check whether --with-jdk-dir was given.
if test ${with_jdk_dir+y}
then :
withval=$with_jdk_dir;
fi
# Check whether --with-jdk-bindir was given.
if test ${with_jdk_bindir+y}
then :
withval=$with_jdk_bindir;
fi
# Check whether --with-jdk-headers was given.
if test ${with_jdk_headers+y}
then :
withval=$with_jdk_headers;
fi
# Only setup the compiler if we were requested to
if test "$enable_mpi_java" = "yes"
then :
opal_var_scope_push ${LINENO} ompi_java_bad ompi_java_found ompi_java_dir ompi_java_jnih ompi_java_PATH_save ompi_java_CPPFLAGS_save
# Check for bozo case: ensure a directory was specified
if test "$with_jdk_dir" = "yes" || test "$with_jdk_dir" = "no"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Must specify a directory name for --with-jdk-dir" >&5
printf "%s\n" "$as_me: WARNING: Must specify a directory name for --with-jdk-dir" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
if test "$with_jdk_bindir" = "yes" || test "$with_jdk_bindir" = "no"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Must specify a directory name for --with-jdk-bindir" >&5
printf "%s\n" "$as_me: WARNING: Must specify a directory name for --with-jdk-bindir" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
if test "$with_jdk_headers" = "yes" || test "$with_jdk_headers" = "no"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Must specify a directory name for --with-jdk-headers" >&5
printf "%s\n" "$as_me: WARNING: Must specify a directory name for --with-jdk-headers" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
# Check for bozo case: either specify --with-jdk-dir or
# (--with-jdk-bindir, --with-jdk-headers) -- not both.
ompi_java_bad=0
if test -n "$with_jdk_dir" && \
(test -n "$with_jdk_bindir" || test -n "$with_jdk_headers")
then :
ompi_java_bad=1
fi
if (test -z "$with_jdk_bindir" && test -n "$with_jdk_headers") || \
(test -n "$with_jdk_bindir" && test -z "$with_jdk_headers")
then :
ompi_java_bad=1
fi
if test $ompi_java_bad -eq 1
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Either specify --with-jdk-dir or both of (--with-jdk_bindir, --with-jdk-headers) -- not both." >&5
printf "%s\n" "$as_me: WARNING: Either specify --with-jdk-dir or both of (--with-jdk_bindir, --with-jdk-headers) -- not both." >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
if test -n "$with_jdk_dir"
then :
with_jdk_bindir=$with_jdk_dir/bin
with_jdk_headers=$with_jdk_dir/include
fi
##################################################################
# with_jdk_dir can now be ignored; with_jdk_bindir and
# with_jdk_headers will be either empty or have valid values.
##################################################################
# Some java installations are in obscure places. So let's
# hard-code a few of the common ones so that users don't have to
# specify --with-java-=LONG_ANNOYING_DIRECTORY.
if test -z "$with_jdk_bindir"
then :
# OS X/macOS
ompi_java_found=0
# The following logic was deliberately decided upon in
# https://github.com/open-mpi/ompi/pull/5015 specifically
# to prevent this script and the rest of Open MPI's build
# system from getting confused by the somewhat unorthodox
# Java toolchain layout present on OS X/macOS systems,
# described in depth by
# https://github.com/open-mpi/ompi/pull/5015#issuecomment-379324639,
# and mishandling OS X/macOS Java toolchain path detection
# as a result.
if test -x /usr/libexec/java_home
then :
ompi_java_dir=`/usr/libexec/java_home`
else $as_nop
ompi_java_dir=/System/Library/Frameworks/JavaVM.framework/Versions/Current
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Java in OS X/macOS locations" >&5
printf %s "checking for Java in OS X/macOS locations... " >&6; }
if test -d $ompi_java_dir
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found ($ompi_java_dir)" >&5
printf "%s\n" "found ($ompi_java_dir)" >&6; }
ompi_java_found=1
if test -d "$ompi_java_dir/Headers" && test -d "$ompi_java_dir/Commands"; then
with_jdk_headers=$ompi_java_dir/Headers
with_jdk_bindir=$ompi_java_dir/Commands
elif test -d "$ompi_java_dir/include" && test -d "$ompi_java_dir/bin"; then
with_jdk_headers=$ompi_java_dir/include
with_jdk_bindir=$ompi_java_dir/bin
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: No recognized OS X/macOS JDK directory structure found under $ompi_java_dir" >&5
printf "%s\n" "$as_me: WARNING: No recognized OS X/macOS JDK directory structure found under $ompi_java_dir" >&2;}
ompi_java_found=0
fi
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5
printf "%s\n" "not found" >&6; }
fi
if test "$ompi_java_found" = "0"; then
# Various Linux
if test -z "$JAVA_HOME"; then
ompi_java_dir='/usr/lib/jvm/java-*-openjdk-*/include/'
else
ompi_java_dir=$JAVA_HOME/include
fi
ompi_java_jnih=`ls $ompi_java_dir/jni.h 2>/dev/null | head -n 1`
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Java in Linux locations" >&5
printf %s "checking for Java in Linux locations... " >&6; }
if test -r "$ompi_java_jnih"
then :
with_jdk_headers=`dirname $ompi_java_jnih`
# 1 is the variable name to do "which" on
# 2 is the variable name to assign the return value to
opal_var_scope_push ${LINENO} opal_prog opal_file opal_dir opal_sentinel
opal_prog=javac
# There are 3 cases:
# 1. opal_prog is an absolute filename. If that absolute filename
# exists and is executable, return with_jdk_bindir with that name. Otherwise,
# with_jdk_bindir is unchanged.
# 2. opal_prog is a relative filename (i.e., it contains one or
# more /, but does not begin with a /). If that file exists
# relative to where we are right now in the filesystem and is
# executable, return the absolute path of that value in with_jdk_bindir.
# Otherwise, with_jdk_bindir is unchanged.
# 3. opal_prog contains no /. Search the PATH for an executable
# with the appropriate name. If found, return the absolute path
# in with_jdk_bindir. Otherwise, with_jdk_bindir is unchanged.
# Note that these three cases are exactly what which(1) does.
# Note the double square brackets around the case expressions for
# m4 escaping.
case $opal_prog in
[\\/]* | ?:[\\/]* )
# Case 1: absolute
if test -x "$opal_prog"
then :
with_jdk_bindir=$opal_prog
fi
;;
*[\\/]*)
# Case 2: relative with 1 or more /
if test -x "$opal_prog"
then :
with_jdk_bindir="$cwd/$opal_prog"
fi
;;
*)
# Case 3: no / at all
IFS_SAVE=$IFS
IFS=$PATH_SEPARATOR
for opal_dir in $PATH; do
if test -x "$opal_dir/$opal_prog"
then :
with_jdk_bindir="$opal_dir/$opal_prog"
fi
done
IFS=$IFS_SAVE
;;
esac
opal_var_scope_pop opal_prog opal_file opal_dir opal_sentinel
if test -n "$with_jdk_bindir"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found ($with_jdk_headers)" >&5
printf "%s\n" "found ($with_jdk_headers)" >&6; }
ompi_java_found=1
with_jdk_bindir=`dirname $with_jdk_bindir`
else $as_nop
with_jdk_headers=
fi
else $as_nop
ompi_java_dir='/usr/lib/jvm/default-java/include/'
ompi_java_jnih=`ls $ompi_java_dir/jni.h 2>/dev/null | head -n 1`
if test -r "$ompi_java_jnih"
then :
with_jdk_headers=`dirname $ompi_java_jnih`
# 1 is the variable name to do "which" on
# 2 is the variable name to assign the return value to
opal_var_scope_push ${LINENO} opal_prog opal_file opal_dir opal_sentinel
opal_prog=javac
# There are 3 cases:
# 1. opal_prog is an absolute filename. If that absolute filename
# exists and is executable, return with_jdk_bindir with that name. Otherwise,
# with_jdk_bindir is unchanged.
# 2. opal_prog is a relative filename (i.e., it contains one or
# more /, but does not begin with a /). If that file exists
# relative to where we are right now in the filesystem and is
# executable, return the absolute path of that value in with_jdk_bindir.
# Otherwise, with_jdk_bindir is unchanged.
# 3. opal_prog contains no /. Search the PATH for an executable
# with the appropriate name. If found, return the absolute path
# in with_jdk_bindir. Otherwise, with_jdk_bindir is unchanged.
# Note that these three cases are exactly what which(1) does.
# Note the double square brackets around the case expressions for
# m4 escaping.
case $opal_prog in
[\\/]* | ?:[\\/]* )
# Case 1: absolute
if test -x "$opal_prog"
then :
with_jdk_bindir=$opal_prog
fi
;;
*[\\/]*)
# Case 2: relative with 1 or more /
if test -x "$opal_prog"
then :
with_jdk_bindir="$cwd/$opal_prog"
fi
;;
*)
# Case 3: no / at all
IFS_SAVE=$IFS
IFS=$PATH_SEPARATOR
for opal_dir in $PATH; do
if test -x "$opal_dir/$opal_prog"
then :
with_jdk_bindir="$opal_dir/$opal_prog"
fi
done
IFS=$IFS_SAVE
;;
esac
opal_var_scope_pop opal_prog opal_file opal_dir opal_sentinel
if test -n "$with_jdk_bindir"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found ($with_jdk_headers)" >&5
printf "%s\n" "found ($with_jdk_headers)" >&6; }
ompi_java_found=1
with_jdk_bindir=`dirname $with_jdk_bindir`
else $as_nop
with_jdk_headers=
fi
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5
printf "%s\n" "not found" >&6; }
fi
fi
fi
if test "$ompi_java_found" = "0"; then
# Solaris
ompi_java_dir=/usr/java
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Java in Solaris locations" >&5
printf %s "checking for Java in Solaris locations... " >&6; }
if test -d $ompi_java_dir && test -r "$ompi_java_dir/include/jni.h"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found ($ompi_java_dir)" >&5
printf "%s\n" "found ($ompi_java_dir)" >&6; }
with_jdk_headers=$ompi_java_dir/include
with_jdk_bindir=$ompi_java_dir/bin
ompi_java_found=1
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5
printf "%s\n" "not found" >&6; }
fi
fi
else $as_nop
ompi_java_found=1
fi
if test "$ompi_java_found" = "1"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking --with-jdk-bindir value" >&5
printf %s "checking --with-jdk-bindir value... " >&6; }
if test "$with_jdk_bindir" = "no"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: simple no (specified --without-jdk-bindir)" >&5
printf "%s\n" "simple no (specified --without-jdk-bindir)" >&6; }
else $as_nop
if test "$with_jdk_bindir" = "yes" || test "x$with_jdk_bindir" = "x"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: simple ok (unspecified value)" >&5
printf "%s\n" "simple ok (unspecified value)" >&6; }
else $as_nop
if test ! -d "$with_jdk_bindir"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5
printf "%s\n" "not found" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Directory $with_jdk_bindir not found" >&5
printf "%s\n" "$as_me: WARNING: Directory $with_jdk_bindir not found" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
else $as_nop
if test "x`ls $with_jdk_bindir/javac 2> /dev/null`" = "x"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5
printf "%s\n" "not found" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Expected file $with_jdk_bindir/javac not found" >&5
printf "%s\n" "$as_me: WARNING: Expected file $with_jdk_bindir/javac not found" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: sanity check ok ($with_jdk_bindir)" >&5
printf "%s\n" "sanity check ok ($with_jdk_bindir)" >&6; }
fi
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking --with-jdk-headers value" >&5
printf %s "checking --with-jdk-headers value... " >&6; }
if test "$with_jdk_headers" = "no"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: simple no (specified --without-jdk-headers)" >&5
printf "%s\n" "simple no (specified --without-jdk-headers)" >&6; }
else $as_nop
if test "$with_jdk_headers" = "yes" || test "x$with_jdk_headers" = "x"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: simple ok (unspecified value)" >&5
printf "%s\n" "simple ok (unspecified value)" >&6; }
else $as_nop
if test ! -d "$with_jdk_headers"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5
printf "%s\n" "not found" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Directory $with_jdk_headers not found" >&5
printf "%s\n" "$as_me: WARNING: Directory $with_jdk_headers not found" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
else $as_nop
if test "x`ls $with_jdk_headers/jni.h 2> /dev/null`" = "x"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5
printf "%s\n" "not found" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Expected file $with_jdk_headers/jni.h not found" >&5
printf "%s\n" "$as_me: WARNING: Expected file $with_jdk_headers/jni.h not found" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: sanity check ok ($with_jdk_headers)" >&5
printf "%s\n" "sanity check ok ($with_jdk_headers)" >&6; }
fi
fi
fi
fi
# Look for various Java-related programs
ompi_java_happy=no
ompi_java_PATH_save=$PATH
if test -n "$with_jdk_bindir" && test "$with_jdk_bindir" != "yes" && test "$with_jdk_bindir" != "no"
then :
PATH="$with_jdk_bindir:$PATH"
fi
# Extract the first word of "javac", so it can be a program name with args.
set dummy javac; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_path_JAVAC+y}
then :
printf %s "(cached) " >&6
else $as_nop
case $JAVAC in
[\\/]* | ?:[\\/]*)
ac_cv_path_JAVAC="$JAVAC" # Let the user override the test with a path.
;;
*)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_path_JAVAC="$as_dir$ac_word$ac_exec_ext"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
;;
esac
fi
JAVAC=$ac_cv_path_JAVAC
if test -n "$JAVAC"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $JAVAC" >&5
printf "%s\n" "$JAVAC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
# Extract the first word of "jar", so it can be a program name with args.
set dummy jar; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_path_JAR+y}
then :
printf %s "(cached) " >&6
else $as_nop
case $JAR in
[\\/]* | ?:[\\/]*)
ac_cv_path_JAR="$JAR" # Let the user override the test with a path.
;;
*)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_path_JAR="$as_dir$ac_word$ac_exec_ext"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
;;
esac
fi
JAR=$ac_cv_path_JAR
if test -n "$JAR"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $JAR" >&5
printf "%s\n" "$JAR" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
# Extract the first word of "javadoc", so it can be a program name with args.
set dummy javadoc; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_path_JAVADOC+y}
then :
printf %s "(cached) " >&6
else $as_nop
case $JAVADOC in
[\\/]* | ?:[\\/]*)
ac_cv_path_JAVADOC="$JAVADOC" # Let the user override the test with a path.
;;
*)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_path_JAVADOC="$as_dir$ac_word$ac_exec_ext"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
;;
esac
fi
JAVADOC=$ac_cv_path_JAVADOC
if test -n "$JAVADOC"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $JAVADOC" >&5
printf "%s\n" "$JAVADOC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
# Extract the first word of "javah", so it can be a program name with args.
set dummy javah; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_path_JAVAH+y}
then :
printf %s "(cached) " >&6
else $as_nop
case $JAVAH in
[\\/]* | ?:[\\/]*)
ac_cv_path_JAVAH="$JAVAH" # Let the user override the test with a path.
;;
*)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_path_JAVAH="$as_dir$ac_word$ac_exec_ext"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
;;
esac
fi
JAVAH=$ac_cv_path_JAVAH
if test -n "$JAVAH"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $JAVAH" >&5
printf "%s\n" "$JAVAH" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
PATH=$ompi_java_PATH_save
# Check to see if we have all 3 programs.
if test -z "$JAVAC" || test -z "$JAR" || test -z "$JAVADOC"
then :
ompi_java_happy=no
else $as_nop
ompi_java_happy=yes
fi
# Look for jni.h
if test "$ompi_java_happy" = "yes"
then :
ompi_java_CPPFLAGS_save=$CPPFLAGS
# silence a stupid Mac warning
CPPFLAGS="$CPPFLAGS -DTARGET_RT_MAC_CFM=0"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking javac -h" >&5
printf %s "checking javac -h... " >&6; }
cat > Conftest.java << EOF
public final class Conftest {
public native void conftest();
}
EOF
if $JAVAC -d . -h . Conftest.java > /dev/null 2>&1
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
if test -n "$JAVAH"
then :
ompi_javah_happy=yes
else $as_nop
ompi_java_happy=no
fi
fi
rm -f Conftest.java Conftest.class Conftest.h
if test -n "$with_jdk_headers" && test "$with_jdk_headers" != "yes" && test "$with_jdk_headers" != "no"
then :
OMPI_JDK_CPPFLAGS="-I$with_jdk_headers"
# Some flavors of JDK also require -I/linux.
# See if that's there, and if so, add a -I for that,
# too. Ugh.
if test -d "$with_jdk_headers/linux"
then :
OMPI_JDK_CPPFLAGS="$OMPI_JDK_CPPFLAGS -I$with_jdk_headers/linux"
fi
# Solaris JDK also require -I/solaris.
# See if that's there, and if so, add a -I for that,
# too. Ugh.
if test -d "$with_jdk_headers/solaris"
then :
OMPI_JDK_CPPFLAGS="$OMPI_JDK_CPPFLAGS -I$with_jdk_headers/solaris"
fi
# Darwin JDK also require -I/darwin.
# See if that's there, and if so, add a -I for that,
# too. Ugh.
if test -d "$with_jdk_headers/darwin"
then :
OMPI_JDK_CPPFLAGS="$OMPI_JDK_CPPFLAGS -I$with_jdk_headers/darwin"
fi
CPPFLAGS="$CPPFLAGS $OMPI_JDK_CPPFLAGS"
fi
ac_fn_c_check_header_compile "$LINENO" "jni.h" "ac_cv_header_jni_h" "$ac_includes_default"
if test "x$ac_cv_header_jni_h" = xyes
then :
else $as_nop
ompi_java_happy=no
fi
CPPFLAGS=$ompi_java_CPPFLAGS_save
fi
else
ompi_java_happy=no
fi
# Are we happy?
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Java support available" >&5
printf %s "checking if Java support available... " >&6; }
if test "$ompi_java_happy" = "yes"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Java support requested but not found." >&5
printf "%s\n" "$as_me: WARNING: Java support requested but not found." >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
opal_var_scope_pop ompi_java_bad ompi_java_found ompi_java_dir ompi_java_jnih ompi_java_PATH_save ompi_java_CPPFLAGS_save
fi
if test "$ompi_javah_happy" = "yes"; then
OMPI_HAVE_JAVAH_SUPPORT_TRUE=
OMPI_HAVE_JAVAH_SUPPORT_FALSE='#'
else
OMPI_HAVE_JAVAH_SUPPORT_TRUE='#'
OMPI_HAVE_JAVAH_SUPPORT_FALSE=
fi
opal_var_scope_pop ompi_java_happy ompi_javah_happy
# Only build the Java bindings if requested
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want Java bindings" >&5
printf %s "checking if want Java bindings... " >&6; }
if test "$enable_mpi_java" = "yes"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
WANT_MPI_JAVA_BINDINGS=1
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if shared libraries are enabled" >&5
printf %s "checking if shared libraries are enabled... " >&6; }
if test "$enable_shared" != "yes"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Java bindings cannot be built without shared libraries" >&5
printf "%s\n" "$as_me: WARNING: Java bindings cannot be built without shared libraries" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Please reconfigure with --enable-shared" >&5
printf "%s\n" "$as_me: WARNING: Please reconfigure with --enable-shared" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
fi
# Mac Java requires this file (i.e., some other Java-related
# header file needs this file, so we need to check for
# it/include it in our sources when compiling on Mac).
ac_fn_c_check_header_compile "$LINENO" "TargetConditionals.h" "ac_cv_header_TargetConditionals_h" "$ac_includes_default"
if test "x$ac_cv_header_TargetConditionals_h" = xyes
then :
printf "%s\n" "#define HAVE_TARGETCONDITIONALS_H 1" >>confdefs.h
fi
# dladdr and Dl_info are required to build the full path to
# libmpi on OS X 10.11 (a.k.a. El Capitan)
ac_fn_c_check_type "$LINENO" "Dl_info" "ac_cv_type_Dl_info" "#include
"
if test "x$ac_cv_type_Dl_info" = xyes
then :
printf "%s\n" "#define HAVE_DL_INFO 1" >>confdefs.h
fi
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
WANT_MPI_JAVA_BINDINGS=0
fi
printf "%s\n" "#define OMPI_WANT_JAVA_BINDINGS $WANT_MPI_JAVA_BINDINGS" >>confdefs.h
if test "$WANT_MPI_JAVA_BINDINGS" = "1"; then
OMPI_WANT_JAVA_BINDINGS_TRUE=
OMPI_WANT_JAVA_BINDINGS_FALSE='#'
else
OMPI_WANT_JAVA_BINDINGS_TRUE='#'
OMPI_WANT_JAVA_BINDINGS_FALSE=
fi
# Are we happy?
if test $WANT_MPI_JAVA_BINDINGS -eq 1
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ******************************************************" >&5
printf "%s\n" "$as_me: WARNING: ******************************************************" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Java MPI bindings are provided on a provisional" >&5
printf "%s\n" "$as_me: WARNING: *** Java MPI bindings are provided on a provisional" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** basis. They are NOT part of the current or" >&5
printf "%s\n" "$as_me: WARNING: *** basis. They are NOT part of the current or" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** proposed MPI standard. Continued inclusion of" >&5
printf "%s\n" "$as_me: WARNING: *** proposed MPI standard. Continued inclusion of" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** the Java MPI bindings in Open MPI is contingent" >&5
printf "%s\n" "$as_me: WARNING: *** the Java MPI bindings in Open MPI is contingent" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** upon user interest and developer support." >&5
printf "%s\n" "$as_me: WARNING: *** upon user interest and developer support." >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ******************************************************" >&5
printf "%s\n" "$as_me: WARNING: ******************************************************" >&2;}
fi
ac_config_files="$ac_config_files ompi/mpi/java/Makefile ompi/mpi/java/java/Makefile ompi/mpi/java/c/Makefile"
##################################
# MPI / OpenSHMEM API profiling layer
##################################
# Setup profiling bindings (if we're building the relevant projects).
# There are 2 layers to the MPI Language binidings One layer
# generates MPI_* bindings. The other layer generates PMPI_*
# bindings. The following conditions determine whether each (or
# both) these layers are built.
# 1. MPI_* bindings are needed if:
# - Profiling is not required
# - Profiling is required but weak symbols are not
# supported
# 2. PMPI_* bindings are needed if profiling is required. Hence we
# define 2 conditionals which tell us whether each of these layers
# need to be built or NOT
#
if test "$OMPI_PROFILING_COMPILE_SEPARATELY" = 1; then
BUILD_MPI_BINDINGS_LAYER_TRUE=
BUILD_MPI_BINDINGS_LAYER_FALSE='#'
else
BUILD_MPI_BINDINGS_LAYER_TRUE='#'
BUILD_MPI_BINDINGS_LAYER_FALSE=
fi
if test "$OMPI_PROFILING_COMPILE_SEPARATELY" = 1; then
COMPILE_PROFILING_SEPARATELY_TRUE=
COMPILE_PROFILING_SEPARATELY_FALSE='#'
else
COMPILE_PROFILING_SEPARATELY_TRUE='#'
COMPILE_PROFILING_SEPARATELY_FALSE=
fi
printf "%s\n" "#define OPAL_HAVE_WEAK_SYMBOLS $OPAL_C_HAVE_WEAK_SYMBOLS" >>confdefs.h
opal_show_subtitle "OpenSHMEM profiling"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if pshmem will be enabled" >&5
printf %s "checking if pshmem will be enabled... " >&6; }
if test "$enable_oshmem" != "no" && \
test "$enable_oshmem_profile" != "no"
then :
if test "$OPAL_C_HAVE_WEAK_SYMBOLS" -eq 1 && \
test "$OPAL_C_HAVE_MACRO_WEAK_SYMBOLS" -eq 1
then :
# We want OSHMEM and we have all the required weak
# symbol support
oshmem_profiling_support=1
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes (weak symbols supported)" >&5
printf "%s\n" "yes (weak symbols supported)" >&6; }
else $as_nop
# We want OSHMEM, but we do NOT have all the
# required weak symbol support
oshmem_profiling_support=0
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no (weak symbols not supported)" >&5
printf "%s\n" "no (weak symbols not supported)" >&6; }
if test "$OPAL_C_HAVE_WEAK_SYMBOLS" -eq 0
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Weak symbols not supported by compiler" >&5
printf "%s\n" "$as_me: WARNING: Weak symbols not supported by compiler" >&2;}
fi
if test "$OPAL_C_HAVE_MACRO_WEAK_SYMBOLS" -eq 0
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Macro weak symbols not supported by compiler" >&5
printf "%s\n" "$as_me: WARNING: Macro weak symbols not supported by compiler" >&2;}
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: OpenSHMEM profiling is disabled." >&5
printf "%s\n" "$as_me: WARNING: OpenSHMEM profiling is disabled." >&2;}
if test "$enable_oshmem_profile" = "yes" && \
test "$oshmem_profiling_support" -eq 0
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: OpenSHMEM profiling requested but cannot be enabled" >&5
printf "%s\n" "$as_me: WARNING: OpenSHMEM profiling requested but cannot be enabled" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
fi
else $as_nop
# We do not want OSHMEM, so disable profiling
oshmem_profiling_support=0
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no (OpenSHMEM disabled)" >&5
printf "%s\n" "no (OpenSHMEM disabled)" >&6; }
fi
if test $oshmem_profiling_support -eq 1; then
OSHMEM_PROFILING_TRUE=
OSHMEM_PROFILING_FALSE='#'
else
OSHMEM_PROFILING_TRUE='#'
OSHMEM_PROFILING_FALSE=
fi
##################################
# Assembler Configuration
##################################
opal_show_subtitle "Assembler"
# By default we simply use the C compiler to build assembly code.
test "${CCAS+set}" = set || CCAS=$CC
test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
depcc="$CCAS" am_compiler_list=
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
printf %s "checking dependency style of $depcc... " >&6; }
if test ${am_cv_CCAS_dependencies_compiler_type+y}
then :
printf %s "(cached) " >&6
else $as_nop
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
mkdir conftest.dir
# Copy depcomp to subdir because otherwise we won't find it if we're
# using a relative directory.
cp "$am_depcomp" conftest.dir
cd conftest.dir
# We will build objects and dependencies in a subdirectory because
# it helps to detect inapplicable dependency modes. For instance
# both Tru64's cc and ICC support -MD to output dependencies as a
# side effect of compilation, but ICC will put the dependencies in
# the current directory while Tru64 will put them in the object
# directory.
mkdir sub
am_cv_CCAS_dependencies_compiler_type=none
if test "$am_compiler_list" = ""; then
am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
fi
am__universal=false
for depmode in $am_compiler_list; do
# Setup a source with many dependencies, because some compilers
# like to wrap large dependency lists on column 80 (with \), and
# we should not choose a depcomp mode which is confused by this.
#
# We need to recreate these files for each test, as the compiler may
# overwrite some of them when testing with obscure command lines.
# This happens at least with the AIX C compiler.
: > 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
done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
# 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.
am__obj=sub/conftest.${OBJEXT-o}
am__minus_obj="-o $am__obj"
case $depmode in
gcc)
# This depmode causes a compiler race in universal mode.
test "$am__universal" = false || continue
;;
nosideeffect)
# 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
# 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}
am__minus_obj=
;;
none) break ;;
esac
if depmode=$depmode \
source=sub/conftest.c object=$am__obj \
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
$SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
>/dev/null 2>conftest.err &&
grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
# icc doesn't choke on unknown options, it will just issue warnings
# or remarks (even with -Werror). So we grep stderr for any message
# that says an option was ignored or not supported.
# When given -MP, icc 7.0 and 7.1 complain thusly:
# icc: Command line warning: ignoring option '-M'; no argument required
# The diagnosis changed in icc 8.0:
# icc: Command line remark: option '-MP' not supported
if (grep 'ignoring option' conftest.err ||
grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
am_cv_CCAS_dependencies_compiler_type=$depmode
break
fi
fi
done
cd ..
rm -rf conftest.dir
else
am_cv_CCAS_dependencies_compiler_type=none
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CCAS_dependencies_compiler_type" >&5
printf "%s\n" "$am_cv_CCAS_dependencies_compiler_type" >&6; }
CCASDEPMODE=depmode=$am_cv_CCAS_dependencies_compiler_type
if
test "x$enable_dependency_tracking" != xno \
&& test "$am_cv_CCAS_dependencies_compiler_type" = gcc3; then
am__fastdepCCAS_TRUE=
am__fastdepCCAS_FALSE='#'
else
am__fastdepCCAS_TRUE='#'
am__fastdepCCAS_FALSE=
fi
opal_var_scope_push ${LINENO} atomics_found want_c11_atomics want_gcc_builtin_atomics want_asm_atomics
# only assembly style we support today is gcc-style inline
# assembly, find out if it works. We need this even for C11/GCC
# builtin atomics cases, because we use inline assembly for
# timers, LLSC, and 16 byte compare and swap routines.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports GCC inline assembly" >&5
printf %s "checking if $CC supports GCC inline assembly... " >&6; }
if test ${opal_cv_asm_gcc_inline_assembly+y}
then :
printf %s "(cached) " >&6
else $as_nop
opal_var_scope_push ${LINENO} asm_result opal_gcc_inline_assign OPAL_C_GCC_INLINE_ASSEMBLY
asm_result="unknown"
opal_gcc_inline_assign=""
case "${host}" in
x86_64-*x32|i?86-*|x86_64*|amd64*)
opal_gcc_inline_assign='"xaddl %1,%0" : "=m"(ret), "+r"(negone) : "m"(ret)'
;;
aarch64*)
opal_gcc_inline_assign='"mov %0, #0" : "=&r"(ret)'
;;
powerpc-*|powerpc64-*|powerpcle-*|powerpc64le-*|rs6000-*|ppc-*)
opal_gcc_inline_assign='"1: li %0,0" : "=&r"(ret)'
;;
esac
if test "$opal_gcc_inline_assign" != ""
then :
if test "$cross_compiling" = yes
then :
asm_result="unknown"
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_includes_default
int
main (void)
{
int ret = 1;
int negone = -1;
__asm__ __volatile__ ($opal_gcc_inline_assign);
return ret;
;
return 0;
}
_ACEOF
if ac_fn_c_try_run "$LINENO"
then :
asm_result="yes"
else $as_nop
asm_result="no"
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
else $as_nop
asm_result="no - architecture not supported"
fi
# if we're cross compiling, just try to compile and figure good enough
if test "$asm_result" = "unknown"
then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_includes_default
int
main (void)
{
int ret = 1;
int negone = -1;
__asm__ __volatile__ ($opal_gcc_inline_assign);
return ret;
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
asm_result="yes"
else $as_nop
asm_result="no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
fi
opal_cv_asm_gcc_inline_assembly="$asm_result"
opal_var_scope_pop asm_result opal_gcc_inline_assign OPAL_C_GCC_INLINE_ASSEMBLY
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cv_asm_gcc_inline_assembly" >&5
printf "%s\n" "$opal_cv_asm_gcc_inline_assembly" >&6; }
if test "$opal_cv_asm_gcc_inline_assembly" = "yes"
then :
OPAL_C_GCC_INLINE_ASSEMBLY=1
gcc_inline=1
else $as_nop
OPAL_C_GCC_INLINE_ASSEMBLY=0
gcc_inline=0
fi
printf "%s\n" "#define OPAL_C_GCC_INLINE_ASSEMBLY $OPAL_C_GCC_INLINE_ASSEMBLY" >>confdefs.h
atomics_found=no
want_c11_atomics=0
want_gcc_builtin_atomics=0
want_asm_atomics=0
# Check whether --enable-c11-atomics was given.
if test ${enable_c11_atomics+y}
then :
enableval=$enable_c11_atomics;
fi
# Check whether --enable-builtin-atomics was given.
if test ${enable_builtin_atomics+y}
then :
enableval=$enable_builtin_atomics;
fi
# Check whether --enable-builtin-atomics-for-ppc was given.
if test ${enable_builtin_atomics_for_ppc+y}
then :
enableval=$enable_builtin_atomics_for_ppc;
fi
# See the following github PR and some performance numbers/discussion:
# https://github.com/open-mpi/ompi/pull/8649
#
# This logic is a bit convoluted, but matches existing logic in v4.x.
case "${host}" in
powerpc-*|powerpc64-*|powerpcle-*|powerpc64le-*|rs6000-*|ppc-*)
if test "$ac_cv_sizeof_long" = "8" -a "$enable_builtin_atomics_for_ppc" != "yes"
then :
if test "$enable_c11_atomics" != "no" -a "$enable_builtin_atomics" != "no"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: Disabling built-in and C11 atomics due to known performance issues on Powerpc" >&5
printf "%s\n" "$as_me: Disabling built-in and C11 atomics due to known performance issues on Powerpc" >&6;}
fi
if test "$enable_c11_atomics" = "yes" -o "$enable_builtin_atomics" = "yes"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring --enable-c11-atomics and --enable-builtin-atomics options on POWER. Set
--enable-builtin-atomics-for-ppc to re-enable." >&5
printf "%s\n" "$as_me: WARNING: Ignoring --enable-c11-atomics and --enable-builtin-atomics options on POWER. Set
--enable-builtin-atomics-for-ppc to re-enable." >&2;}
fi
enable_c11_atomics="no"
enable_builtin_atomics="no"
fi
;;
esac
# Option 1 for atomics: GCC-style Builtin
#
# We prefer builtin atomics over C11 atomics because our use of C11 atomics
# at this point is broken as it either incurs undue overheads or
# requires casts to _Atomic where there should be no casts.
if test "$atomics_found" = "no" -a "$enable_builtin_atomics" != "no"
then :
if test -z "$opal_cv_have___atomic" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for 32-bit GCC built-in atomics" >&5
printf %s "checking for 32-bit GCC built-in atomics... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
uint32_t tmp, old = 0;
uint64_t tmp64, old64 = 0;
int
main (void)
{
__atomic_thread_fence(__ATOMIC_SEQ_CST);
__atomic_compare_exchange_n(&tmp, &old, 1, 0, __ATOMIC_RELAXED, __ATOMIC_RELAXED);
__atomic_add_fetch(&tmp, 1, __ATOMIC_RELAXED);
__atomic_compare_exchange_n(&tmp64, &old64, 1, 0, __ATOMIC_RELAXED, __ATOMIC_RELAXED);
__atomic_add_fetch(&tmp64, 1, __ATOMIC_RELAXED);
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_cv_have___atomic=yes
else $as_nop
opal_cv_have___atomic=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cv_have___atomic" >&5
printf "%s\n" "$opal_cv_have___atomic" >&6; }
if test $opal_cv_have___atomic = "yes" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for 64-bit GCC built-in atomics" >&5
printf %s "checking for 64-bit GCC built-in atomics... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
uint64_t tmp64, old64 = 0;
int
main (void)
{
__atomic_compare_exchange_n(&tmp64, &old64, 1, 0, __ATOMIC_RELAXED, __ATOMIC_RELAXED);
__atomic_add_fetch(&tmp64, 1, __ATOMIC_RELAXED);
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_cv_have___atomic_64=yes
else $as_nop
opal_cv_have___atomic_64=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cv_have___atomic_64" >&5
printf "%s\n" "$opal_cv_have___atomic_64" >&6; }
if test $opal_cv_have___atomic_64 = "yes" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if 64-bit GCC built-in atomics are lock-free" >&5
printf %s "checking if 64-bit GCC built-in atomics are lock-free... " >&6; }
if test "$cross_compiling" = yes
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cannot test -- assume yes (cross compiling)" >&5
printf "%s\n" "cannot test -- assume yes (cross compiling)" >&6; }
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
if (!__atomic_is_lock_free (8, 0)) { return 1; }
;
return 0;
}
_ACEOF
if ac_fn_c_try_run "$LINENO"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
opal_cv_have___atomic_64=no
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
fi
else
opal_cv_have___atomic_64=no
fi
# Check for 128-bit support
opal_var_scope_push ${LINENO} atomic_compare_exchange_n_128_result atomic_compare_exchange_n_128_CFLAGS_save atomic_compare_exchange_n_128_LIBS_save
atomic_compare_exchange_n_128_CFLAGS_save=$CFLAGS
atomic_compare_exchange_n_128_LIBS_save=$LIBS
# Do we have __sync_bool_compare_and_swap?
# Use a special macro because we need to check with a few different
# CFLAGS/LIBS.
opal_var_scope_push ${LINENO} opal_asm_check_func_happy opal_asm_check_func_CFLAGS_save opal_asm_check_func_LIBS_save
opal_asm_check_func_CFLAGS_save=$CFLAGS
opal_asm_check_func_LIBS_save=$LIBS
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __atomic_compare_exchange_n" >&5
printf %s "checking for __atomic_compare_exchange_n... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
#include
#include
typedef union {
uint64_t fake[2];
__int128 real;
} ompi128;
static void test1(void)
{
// As of Aug 2018, we could not figure out a way to assign 128-bit
// constants -- the compilers would not accept it. So use a fake
// union to assign 2 uin64_t's to make a single __int128.
ompi128 ptr = { .fake = { 0xFFEEDDCCBBAA0099, 0x8877665544332211 }};
ompi128 expected = { .fake = { 0x11EEDDCCBBAA0099, 0x88776655443322FF }};
ompi128 desired = { .fake = { 0x1122DDCCBBAA0099, 0x887766554433EEFF }};
bool r = __atomic_compare_exchange_n(&ptr.real, &expected.real,
desired.real, true,
__ATOMIC_RELAXED, __ATOMIC_RELAXED);
if ( !(r == false && ptr.real == expected.real)) {
exit(1);
}
}
static void test2(void)
{
ompi128 ptr = { .fake = { 0xFFEEDDCCBBAA0099, 0x8877665544332211 }};
ompi128 expected = ptr;
ompi128 desired = { .fake = { 0x1122DDCCBBAA0099, 0x887766554433EEFF }};
bool r = __atomic_compare_exchange_n(&ptr.real, &expected.real,
desired.real, true,
__ATOMIC_RELAXED, __ATOMIC_RELAXED);
if (!(r == true && ptr.real == desired.real)) {
exit(2);
}
}
int main(int argc, char** argv)
{
test1();
test2();
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_asm_check_func_happy=1
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else $as_nop
opal_asm_check_func_happy=0
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
if test $opal_asm_check_func_happy -eq 0
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __atomic_compare_exchange_n with -mcx16" >&5
printf %s "checking for __atomic_compare_exchange_n with -mcx16... " >&6; }
CFLAGS="$CFLAGS -mcx16"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
#include
#include
typedef union {
uint64_t fake[2];
__int128 real;
} ompi128;
static void test1(void)
{
// As of Aug 2018, we could not figure out a way to assign 128-bit
// constants -- the compilers would not accept it. So use a fake
// union to assign 2 uin64_t's to make a single __int128.
ompi128 ptr = { .fake = { 0xFFEEDDCCBBAA0099, 0x8877665544332211 }};
ompi128 expected = { .fake = { 0x11EEDDCCBBAA0099, 0x88776655443322FF }};
ompi128 desired = { .fake = { 0x1122DDCCBBAA0099, 0x887766554433EEFF }};
bool r = __atomic_compare_exchange_n(&ptr.real, &expected.real,
desired.real, true,
__ATOMIC_RELAXED, __ATOMIC_RELAXED);
if ( !(r == false && ptr.real == expected.real)) {
exit(1);
}
}
static void test2(void)
{
ompi128 ptr = { .fake = { 0xFFEEDDCCBBAA0099, 0x8877665544332211 }};
ompi128 expected = ptr;
ompi128 desired = { .fake = { 0x1122DDCCBBAA0099, 0x887766554433EEFF }};
bool r = __atomic_compare_exchange_n(&ptr.real, &expected.real,
desired.real, true,
__ATOMIC_RELAXED, __ATOMIC_RELAXED);
if (!(r == true && ptr.real == desired.real)) {
exit(2);
}
}
int main(int argc, char** argv)
{
test1();
test2();
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_asm_check_func_happy=1
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else $as_nop
opal_asm_check_func_happy=0
CFLAGS=$opal_asm_check_func_CFLAGS_save
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
fi
if test $opal_asm_check_func_happy -eq 0
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __atomic_compare_exchange_n with -latomic" >&5
printf %s "checking for __atomic_compare_exchange_n with -latomic... " >&6; }
LIBS="$LIBS -latomic"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
#include
#include
typedef union {
uint64_t fake[2];
__int128 real;
} ompi128;
static void test1(void)
{
// As of Aug 2018, we could not figure out a way to assign 128-bit
// constants -- the compilers would not accept it. So use a fake
// union to assign 2 uin64_t's to make a single __int128.
ompi128 ptr = { .fake = { 0xFFEEDDCCBBAA0099, 0x8877665544332211 }};
ompi128 expected = { .fake = { 0x11EEDDCCBBAA0099, 0x88776655443322FF }};
ompi128 desired = { .fake = { 0x1122DDCCBBAA0099, 0x887766554433EEFF }};
bool r = __atomic_compare_exchange_n(&ptr.real, &expected.real,
desired.real, true,
__ATOMIC_RELAXED, __ATOMIC_RELAXED);
if ( !(r == false && ptr.real == expected.real)) {
exit(1);
}
}
static void test2(void)
{
ompi128 ptr = { .fake = { 0xFFEEDDCCBBAA0099, 0x8877665544332211 }};
ompi128 expected = ptr;
ompi128 desired = { .fake = { 0x1122DDCCBBAA0099, 0x887766554433EEFF }};
bool r = __atomic_compare_exchange_n(&ptr.real, &expected.real,
desired.real, true,
__ATOMIC_RELAXED, __ATOMIC_RELAXED);
if (!(r == true && ptr.real == desired.real)) {
exit(2);
}
}
int main(int argc, char** argv)
{
test1();
test2();
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_asm_check_func_happy=1
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else $as_nop
opal_asm_check_func_happy=0
LIBS=$opal_asm_check_func_LIBS_save
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
fi
if test $opal_asm_check_func_happy -eq 1
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if __atomic_compare_exchange_n() gives correct results" >&5
printf %s "checking if __atomic_compare_exchange_n() gives correct results... " >&6; }
if test "$cross_compiling" = yes
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cannot test -- assume yes (cross compiling)" >&5
printf "%s\n" "cannot test -- assume yes (cross compiling)" >&6; }
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
#include
#include
typedef union {
uint64_t fake[2];
__int128 real;
} ompi128;
static void test1(void)
{
// As of Aug 2018, we could not figure out a way to assign 128-bit
// constants -- the compilers would not accept it. So use a fake
// union to assign 2 uin64_t's to make a single __int128.
ompi128 ptr = { .fake = { 0xFFEEDDCCBBAA0099, 0x8877665544332211 }};
ompi128 expected = { .fake = { 0x11EEDDCCBBAA0099, 0x88776655443322FF }};
ompi128 desired = { .fake = { 0x1122DDCCBBAA0099, 0x887766554433EEFF }};
bool r = __atomic_compare_exchange_n(&ptr.real, &expected.real,
desired.real, true,
__ATOMIC_RELAXED, __ATOMIC_RELAXED);
if ( !(r == false && ptr.real == expected.real)) {
exit(1);
}
}
static void test2(void)
{
ompi128 ptr = { .fake = { 0xFFEEDDCCBBAA0099, 0x8877665544332211 }};
ompi128 expected = ptr;
ompi128 desired = { .fake = { 0x1122DDCCBBAA0099, 0x887766554433EEFF }};
bool r = __atomic_compare_exchange_n(&ptr.real, &expected.real,
desired.real, true,
__ATOMIC_RELAXED, __ATOMIC_RELAXED);
if (!(r == true && ptr.real == desired.real)) {
exit(2);
}
}
int main(int argc, char** argv)
{
test1();
test2();
return 0;
}
_ACEOF
if ac_fn_c_try_run "$LINENO"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else $as_nop
opal_asm_check_func_happy=0
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
fi
if test $opal_asm_check_func_happy -eq 0
then :
CFLAGS=$opal_asm_check_func_CFLAGS_save
LIBS=$opal_asm_check_func_LIBS_save
fi
if test $opal_asm_check_func_happy -eq 1
then :
atomic_compare_exchange_n_128_result=1
else $as_nop
atomic_compare_exchange_n_128_result=0
fi
opal_var_scope_pop opal_asm_check_func_happy opal_asm_check_func_CFLAGS_save opal_asm_check_func_LIBS_save
# If we have it and it works, check to make sure it is always lock
# free.
if test $atomic_compare_exchange_n_128_result -eq 1
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if __int128 atomic compare-and-swap is always lock-free" >&5
printf %s "checking if __int128 atomic compare-and-swap is always lock-free... " >&6; }
if test "$cross_compiling" = yes
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cannot test -- assume yes (cross compiling)" >&5
printf "%s\n" "cannot test -- assume yes (cross compiling)" >&6; }
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
if (!__atomic_always_lock_free(16, 0)) { return 1; }
;
return 0;
}
_ACEOF
if ac_fn_c_try_run "$LINENO"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else $as_nop
atomic_compare_exchange_n_128_result=0
# If this test fails, need to reset CFLAGS/LIBS (the
# above tests atomically set CFLAGS/LIBS or not; this
# test is running after the fact, so we have to undo
# the side-effects of setting CFLAGS/LIBS if the above
# tests passed).
CFLAGS=$atomic_compare_exchange_n_128_CFLAGS_save
LIBS=$atomic_compare_exchange_n_128_LIBS_save
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
fi
printf "%s\n" "#define OPAL_HAVE_GCC_BUILTIN_CSWAP_INT128 $atomic_compare_exchange_n_128_result" >>confdefs.h
if test $atomic_compare_exchange_n_128_result -eq 0
then :
opal_var_scope_push ${LINENO} sync_bool_compare_and_swap_128_result
# Do we have __sync_bool_compare_and_swap?
# Use a special macro because we need to check with a few different
# CFLAGS/LIBS.
opal_var_scope_push ${LINENO} opal_asm_check_func_happy opal_asm_check_func_CFLAGS_save opal_asm_check_func_LIBS_save
opal_asm_check_func_CFLAGS_save=$CFLAGS
opal_asm_check_func_LIBS_save=$LIBS
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __sync_bool_compare_and_swap" >&5
printf %s "checking for __sync_bool_compare_and_swap... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
#include
#include
typedef union {
uint64_t fake[2];
__int128 real;
} ompi128;
static void test1(void)
{
// As of Aug 2018, we could not figure out a way to assign 128-bit
// constants -- the compilers would not accept it. So use a fake
// union to assign 2 uin64_t's to make a single __int128.
ompi128 ptr = { .fake = { 0xFFEEDDCCBBAA0099, 0x8877665544332211 }};
ompi128 oldval = { .fake = { 0x11EEDDCCBBAA0099, 0x88776655443322FF }};
ompi128 newval = { .fake = { 0x1122DDCCBBAA0099, 0x887766554433EEFF }};
bool r = __sync_bool_compare_and_swap(&ptr.real, oldval.real, newval.real);
if (!(r == false && ptr.real != newval.real)) {
exit(1);
}
}
static void test2(void)
{
ompi128 ptr = { .fake = { 0xFFEEDDCCBBAA0099, 0x8877665544332211 }};
ompi128 oldval = ptr;
ompi128 newval = { .fake = { 0x1122DDCCBBAA0099, 0x887766554433EEFF }};
bool r = __sync_bool_compare_and_swap(&ptr.real, oldval.real, newval.real);
if (!(r == true && ptr.real == newval.real)) {
exit(2);
}
}
int main(int argc, char** argv)
{
test1();
test2();
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_asm_check_func_happy=1
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else $as_nop
opal_asm_check_func_happy=0
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
if test $opal_asm_check_func_happy -eq 0
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __sync_bool_compare_and_swap with -mcx16" >&5
printf %s "checking for __sync_bool_compare_and_swap with -mcx16... " >&6; }
CFLAGS="$CFLAGS -mcx16"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
#include
#include
typedef union {
uint64_t fake[2];
__int128 real;
} ompi128;
static void test1(void)
{
// As of Aug 2018, we could not figure out a way to assign 128-bit
// constants -- the compilers would not accept it. So use a fake
// union to assign 2 uin64_t's to make a single __int128.
ompi128 ptr = { .fake = { 0xFFEEDDCCBBAA0099, 0x8877665544332211 }};
ompi128 oldval = { .fake = { 0x11EEDDCCBBAA0099, 0x88776655443322FF }};
ompi128 newval = { .fake = { 0x1122DDCCBBAA0099, 0x887766554433EEFF }};
bool r = __sync_bool_compare_and_swap(&ptr.real, oldval.real, newval.real);
if (!(r == false && ptr.real != newval.real)) {
exit(1);
}
}
static void test2(void)
{
ompi128 ptr = { .fake = { 0xFFEEDDCCBBAA0099, 0x8877665544332211 }};
ompi128 oldval = ptr;
ompi128 newval = { .fake = { 0x1122DDCCBBAA0099, 0x887766554433EEFF }};
bool r = __sync_bool_compare_and_swap(&ptr.real, oldval.real, newval.real);
if (!(r == true && ptr.real == newval.real)) {
exit(2);
}
}
int main(int argc, char** argv)
{
test1();
test2();
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_asm_check_func_happy=1
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else $as_nop
opal_asm_check_func_happy=0
CFLAGS=$opal_asm_check_func_CFLAGS_save
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
fi
if test $opal_asm_check_func_happy -eq 0
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __sync_bool_compare_and_swap with -latomic" >&5
printf %s "checking for __sync_bool_compare_and_swap with -latomic... " >&6; }
LIBS="$LIBS -latomic"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
#include
#include
typedef union {
uint64_t fake[2];
__int128 real;
} ompi128;
static void test1(void)
{
// As of Aug 2018, we could not figure out a way to assign 128-bit
// constants -- the compilers would not accept it. So use a fake
// union to assign 2 uin64_t's to make a single __int128.
ompi128 ptr = { .fake = { 0xFFEEDDCCBBAA0099, 0x8877665544332211 }};
ompi128 oldval = { .fake = { 0x11EEDDCCBBAA0099, 0x88776655443322FF }};
ompi128 newval = { .fake = { 0x1122DDCCBBAA0099, 0x887766554433EEFF }};
bool r = __sync_bool_compare_and_swap(&ptr.real, oldval.real, newval.real);
if (!(r == false && ptr.real != newval.real)) {
exit(1);
}
}
static void test2(void)
{
ompi128 ptr = { .fake = { 0xFFEEDDCCBBAA0099, 0x8877665544332211 }};
ompi128 oldval = ptr;
ompi128 newval = { .fake = { 0x1122DDCCBBAA0099, 0x887766554433EEFF }};
bool r = __sync_bool_compare_and_swap(&ptr.real, oldval.real, newval.real);
if (!(r == true && ptr.real == newval.real)) {
exit(2);
}
}
int main(int argc, char** argv)
{
test1();
test2();
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_asm_check_func_happy=1
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else $as_nop
opal_asm_check_func_happy=0
LIBS=$opal_asm_check_func_LIBS_save
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
fi
if test $opal_asm_check_func_happy -eq 1
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if __sync_bool_compare_and_swap() gives correct results" >&5
printf %s "checking if __sync_bool_compare_and_swap() gives correct results... " >&6; }
if test "$cross_compiling" = yes
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cannot test -- assume yes (cross compiling)" >&5
printf "%s\n" "cannot test -- assume yes (cross compiling)" >&6; }
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
#include
#include
typedef union {
uint64_t fake[2];
__int128 real;
} ompi128;
static void test1(void)
{
// As of Aug 2018, we could not figure out a way to assign 128-bit
// constants -- the compilers would not accept it. So use a fake
// union to assign 2 uin64_t's to make a single __int128.
ompi128 ptr = { .fake = { 0xFFEEDDCCBBAA0099, 0x8877665544332211 }};
ompi128 oldval = { .fake = { 0x11EEDDCCBBAA0099, 0x88776655443322FF }};
ompi128 newval = { .fake = { 0x1122DDCCBBAA0099, 0x887766554433EEFF }};
bool r = __sync_bool_compare_and_swap(&ptr.real, oldval.real, newval.real);
if (!(r == false && ptr.real != newval.real)) {
exit(1);
}
}
static void test2(void)
{
ompi128 ptr = { .fake = { 0xFFEEDDCCBBAA0099, 0x8877665544332211 }};
ompi128 oldval = ptr;
ompi128 newval = { .fake = { 0x1122DDCCBBAA0099, 0x887766554433EEFF }};
bool r = __sync_bool_compare_and_swap(&ptr.real, oldval.real, newval.real);
if (!(r == true && ptr.real == newval.real)) {
exit(2);
}
}
int main(int argc, char** argv)
{
test1();
test2();
return 0;
}
_ACEOF
if ac_fn_c_try_run "$LINENO"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else $as_nop
opal_asm_check_func_happy=0
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
fi
if test $opal_asm_check_func_happy -eq 0
then :
CFLAGS=$opal_asm_check_func_CFLAGS_save
LIBS=$opal_asm_check_func_LIBS_save
fi
if test $opal_asm_check_func_happy -eq 1
then :
sync_bool_compare_and_swap_128_result=1
else $as_nop
sync_bool_compare_and_swap_128_result=0
fi
opal_var_scope_pop opal_asm_check_func_happy opal_asm_check_func_CFLAGS_save opal_asm_check_func_LIBS_save
printf "%s\n" "#define OPAL_HAVE_SYNC_BUILTIN_CSWAP_INT128 $sync_bool_compare_and_swap_128_result" >>confdefs.h
opal_var_scope_pop sync_bool_compare_and_swap_128_result
fi
opal_var_scope_pop atomic_compare_exchange_n_128_result atomic_compare_exchange_n_128_CFLAGS_save atomic_compare_exchange_n_128_LIBS_save
fi
if test $opal_cv_have___atomic = "yes"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: Using GCC built-in style atomics" >&5
printf "%s\n" "$as_me: Using GCC built-in style atomics" >&6;}
atomics_found="GCC built-in style atomics"
want_gcc_builtin_atomics=1
elif test "$enable_builtin_atomics" = "yes"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: GCC built-in atomics requested but not found." >&5
printf "%s\n" "$as_me: WARNING: GCC built-in atomics requested but not found." >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
fi
# Option 2 for atomics: C11
#
# We currently always disable C11 atomics with the Intel compilers.
# We know builds older than 20200310 are broken with respect to
# C11 atomics, but have not apparently found a build we are happy
# with. In the future, this should be changed to a check for a
# particular Intel version.
if test "$atomics_found" = "no" -a "$enable_c11_atomics" != "no" -a "$opal_cv_c11_supported" = "yes" -a "$opal_cv_c_compiler_vendor" != "intel"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: Using C11 atomics" >&5
printf "%s\n" "$as_me: Using C11 atomics" >&6;}
opal_var_scope_push ${LINENO} atomic_compare_exchange_result atomic_compare_exchange_CFLAGS_save atomic_compare_exchange_LIBS_save
atomic_compare_exchange_CFLAGS_save=$CFLAGS
atomic_compare_exchange_LIBS_save=$LIBS
# Do we have C11 atomics on 128-bit integers?
# Use a special macro because we need to check with a few different
# CFLAGS/LIBS.
opal_var_scope_push ${LINENO} opal_asm_check_func_happy opal_asm_check_func_CFLAGS_save opal_asm_check_func_LIBS_save
opal_asm_check_func_CFLAGS_save=$CFLAGS
opal_asm_check_func_LIBS_save=$LIBS
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for atomic_compare_exchange_strong_16" >&5
printf %s "checking for atomic_compare_exchange_strong_16... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
#include
#include
#include
typedef union {
uint64_t fake[2];
_Atomic __int128 real;
__int128 real2;
} ompi128;
static void test1(void)
{
// As of Aug 2018, we could not figure out a way to assign 128-bit
// constants -- the compilers would not accept it. So use a fake
// union to assign 2 uin64_t's to make a single __int128.
ompi128 ptr = { .fake = { 0xFFEEDDCCBBAA0099, 0x8877665544332211 }};
ompi128 expected = { .fake = { 0x11EEDDCCBBAA0099, 0x88776655443322FF }};
ompi128 desired = { .fake = { 0x1122DDCCBBAA0099, 0x887766554433EEFF }};
bool r = atomic_compare_exchange_strong (&ptr.real, &expected.real2,
desired.real);
if ( !(r == false && ptr.real == expected.real)) {
exit(1);
}
}
static void test2(void)
{
ompi128 ptr = { .fake = { 0xFFEEDDCCBBAA0099, 0x8877665544332211 }};
ompi128 expected = ptr;
ompi128 desired = { .fake = { 0x1122DDCCBBAA0099, 0x887766554433EEFF }};
bool r = atomic_compare_exchange_strong (&ptr.real, &expected.real2,
desired.real);
if (!(r == true && ptr.real == desired.real)) {
exit(2);
}
}
int main(int argc, char** argv)
{
test1();
test2();
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_asm_check_func_happy=1
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else $as_nop
opal_asm_check_func_happy=0
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
if test $opal_asm_check_func_happy -eq 0
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for atomic_compare_exchange_strong_16 with -mcx16" >&5
printf %s "checking for atomic_compare_exchange_strong_16 with -mcx16... " >&6; }
CFLAGS="$CFLAGS -mcx16"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
#include
#include
#include
typedef union {
uint64_t fake[2];
_Atomic __int128 real;
__int128 real2;
} ompi128;
static void test1(void)
{
// As of Aug 2018, we could not figure out a way to assign 128-bit
// constants -- the compilers would not accept it. So use a fake
// union to assign 2 uin64_t's to make a single __int128.
ompi128 ptr = { .fake = { 0xFFEEDDCCBBAA0099, 0x8877665544332211 }};
ompi128 expected = { .fake = { 0x11EEDDCCBBAA0099, 0x88776655443322FF }};
ompi128 desired = { .fake = { 0x1122DDCCBBAA0099, 0x887766554433EEFF }};
bool r = atomic_compare_exchange_strong (&ptr.real, &expected.real2,
desired.real);
if ( !(r == false && ptr.real == expected.real)) {
exit(1);
}
}
static void test2(void)
{
ompi128 ptr = { .fake = { 0xFFEEDDCCBBAA0099, 0x8877665544332211 }};
ompi128 expected = ptr;
ompi128 desired = { .fake = { 0x1122DDCCBBAA0099, 0x887766554433EEFF }};
bool r = atomic_compare_exchange_strong (&ptr.real, &expected.real2,
desired.real);
if (!(r == true && ptr.real == desired.real)) {
exit(2);
}
}
int main(int argc, char** argv)
{
test1();
test2();
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_asm_check_func_happy=1
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else $as_nop
opal_asm_check_func_happy=0
CFLAGS=$opal_asm_check_func_CFLAGS_save
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
fi
if test $opal_asm_check_func_happy -eq 0
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for atomic_compare_exchange_strong_16 with -latomic" >&5
printf %s "checking for atomic_compare_exchange_strong_16 with -latomic... " >&6; }
LIBS="$LIBS -latomic"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
#include
#include
#include
typedef union {
uint64_t fake[2];
_Atomic __int128 real;
__int128 real2;
} ompi128;
static void test1(void)
{
// As of Aug 2018, we could not figure out a way to assign 128-bit
// constants -- the compilers would not accept it. So use a fake
// union to assign 2 uin64_t's to make a single __int128.
ompi128 ptr = { .fake = { 0xFFEEDDCCBBAA0099, 0x8877665544332211 }};
ompi128 expected = { .fake = { 0x11EEDDCCBBAA0099, 0x88776655443322FF }};
ompi128 desired = { .fake = { 0x1122DDCCBBAA0099, 0x887766554433EEFF }};
bool r = atomic_compare_exchange_strong (&ptr.real, &expected.real2,
desired.real);
if ( !(r == false && ptr.real == expected.real)) {
exit(1);
}
}
static void test2(void)
{
ompi128 ptr = { .fake = { 0xFFEEDDCCBBAA0099, 0x8877665544332211 }};
ompi128 expected = ptr;
ompi128 desired = { .fake = { 0x1122DDCCBBAA0099, 0x887766554433EEFF }};
bool r = atomic_compare_exchange_strong (&ptr.real, &expected.real2,
desired.real);
if (!(r == true && ptr.real == desired.real)) {
exit(2);
}
}
int main(int argc, char** argv)
{
test1();
test2();
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_asm_check_func_happy=1
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else $as_nop
opal_asm_check_func_happy=0
LIBS=$opal_asm_check_func_LIBS_save
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
fi
if test $opal_asm_check_func_happy -eq 1
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if atomic_compare_exchange_strong_16() gives correct results" >&5
printf %s "checking if atomic_compare_exchange_strong_16() gives correct results... " >&6; }
if test "$cross_compiling" = yes
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cannot test -- assume yes (cross compiling)" >&5
printf "%s\n" "cannot test -- assume yes (cross compiling)" >&6; }
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
#include
#include
#include
typedef union {
uint64_t fake[2];
_Atomic __int128 real;
__int128 real2;
} ompi128;
static void test1(void)
{
// As of Aug 2018, we could not figure out a way to assign 128-bit
// constants -- the compilers would not accept it. So use a fake
// union to assign 2 uin64_t's to make a single __int128.
ompi128 ptr = { .fake = { 0xFFEEDDCCBBAA0099, 0x8877665544332211 }};
ompi128 expected = { .fake = { 0x11EEDDCCBBAA0099, 0x88776655443322FF }};
ompi128 desired = { .fake = { 0x1122DDCCBBAA0099, 0x887766554433EEFF }};
bool r = atomic_compare_exchange_strong (&ptr.real, &expected.real2,
desired.real);
if ( !(r == false && ptr.real == expected.real)) {
exit(1);
}
}
static void test2(void)
{
ompi128 ptr = { .fake = { 0xFFEEDDCCBBAA0099, 0x8877665544332211 }};
ompi128 expected = ptr;
ompi128 desired = { .fake = { 0x1122DDCCBBAA0099, 0x887766554433EEFF }};
bool r = atomic_compare_exchange_strong (&ptr.real, &expected.real2,
desired.real);
if (!(r == true && ptr.real == desired.real)) {
exit(2);
}
}
int main(int argc, char** argv)
{
test1();
test2();
return 0;
}
_ACEOF
if ac_fn_c_try_run "$LINENO"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else $as_nop
opal_asm_check_func_happy=0
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
fi
if test $opal_asm_check_func_happy -eq 0
then :
CFLAGS=$opal_asm_check_func_CFLAGS_save
LIBS=$opal_asm_check_func_LIBS_save
fi
if test $opal_asm_check_func_happy -eq 1
then :
atomic_compare_exchange_result=1
else $as_nop
atomic_compare_exchange_result=0
fi
opal_var_scope_pop opal_asm_check_func_happy opal_asm_check_func_CFLAGS_save opal_asm_check_func_LIBS_save
# If we have it and it works, check to make sure it is always lock
# free.
if test $atomic_compare_exchange_result -eq 1
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if C11 __int128 atomic compare-and-swap is always lock-free" >&5
printf %s "checking if C11 __int128 atomic compare-and-swap is always lock-free... " >&6; }
if test "$cross_compiling" = yes
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cannot test -- assume yes (cross compiling)" >&5
printf "%s\n" "cannot test -- assume yes (cross compiling)" >&6; }
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
int
main (void)
{
_Atomic __int128_t x; if (!atomic_is_lock_free(&x)) { return 1; }
;
return 0;
}
_ACEOF
if ac_fn_c_try_run "$LINENO"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else $as_nop
atomic_compare_exchange_result=0
# If this test fails, need to reset CFLAGS/LIBS (the
# above tests atomically set CFLAGS/LIBS or not; this
# test is running after the fact, so we have to undo
# the side-effects of setting CFLAGS/LIBS if the above
# tests passed).
CFLAGS=$atomic_compare_exchange_CFLAGS_save
LIBS=$atomic_compare_exchange_LIBS_save
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
fi
printf "%s\n" "#define OPAL_HAVE_C11_CSWAP_INT128 $atomic_compare_exchange_result" >>confdefs.h
if test $atomic_compare_exchange_result -eq 0
then :
opal_var_scope_push ${LINENO} sync_bool_compare_and_swap_128_result
# Do we have __sync_bool_compare_and_swap?
# Use a special macro because we need to check with a few different
# CFLAGS/LIBS.
opal_var_scope_push ${LINENO} opal_asm_check_func_happy opal_asm_check_func_CFLAGS_save opal_asm_check_func_LIBS_save
opal_asm_check_func_CFLAGS_save=$CFLAGS
opal_asm_check_func_LIBS_save=$LIBS
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __sync_bool_compare_and_swap" >&5
printf %s "checking for __sync_bool_compare_and_swap... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
#include
#include
typedef union {
uint64_t fake[2];
__int128 real;
} ompi128;
static void test1(void)
{
// As of Aug 2018, we could not figure out a way to assign 128-bit
// constants -- the compilers would not accept it. So use a fake
// union to assign 2 uin64_t's to make a single __int128.
ompi128 ptr = { .fake = { 0xFFEEDDCCBBAA0099, 0x8877665544332211 }};
ompi128 oldval = { .fake = { 0x11EEDDCCBBAA0099, 0x88776655443322FF }};
ompi128 newval = { .fake = { 0x1122DDCCBBAA0099, 0x887766554433EEFF }};
bool r = __sync_bool_compare_and_swap(&ptr.real, oldval.real, newval.real);
if (!(r == false && ptr.real != newval.real)) {
exit(1);
}
}
static void test2(void)
{
ompi128 ptr = { .fake = { 0xFFEEDDCCBBAA0099, 0x8877665544332211 }};
ompi128 oldval = ptr;
ompi128 newval = { .fake = { 0x1122DDCCBBAA0099, 0x887766554433EEFF }};
bool r = __sync_bool_compare_and_swap(&ptr.real, oldval.real, newval.real);
if (!(r == true && ptr.real == newval.real)) {
exit(2);
}
}
int main(int argc, char** argv)
{
test1();
test2();
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_asm_check_func_happy=1
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else $as_nop
opal_asm_check_func_happy=0
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
if test $opal_asm_check_func_happy -eq 0
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __sync_bool_compare_and_swap with -mcx16" >&5
printf %s "checking for __sync_bool_compare_and_swap with -mcx16... " >&6; }
CFLAGS="$CFLAGS -mcx16"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
#include
#include
typedef union {
uint64_t fake[2];
__int128 real;
} ompi128;
static void test1(void)
{
// As of Aug 2018, we could not figure out a way to assign 128-bit
// constants -- the compilers would not accept it. So use a fake
// union to assign 2 uin64_t's to make a single __int128.
ompi128 ptr = { .fake = { 0xFFEEDDCCBBAA0099, 0x8877665544332211 }};
ompi128 oldval = { .fake = { 0x11EEDDCCBBAA0099, 0x88776655443322FF }};
ompi128 newval = { .fake = { 0x1122DDCCBBAA0099, 0x887766554433EEFF }};
bool r = __sync_bool_compare_and_swap(&ptr.real, oldval.real, newval.real);
if (!(r == false && ptr.real != newval.real)) {
exit(1);
}
}
static void test2(void)
{
ompi128 ptr = { .fake = { 0xFFEEDDCCBBAA0099, 0x8877665544332211 }};
ompi128 oldval = ptr;
ompi128 newval = { .fake = { 0x1122DDCCBBAA0099, 0x887766554433EEFF }};
bool r = __sync_bool_compare_and_swap(&ptr.real, oldval.real, newval.real);
if (!(r == true && ptr.real == newval.real)) {
exit(2);
}
}
int main(int argc, char** argv)
{
test1();
test2();
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_asm_check_func_happy=1
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else $as_nop
opal_asm_check_func_happy=0
CFLAGS=$opal_asm_check_func_CFLAGS_save
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
fi
if test $opal_asm_check_func_happy -eq 0
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __sync_bool_compare_and_swap with -latomic" >&5
printf %s "checking for __sync_bool_compare_and_swap with -latomic... " >&6; }
LIBS="$LIBS -latomic"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
#include
#include
typedef union {
uint64_t fake[2];
__int128 real;
} ompi128;
static void test1(void)
{
// As of Aug 2018, we could not figure out a way to assign 128-bit
// constants -- the compilers would not accept it. So use a fake
// union to assign 2 uin64_t's to make a single __int128.
ompi128 ptr = { .fake = { 0xFFEEDDCCBBAA0099, 0x8877665544332211 }};
ompi128 oldval = { .fake = { 0x11EEDDCCBBAA0099, 0x88776655443322FF }};
ompi128 newval = { .fake = { 0x1122DDCCBBAA0099, 0x887766554433EEFF }};
bool r = __sync_bool_compare_and_swap(&ptr.real, oldval.real, newval.real);
if (!(r == false && ptr.real != newval.real)) {
exit(1);
}
}
static void test2(void)
{
ompi128 ptr = { .fake = { 0xFFEEDDCCBBAA0099, 0x8877665544332211 }};
ompi128 oldval = ptr;
ompi128 newval = { .fake = { 0x1122DDCCBBAA0099, 0x887766554433EEFF }};
bool r = __sync_bool_compare_and_swap(&ptr.real, oldval.real, newval.real);
if (!(r == true && ptr.real == newval.real)) {
exit(2);
}
}
int main(int argc, char** argv)
{
test1();
test2();
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_asm_check_func_happy=1
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else $as_nop
opal_asm_check_func_happy=0
LIBS=$opal_asm_check_func_LIBS_save
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
fi
if test $opal_asm_check_func_happy -eq 1
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if __sync_bool_compare_and_swap() gives correct results" >&5
printf %s "checking if __sync_bool_compare_and_swap() gives correct results... " >&6; }
if test "$cross_compiling" = yes
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cannot test -- assume yes (cross compiling)" >&5
printf "%s\n" "cannot test -- assume yes (cross compiling)" >&6; }
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
#include
#include
typedef union {
uint64_t fake[2];
__int128 real;
} ompi128;
static void test1(void)
{
// As of Aug 2018, we could not figure out a way to assign 128-bit
// constants -- the compilers would not accept it. So use a fake
// union to assign 2 uin64_t's to make a single __int128.
ompi128 ptr = { .fake = { 0xFFEEDDCCBBAA0099, 0x8877665544332211 }};
ompi128 oldval = { .fake = { 0x11EEDDCCBBAA0099, 0x88776655443322FF }};
ompi128 newval = { .fake = { 0x1122DDCCBBAA0099, 0x887766554433EEFF }};
bool r = __sync_bool_compare_and_swap(&ptr.real, oldval.real, newval.real);
if (!(r == false && ptr.real != newval.real)) {
exit(1);
}
}
static void test2(void)
{
ompi128 ptr = { .fake = { 0xFFEEDDCCBBAA0099, 0x8877665544332211 }};
ompi128 oldval = ptr;
ompi128 newval = { .fake = { 0x1122DDCCBBAA0099, 0x887766554433EEFF }};
bool r = __sync_bool_compare_and_swap(&ptr.real, oldval.real, newval.real);
if (!(r == true && ptr.real == newval.real)) {
exit(2);
}
}
int main(int argc, char** argv)
{
test1();
test2();
return 0;
}
_ACEOF
if ac_fn_c_try_run "$LINENO"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else $as_nop
opal_asm_check_func_happy=0
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
fi
if test $opal_asm_check_func_happy -eq 0
then :
CFLAGS=$opal_asm_check_func_CFLAGS_save
LIBS=$opal_asm_check_func_LIBS_save
fi
if test $opal_asm_check_func_happy -eq 1
then :
sync_bool_compare_and_swap_128_result=1
else $as_nop
sync_bool_compare_and_swap_128_result=0
fi
opal_var_scope_pop opal_asm_check_func_happy opal_asm_check_func_CFLAGS_save opal_asm_check_func_LIBS_save
printf "%s\n" "#define OPAL_HAVE_SYNC_BUILTIN_CSWAP_INT128 $sync_bool_compare_and_swap_128_result" >>confdefs.h
opal_var_scope_pop sync_bool_compare_and_swap_128_result
fi
opal_var_scope_pop atomic_compare_exchange_result atomic_compare_exchange_CFLAGS_save atomic_compare_exchange_LIBS_save
want_c11_atomics=1
atomics_found="C11 atomics"
elif test "$enable_c11_atomics" = "yes"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: C11 atomics were requested but are not supported" >&5
printf "%s\n" "$as_me: WARNING: C11 atomics were requested but are not supported" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
# Option 3 for atomics: inline assembly
if test "$atomics_found" = "no" -a "$gcc_inline" = "1"
then :
case "${host}" in
x86_64-*x32|i?86-*|x86_64*|amd64*)
if test "$ac_cv_sizeof_long" = "8"
then :
opal_var_scope_push ${LINENO} cmpxchg16b_result
opal_var_scope_push ${LINENO} opal_asm_check_func_happy opal_asm_check_func_CFLAGS_save opal_asm_check_func_LIBS_save
opal_asm_check_func_CFLAGS_save=$CFLAGS
opal_asm_check_func_LIBS_save=$LIBS
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cmpxchg16b" >&5
printf %s "checking for cmpxchg16b... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
unsigned char tmp[16];
int
main (void)
{
__asm__ __volatile__ ("lock cmpxchg16b (%%rsi)" : : "S" (tmp) : "memory", "cc");
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_asm_check_func_happy=1
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else $as_nop
opal_asm_check_func_happy=0
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
if test $opal_asm_check_func_happy -eq 0
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cmpxchg16b with -mcx16" >&5
printf %s "checking for cmpxchg16b with -mcx16... " >&6; }
CFLAGS="$CFLAGS -mcx16"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
unsigned char tmp[16];
int
main (void)
{
__asm__ __volatile__ ("lock cmpxchg16b (%%rsi)" : : "S" (tmp) : "memory", "cc");
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_asm_check_func_happy=1
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else $as_nop
opal_asm_check_func_happy=0
CFLAGS=$opal_asm_check_func_CFLAGS_save
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
fi
if test $opal_asm_check_func_happy -eq 0
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cmpxchg16b with -latomic" >&5
printf %s "checking for cmpxchg16b with -latomic... " >&6; }
LIBS="$LIBS -latomic"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
unsigned char tmp[16];
int
main (void)
{
__asm__ __volatile__ ("lock cmpxchg16b (%%rsi)" : : "S" (tmp) : "memory", "cc");
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
opal_asm_check_func_happy=1
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else $as_nop
opal_asm_check_func_happy=0
LIBS=$opal_asm_check_func_LIBS_save
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
fi
if test $opal_asm_check_func_happy -eq 1
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if cmpxchg16b() gives correct results" >&5
printf %s "checking if cmpxchg16b() gives correct results... " >&6; }
if test "$cross_compiling" = yes
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cannot test -- assume yes (cross compiling)" >&5
printf "%s\n" "cannot test -- assume yes (cross compiling)" >&6; }
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
unsigned char tmp[16];
int
main (void)
{
__asm__ __volatile__ ("lock cmpxchg16b (%%rsi)" : : "S" (tmp) : "memory", "cc");
;
return 0;
}
_ACEOF
if ac_fn_c_try_run "$LINENO"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else $as_nop
opal_asm_check_func_happy=0
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
fi
if test $opal_asm_check_func_happy -eq 0
then :
CFLAGS=$opal_asm_check_func_CFLAGS_save
LIBS=$opal_asm_check_func_LIBS_save
fi
if test $opal_asm_check_func_happy -eq 1
then :
cmpxchg16b_result=1
else $as_nop
cmpxchg16b_result=0
fi
opal_var_scope_pop opal_asm_check_func_happy opal_asm_check_func_CFLAGS_save opal_asm_check_func_LIBS_save
# If we have it, make sure it works.
if test $cmpxchg16b_result -eq 1
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if cmpxchg16b_result works" >&5
printf %s "checking if cmpxchg16b_result works... " >&6; }
if test "$cross_compiling" = yes
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cannot test -- assume yes (cross compiling)" >&5
printf "%s\n" "cannot test -- assume yes (cross compiling)" >&6; }
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
#include
union opal_counted_pointer_t {
struct {
uint64_t counter;
uint64_t item;
} data;
#if defined(HAVE___INT128) && HAVE___INT128
__int128 value;
#elif defined(HAVE_INT128_T) && HAVE_INT128_T
int128_t value;
#endif
};
typedef union opal_counted_pointer_t opal_counted_pointer_t;
int main(int argc, char* argv) {
volatile opal_counted_pointer_t a;
opal_counted_pointer_t b;
a.data.counter = 0;
a.data.item = 0x1234567890ABCDEF;
b.data.counter = a.data.counter;
b.data.item = a.data.item;
/* bozo checks */
assert(16 == sizeof(opal_counted_pointer_t));
assert(a.data.counter == b.data.counter);
assert(a.data.item == b.data.item);
/*
* the following test fails on buggy compilers
* so far, with icc -o conftest conftest.c
* - intel icc 14.0.0.080 (aka 2013sp1)
* - intel icc 14.0.1.106 (aka 2013sp1u1)
* older and more recents compilers work fine
* buggy compilers work also fine but only with -O0
*/
#if (defined(HAVE___INT128) && HAVE___INT128) || (defined(HAVE_INT128_T) && HAVE_INT128_T)
return (a.value != b.value);
#else
return 0;
#endif
}
_ACEOF
if ac_fn_c_try_run "$LINENO"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else $as_nop
cmpxchg16b_result=0
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
fi
printf "%s\n" "#define OPAL_HAVE_CMPXCHG16B $cmpxchg16b_result" >>confdefs.h
opal_var_scope_pop cmpxchg16b_result
atomics_found="x86_64 assembly"
fi
;;
aarch64*)
atomics_found="aarch64 assembly"
;;
powerpc-*|powerpc64-*|powerpcle-*|powerpc64le-*|rs6000-*|ppc-*)
if test "$ac_cv_sizeof_long" = "8"
then :
atomics_found="PowerPC assembly"
fi
;;
esac
if test "$atomics_found" != "no"
then :
want_asm_atomics=1
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for inline assembly atomics" >&5
printf %s "checking for inline assembly atomics... " >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $atomics_found" >&5
printf "%s\n" "$atomics_found" >&6; }
fi
if test "$atomics_found" = "no"
then :
as_fn_error $? "No usable atomics implementation found. Cannot continue." "$LINENO" 5
fi
printf "%s\n" "#define OPAL_USE_C11_ATOMICS $want_c11_atomics" >>confdefs.h
printf "%s\n" "#define OPAL_USE_GCC_BUILTIN_ATOMICS $want_gcc_builtin_atomics" >>confdefs.h
printf "%s\n" "#define OPAL_USE_ASM_ATOMICS $want_asm_atomics" >>confdefs.h
oac_var_scope_push ${LINENO} oac_summary_line oac_summary_newline oac_summary_key
# The end quote on the next line is intentional!
oac_summary_newline="
"
oac_summary_line="Atomics: $atomics_found"
oac_summary_key="MiscellaneousAtomics"
# Use the section name variable as an indicator for whether or not
# the section has already been created.
if test ${oac_summary_section_Miscellaneous_name+y}
then :
else $as_nop
oac_summary_section_Miscellaneous_name="Miscellaneous"
if test -z "${oac_summary_sections}"
then :
oac_summary_sections="Miscellaneous"
else $as_nop
oac_summary_sections="${oac_summary_sections} Miscellaneous"
fi
fi
# Use the summary key as indicator if the section:topic has already
# been added to the results for the given section.
if eval test \${${oac_summary_key}+y}
then :
else $as_nop
eval "${oac_summary_key}=1"
if test ${oac_summary_section_Miscellaneous_value+y}
then :
as_fn_append oac_summary_section_Miscellaneous_value "${oac_summary_newline}${oac_summary_line}"
else $as_nop
oac_summary_section_Miscellaneous_value="${oac_summary_line}"
fi
fi
oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key
opal_var_scope_pop atomics_found want_c11_atomics want_gcc_builtin_atomics want_asm_atomics
##################################
# Fortran
##################################
OMPI_BUILD_FORTRAN_BINDINGS=0
opal_show_subtitle "Fortran compiler"
opal_var_scope_push ${LINENO} ompi_fcflags_save
ompi_fcflags_save="$FCFLAGS"
# Note that AC_PROG_FC will look for *any* fortran compiler, and
# we don't want it to find an F77-only compiler. The AC docs
# don't recommend using the "dialect" feature of AC_PROG_FC, so
# instead use the optional first parameter and steal the list of
# Fortran compilers (excluding the f77 compiler names) from AC's
# default list of compilers and use it here. This is the main
# reason we have an OMPI-ized version of the PROG_FC macro.
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
if test -n "$ac_tool_prefix"; then
for ac_prog in gfortran f95 fort xlf95 ifort ifc efc pgfortran pgf95 lf95 f90 xlf90 pgf90 epcf90 nagfor
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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_FC+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$FC"; then
ac_cv_prog_FC="$FC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_FC="$ac_tool_prefix$ac_prog"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
FC=$ac_cv_prog_FC
if test -n "$FC"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FC" >&5
printf "%s\n" "$FC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
test -n "$FC" && break
done
fi
if test -z "$FC"; then
ac_ct_FC=$FC
for ac_prog in gfortran f95 fort xlf95 ifort ifc efc pgfortran pgf95 lf95 f90 xlf90 pgf90 epcf90 nagfor
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_FC+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$ac_ct_FC"; then
ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_FC="$ac_prog"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_FC=$ac_cv_prog_ac_ct_FC
if test -n "$ac_ct_FC"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5
printf "%s\n" "$ac_ct_FC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
test -n "$ac_ct_FC" && break
done
if test "x$ac_ct_FC" = x; then
FC=""
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
FC=$ac_ct_FC
fi
fi
# Provide some information about the compiler.
printf "%s\n" "$as_me:${as_lineno-$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"
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\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_compiler $ac_option >&5") 2>conftest.err
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
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
done
rm -f a.out
# If we don't use `.F' as extension, the preprocessor is not run on the
# input file. (Note that this only needs to work for GNU compilers.)
ac_save_ext=$ac_ext
ac_ext=F
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU Fortran" >&5
printf %s "checking whether the compiler supports GNU Fortran... " >&6; }
if test ${ac_cv_fc_compiler_gnu+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat > conftest.$ac_ext <<_ACEOF
program main
#ifndef __GNUC__
choke me
#endif
end
_ACEOF
if ac_fn_fc_try_compile "$LINENO"
then :
ac_compiler_gnu=yes
else $as_nop
ac_compiler_gnu=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_cv_fc_compiler_gnu=$ac_compiler_gnu
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5
printf "%s\n" "$ac_cv_fc_compiler_gnu" >&6; }
ac_compiler_gnu=$ac_cv_fc_compiler_gnu
ac_ext=$ac_save_ext
ac_test_FCFLAGS=${FCFLAGS+y}
ac_save_FCFLAGS=$FCFLAGS
FCFLAGS=
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5
printf %s "checking whether $FC accepts -g... " >&6; }
if test ${ac_cv_prog_fc_g+y}
then :
printf %s "(cached) " >&6
else $as_nop
FCFLAGS=-g
cat > conftest.$ac_ext <<_ACEOF
program main
end
_ACEOF
if ac_fn_fc_try_compile "$LINENO"
then :
ac_cv_prog_fc_g=yes
else $as_nop
ac_cv_prog_fc_g=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5
printf "%s\n" "$ac_cv_prog_fc_g" >&6; }
if test $ac_test_FCFLAGS; then
FCFLAGS=$ac_save_FCFLAGS
elif test $ac_cv_prog_fc_g = yes; then
if test "x$ac_cv_fc_compiler_gnu" = xyes; then
FCFLAGS="-g -O2"
else
FCFLAGS="-g"
fi
else
if test "x$ac_cv_fc_compiler_gnu" = xyes; then
FCFLAGS="-O2"
else
FCFLAGS=
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'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
FCFLAGS="$ompi_fcflags_save"
opal_var_scope_pop ompi_fcflags_save
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
printf %s "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
if test ${lt_cv_path_NM+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$NM"; then
# Let the user override the test.
lt_cv_path_NM=$NM
else
lt_nm_to_check=${ac_tool_prefix}nm
if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
lt_nm_to_check="$lt_nm_to_check nm"
fi
for lt_tmp_nm in $lt_nm_to_check; do
lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
IFS=$lt_save_ifs
test -z "$ac_dir" && ac_dir=.
tmp_nm=$ac_dir/$lt_tmp_nm
if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
# Check to see if the nm accepts a BSD-compat flag.
# Adding the 'sed 1q' prevents false positives on HP-UX, which says:
# nm: unknown option "B" ignored
# Tru64's nm complains that /dev/null is an invalid object file
# MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
case $build_os in
mingw*) lt_bad_file=conftest.nm/nofile ;;
*) lt_bad_file=/dev/null ;;
esac
case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
*$lt_bad_file* | *'Invalid file or object type'*)
lt_cv_path_NM="$tmp_nm -B"
break 2
;;
*)
case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
*/dev/null*)
lt_cv_path_NM="$tmp_nm -p"
break 2
;;
*)
lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
continue # so that we can try to find one that supports BSD flags
;;
esac
;;
esac
fi
done
IFS=$lt_save_ifs
done
: ${lt_cv_path_NM=no}
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
printf "%s\n" "$lt_cv_path_NM" >&6; }
if test no != "$lt_cv_path_NM"; then
NM=$lt_cv_path_NM
else
# Didn't find any BSD compatible name lister, look for dumpbin.
if test -n "$DUMPBIN"; then :
# Let the user override the test.
else
if test -n "$ac_tool_prefix"; then
for ac_prog in dumpbin "link -dump"
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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_DUMPBIN+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$DUMPBIN"; then
ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
DUMPBIN=$ac_cv_prog_DUMPBIN
if test -n "$DUMPBIN"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
printf "%s\n" "$DUMPBIN" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
test -n "$DUMPBIN" && break
done
fi
if test -z "$DUMPBIN"; then
ac_ct_DUMPBIN=$DUMPBIN
for ac_prog in dumpbin "link -dump"
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_DUMPBIN+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$ac_ct_DUMPBIN"; then
ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
if test -n "$ac_ct_DUMPBIN"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
printf "%s\n" "$ac_ct_DUMPBIN" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
test -n "$ac_ct_DUMPBIN" && break
done
if test "x$ac_ct_DUMPBIN" = x; then
DUMPBIN=":"
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
DUMPBIN=$ac_ct_DUMPBIN
fi
fi
case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
*COFF*)
DUMPBIN="$DUMPBIN -symbols -headers"
;;
*)
DUMPBIN=:
;;
esac
fi
if test : != "$DUMPBIN"; then
NM=$DUMPBIN
fi
fi
test -z "$NM" && NM=nm
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
printf %s "checking the name lister ($NM) interface... " >&6; }
if test ${lt_cv_nm_interface+y}
then :
printf %s "(cached) " >&6
else $as_nop
lt_cv_nm_interface="BSD nm"
echo "int some_variable = 0;" > conftest.$ac_ext
(eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
(eval "$ac_compile" 2>conftest.err)
cat conftest.err >&5
(eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
(eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
cat conftest.err >&5
(eval echo "\"\$as_me:$LINENO: output\"" >&5)
cat conftest.out >&5
if $GREP 'External.*some_variable' conftest.out > /dev/null; then
lt_cv_nm_interface="MS dumpbin"
fi
rm -f conftest*
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
printf "%s\n" "$lt_cv_nm_interface" >&6; }
# Default to building nothing
OMPI_BUILD_FORTRAN_BINDINGS=$OMPI_FORTRAN_NO_BINDINGS
OMPI_FORTRAN_BUILD_SIZEOF=0
OMPI_FORTRAN_USEMPI_DIR=
OMPI_FORTRAN_USEMPI_LIB=
OMPI_FORTRAN_USEMPIF08_LIB=
OMPI_FORTRAN_MAX_ARRAY_RANK=0
OMPI_FORTRAN_HAVE_INTERFACE=0
OMPI_FORTRAN_HAVE_IGNORE_TKR=0
OMPI_FORTRAN_HAVE_OPTIONAL_ARGS=0
OMPI_FORTRAN_HAVE_BIND_C=0
OMPI_FORTRAN_HAVE_ISO_FORTRAN_ENV=0
OMPI_FORTRAN_HAVE_STORAGE_SIZE=0
OMPI_FORTRAN_HAVE_ISO_C_BINDING=0
OMPI_FORTRAN_HAVE_BIND_C_SUB=0
OMPI_FORTRAN_HAVE_BIND_C_TYPE=0
OMPI_FORTRAN_HAVE_BIND_C_TYPE_NAME=0
OMPI_FORTRAN_HAVE_F08_ASSUMED_RANK=0
OMPI_FORTRAN_HAVE_PRIVATE=0
# These macros control symbol names for Fortran/C interoperability
#
OMPI_F08_SUFFIX="_f08"
OMPI_F_SUFFIX="_f"
OMPI_MPI_PREFIX="MPI_"
OMPI_MPI_BIND_PREFIX="mpi_"
# Open MPI now treats $F77 and $FC the same, meaning that we
# expect them to be the same back-end compiler. If they're not,
# results are undefined. We do a cursory check to see that FC and
# F77 are the same string value (if they're defined). If they're
# not, we'll issue a warning, but keep going on the assumption
# that they're the same back-end compiler (e.g., pgf77 and pgf90).
# Open MPI only uses $FC and $FCFLAGS -- $F77 and $FFLAGS are now
# ignored.
if test "$F77" != "" || test "$FFLAGS" != ""
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI now ignores the F77 and FFLAGS environment variables; only the FC and FCFLAGS environment variables are used." >&5
printf "%s\n" "$as_me: WARNING: Open MPI now ignores the F77 and FFLAGS environment variables; only the FC and FCFLAGS environment variables are used." >&2;}
sleep 5
fi
#-----------------------------------------------------------------------
# If we want any of the Fortran MPI bindings, setup the Fortran compiler
#-----------------------------------------------------------------------
ompi_fortran_happy=0
# $LN_S is used below
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
printf %s "checking whether ln -s works... " >&6; }
LN_S=$as_ln_s
if test "$LN_S" = "ln -s"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
printf "%s\n" "no, using $LN_S" >&6; }
fi
ompi_fortran_double_underscore=0
ompi_fortran_single_underscore=0
ompi_fortran_caps=0
ompi_fortran_plain=0
printf "%s\n" "#define OMPI_FORTRAN_MPIFH_BINDINGS $OMPI_FORTRAN_MPIFH_BINDINGS" >>confdefs.h
printf "%s\n" "#define OMPI_FORTRAN_USEMPI_BINDINGS $OMPI_FORTRAN_USEMPI_BINDINGS" >>confdefs.h
printf "%s\n" "#define OMPI_FORTRAN_USEMPIF08_BINDINGS $OMPI_FORTRAN_USEMPIF08_BINDINGS" >>confdefs.h
if test $OMPI_TRY_FORTRAN_BINDINGS -gt $OMPI_FORTRAN_NO_BINDINGS
then :
opal_var_scope_push ${LINENO} ompi_fc_happy LDFLAGS_save fc_version OMPI_FORTRAN_WRAPPER_FLAGS
# Force the intro banner to be displayed first
# Unfortunately, we must REQUIRE this for the reasons cited in the
# Autoconf (version >= 2.64) docs.
# If $FC is "no", that's another way of the user telling us "I
# don't want any Fortran compiler". That being said, there are
# already existing code paths that expect an empty $FC to mean "no
# Fortran compiler", so turn "no" into "" here.
if test "$FC" = "no"
then :
FC=
fi
if test -z "$FC"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** All Fortran MPI bindings disabled (could not find compiler)" >&5
printf "%s\n" "$as_me: WARNING: *** All Fortran MPI bindings disabled (could not find compiler)" >&2;}
ompi_fc_happy=0
else $as_nop
ompi_fc_happy=1
fi
# Make sure the compiler actually works, if not cross-compiling.
# Don't just use the AC macro so that we can have a pretty
# message.
if test $ompi_fc_happy -eq 1
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler works" >&5
printf %s "checking if Fortran compiler works... " >&6; }
if test ${opal_cv_Fortran_works+y}
then :
printf %s "(cached) " >&6
else $as_nop
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
if test "$cross_compiling" = yes
then :
cat > conftest.$ac_ext <<_ACEOF
program main
end
_ACEOF
if ac_fn_fc_try_link "$LINENO"
then :
opal_cv_Fortran_works="links (cross compiling)"
else $as_nop
opal_cv_Fortran_works="no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
else $as_nop
cat > conftest.$ac_ext <<_ACEOF
program main
end
_ACEOF
if ac_fn_fc_try_run "$LINENO"
then :
opal_cv_Fortran_works="yes"
else $as_nop
opal_cv_Fortran_works="no"
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
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
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cv_Fortran_works" >&5
printf "%s\n" "$opal_cv_Fortran_works" >&6; }
if test "x$opal_cv_Fortran_works" = xno
then :
cat <&2
**********************************************************************
* It appears that your Fortran compiler is unable to produce working
* executables. A simple test application failed to properly
* execute. Note that this is likely not a problem with Open MPI,
* but a problem with the local compiler installation. More
* information (including exactly what command was given to the
* compiler and what error resulted when the command was executed) is
* available in the config.log file in the Open MPI build directory.
**********************************************************************
EOF
as_fn_error $? "Could not run a simple Fortran program. Aborting." "$LINENO" 5
fi
fi
# OS X before 10.3 (deployment target) does not allow undefined common
# symbols in shared libraries. Because we can't figure out how to
# implement MPI_STATUSES_IGNORE and friends without common symbols, on
# OS X we can't build the F90 bindings as a shared library.
OMPI_FORTRAN_EXTRA_SHARED_LIBRARY_FLAGS=
if test $ompi_fc_happy -eq 1
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for extra arguments to build a shared library" >&5
printf %s "checking for extra arguments to build a shared library... " >&6; }
case "$host" in
*apple-darwin*)
if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: impossible -- -static" >&5
printf "%s\n" "impossible -- -static" >&6; }
OMPI_FORTRAN_EXTRA_SHARED_LIBRARY_FLAGS="-static"
else
case ${MACOSX_DEPLOYMENT_TARGET} in
10.012)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: impossible -- -static" >&5
printf "%s\n" "impossible -- -static" >&6; }
OMPI_FORTRAN_EXTRA_SHARED_LIBRARY_FLAGS="-static"
;;
10.*)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: -Wl,-single_module" >&5
printf "%s\n" "-Wl,-single_module" >&6; }
OMPI_FORTRAN_EXTRA_SHARED_LIBRARY_FLAGS="-Wl,-single_module"
esac
fi
;;
*)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
printf "%s\n" "none needed" >&6; }
OMPI_FORTRAN_EXTRA_SHARED_LIBRARY_FLAGS=""
;;
esac
fi
# The Absoft compiler does not like the fact that we use lots of
# "ignore TKR" comment pragmas that it doesn't understand, and
# will warn about them. From Tony Goetz at Absoft, we can use the
# -Z790 flag to quell these warnings.
# The NAG compiler is too picky about naming conventions, so use the
# -mismatch flag to keep it happy
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $FC warnings flags" >&5
printf %s "checking for $FC warnings flags... " >&6; }
fc_version=`$FC --version 2>&1`
case "$fc_version" in
*Absoft*)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: -Z790" >&5
printf "%s\n" "-Z790" >&6; }
FCFLAGS="$FCFLAGS -Z790"
;;
*NAG*)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: -mismatch" >&5
printf "%s\n" "-mismatch" >&6; }
FCFLAGS="$FCFLAGS -mismatch"
;;
*)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none" >&5
printf "%s\n" "none" >&6; }
;;
esac
# If we're still good, then save the extra file types. Do this last
# because it implies tests that should be invoked by the above tests
# (e.g., running the fortran compiler).
if test $ompi_fc_happy -eq 1
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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran flag to compile .f files" >&5
printf %s "checking for Fortran flag to compile .f files... " >&6; }
if test ${ac_cv_fc_srcext_f+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_ext=f
ac_fcflags_srcext_save=$ac_fcflags_srcext
ac_fcflags_srcext=
ac_cv_fc_srcext_f=unknown
case $ac_ext in #(
[fF]77) ac_try=f77;; #(
*) ac_try=f95;;
esac
for ac_flag in none -qsuffix=f=f -Tf "-x $ac_try"; do
test "x$ac_flag" != xnone && ac_fcflags_srcext="$ac_flag"
cat > conftest.$ac_ext <<_ACEOF
program main
end
_ACEOF
if ac_fn_fc_try_compile "$LINENO"
then :
ac_cv_fc_srcext_f=$ac_flag; break
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
done
rm -f conftest.$ac_objext conftest.f
ac_fcflags_srcext=$ac_fcflags_srcext_save
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_srcext_f" >&5
printf "%s\n" "$ac_cv_fc_srcext_f" >&6; }
if test "x$ac_cv_fc_srcext_f" = xunknown; then
as_fn_error $? "Fortran could not compile .f files" "$LINENO" 5
else
ac_fc_srcext=f
if test "x$ac_cv_fc_srcext_f" = xnone; then
ac_fcflags_srcext=""
FCFLAGS_f=""
else
ac_fcflags_srcext=$ac_cv_fc_srcext_f
FCFLAGS_f=$ac_cv_fc_srcext_f
fi
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=${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
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran flag to compile .f90 files" >&5
printf %s "checking for Fortran flag to compile .f90 files... " >&6; }
if test ${ac_cv_fc_srcext_f90+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_ext=f90
ac_fcflags_srcext_save=$ac_fcflags_srcext
ac_fcflags_srcext=
ac_cv_fc_srcext_f90=unknown
case $ac_ext in #(
[fF]77) ac_try=f77;; #(
*) ac_try=f95;;
esac
for ac_flag in none -qsuffix=f=f90 -Tf "-x $ac_try"; do
test "x$ac_flag" != xnone && ac_fcflags_srcext="$ac_flag"
cat > conftest.$ac_ext <<_ACEOF
program main
end
_ACEOF
if ac_fn_fc_try_compile "$LINENO"
then :
ac_cv_fc_srcext_f90=$ac_flag; break
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
done
rm -f conftest.$ac_objext conftest.f90
ac_fcflags_srcext=$ac_fcflags_srcext_save
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_srcext_f90" >&5
printf "%s\n" "$ac_cv_fc_srcext_f90" >&6; }
if test "x$ac_cv_fc_srcext_f90" = xunknown; then
as_fn_error $? "Fortran could not compile .f90 files" "$LINENO" 5
else
ac_fc_srcext=f90
if test "x$ac_cv_fc_srcext_f90" = xnone; then
ac_fcflags_srcext=""
FCFLAGS_f90=""
else
ac_fcflags_srcext=$ac_cv_fc_srcext_f90
FCFLAGS_f90=$ac_cv_fc_srcext_f90
fi
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
fi
# Check to see if we need additional compiler flags for
# preprocessing .F90 files.
if test $ompi_fc_happy -eq 1
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compilers preprocess .F90 files without additional flag" >&5
printf %s "checking if Fortran compilers preprocess .F90 files without additional flag... " >&6; }
cat > conftest_f.F90 << EOF
#if 0
#error The source file was not preprocessed
#endif
program bogus
end program
EOF
printf "%s\n" "configure:29789: $FC $FCFLAGS -c conftest_f.F90" >&5
$FC $FCFLAGS -c conftest_f.F90 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:29792: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if -fpp flag works" >&5
printf %s "checking if -fpp flag works... " >&6; }
printf "%s\n" "configure:29803: $FC $FCFLAGS -fpp -c conftest_f.F90" >&5
$FC $FCFLAGS -fpp -c conftest_f.F90 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:29806: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
FCFLAGS="$FCFLAGS -fpp"
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
as_fn_error $? "cannot preprocess Fortran files, Aborting" "$LINENO" 5
fi
{ oac_log_command_status=; unset oac_log_command_status;}
fi
{ oac_log_command_status=; unset oac_log_command_status;}
rm -f conftest*
fi
# Per trac #1982, on OS X, we may need some esoteric linker flags
# in the wrapper compilers. However, per
# https://github.com/open-mpi/ompi/issues/259, we need to use
# -Wl,-flat_namespace when *building* the library (and
# -Wl,-commons,use_dylibs isn't quite sufficient).
if test $ompi_fc_happy -eq 1
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking to see if Fortran compilers need additional linker flags" >&5
printf %s "checking to see if Fortran compilers need additional linker flags... " >&6; }
case "$host" in
*apple-darwin*)
# Test whether -Wl,-flat_namespace works; if it does,
# both use it to build the libraries, and also put it
# in the wrapper compiler LDFLAGS.
LDFLAGS_save=$LDFLAGS
LDFLAGS="$LDFLAGS -Wl,-flat_namespace"
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
cat > conftest.$ac_ext <<_ACEOF
program test
integer :: i
end program
_ACEOF
if ac_fn_fc_try_link "$LINENO"
then :
LDFLAGS_save=$LDFLAGS
OMPI_FORTRAN_WRAPPER_FLAGS="-Wl,-flat_namespace"
oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val
for oac_list_arg in $OMPI_FORTRAN_WRAPPER_FLAGS; do
oac_list_append=1
case ${oac_list_arg} in #(
-I*|-L*|-l*) :
for oac_list_val in ${wrapper_extra_fcflags}; do
if test "x${oal_list_val}" = "x${oac_list_arg}"
then :
oac_list_append=0
fi
done ;; #(
*) :
;;
esac
if test ${oac_list_append} -eq 1
then :
if test -z "${wrapper_extra_fcflags}"
then :
wrapper_extra_fcflags="$oac_list_arg"
else $as_nop
wrapper_extra_fcflags="${wrapper_extra_fcflags} $oac_list_arg"
fi
fi
done
oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val
opal_show_verbose "Adding \"$OMPI_FORTRAN_WRAPPER_FLAGS\" to \"FCFLAGS\""
else $as_nop
OMPI_FORTRAN_WRAPPER_FLAGS=none
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
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
LDFLAGS=$LDFLAGS_save
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OMPI_FORTRAN_WRAPPER_FLAGS" >&5
printf "%s\n" "$OMPI_FORTRAN_WRAPPER_FLAGS" >&6; }
;;
*)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none" >&5
printf "%s\n" "none" >&6; }
;;
esac
fi
# Get our Fortran symbol mangling scheme
if test $ompi_fc_happy -eq 1
then :
opal_var_scope_push ${LINENO} FCFLAGS_NEW LDFLAGS_NEW FLAG
# invalidate cache if result came from a run where FORTRAN was disabled
if test "$ompi_cv_fortran_external_symbol" = "skipped" ; then
unset ompi_cv_fortran_external_symbol
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $FORTRAN external symbol convention" >&5
printf %s "checking $FORTRAN external symbol convention... " >&6; }
if test ${ompi_cv_fortran_external_symbol+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test "$FC" = "none" || \
test "$OMPI_TRY_FORTRAN_BINDINGS" = "$OMPI_FORTRAN_NO_BINDINGS"; then
ompi_cv_fortran_external_symbol="skipped"
else
cat >conftest.f <&5
else $as_nop
printf "%s\n" Try with new FCFLAGS: $FCFLAGS_NEW and new LDFLAGS:$LDFLAGS_NEW >&5
fi
;;
*)
FCFLAGS_NEW="$FCFLAGS"
LDFLAGS_NEW="$LDFLAGS"
;;
esac
happy=1
printf "%s\n" "configure:29982: $FC $FCFLAGS_NEW -c conftest.f $LDFLAGS_NEW $LIBS" >&5
$FC $FCFLAGS_NEW -c conftest.f $LDFLAGS_NEW $LIBS 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:29985: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
if $NM conftest.o | $GREP foo_bar__ >/dev/null 2>&1 ; then
ompi_cv_fortran_external_symbol="double underscore"
elif $NM conftest.o | $GREP foo_bar_ >/dev/null 2>&1 ; then
ompi_cv_fortran_external_symbol="single underscore"
elif $NM conftest.o | $GREP FOO_bar >/dev/null 2>&1 ; then
ompi_cv_fortran_external_symbol="mixed case"
elif $NM conftest.o | $GREP foo_bar >/dev/null 2>&1 ; then
ompi_cv_fortran_external_symbol="no underscore"
elif $NM conftest.o | $GREP FOO_BAR >/dev/null 2>&1 ; then
ompi_cv_fortran_external_symbol="upper case"
else
$NM conftest.o >conftest.out 2>&1
if test -n ""
then :
printf "%s\n" "configure:30002: Could not determine Fortran naming convention. Output from $NM:" >&5
else $as_nop
printf "%s\n" Could not determine Fortran naming convention. Output from $NM: >&5
fi
if test -n "conftest.out" && test -f "conftest.out"
then :
cat conftest.out >&5
fi
happy=0
fi
else $as_nop
as_fn_error $? "Fortran compiler did not produce object file" "$LINENO" 5
fi
{ oac_log_command_status=; unset oac_log_command_status;}
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_external_symbol" >&5
printf "%s\n" "$ompi_cv_fortran_external_symbol" >&6; }
# These values were all already set to 0 back up in
# ompi_setup_mpi_fortran.m4, because this whole macro is
# conditionally executed (i.e., it is not executed in the
# --disable-mpi-fortran case).
if test "$ompi_cv_fortran_external_symbol" = "double underscore" ; then
ompi_fortran_double_underscore=1
elif test "$ompi_cv_fortran_external_symbol" = "single underscore" ; then
ompi_fortran_single_underscore=1
elif test "$ompi_cv_fortran_external_symbol" = "mixed case" ; then
ompi_fortran_caps=1
elif test "$ompi_cv_fortran_external_symbol" = "no underscore" ; then
ompi_fortran_plain=1
elif test "$ompi_cv_fortran_external_symbol" = "upper case" ; then
ompi_fortran_caps=1
elif test "$ompi_cv_fortran_external_symbol" != "skipped" ; then
as_fn_error $? "unknown naming convention: $ompi_cv_fortran_external_symbol" "$LINENO" 5
fi
opal_var_scope_pop FCFLAGS_NEW LDFLAGS_NEW FLAG
rm -rf conftest.*
fi
# Make sure we can link with C code.
if test $ompi_fc_happy -eq 1
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if C and Fortran are link compatible" >&5
printf %s "checking if C and Fortran are link compatible... " >&6; }
if test ${ompi_cv_c_link_Fortran+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test "$ompi_cv_fortran_external_symbol" = "double underscore" ; then
# so the general rule is that if there is an _ in the function
# name, then there are two trailing underscores. Otherwise,
# there is only one trailing underscore. Any idea how to do
# that with m4_translit?
if echo testfunc | $GREP _ >/dev/null 2>&1 ; then
testfunc_name=testfunc__
else
testfunc_name=testfunc_
fi
elif test "$ompi_cv_fortran_external_symbol" = "single underscore" ; then
testfunc_name=testfunc_
elif test "$ompi_cv_fortran_external_symbol" = "mixed case" ; then
testfunc_name=testfunc
elif test "$ompi_cv_fortran_external_symbol" = "no underscore" ; then
testfunc_name=testfunc
elif test "$ompi_cv_fortran_external_symbol" = "upper case" ; then
testfunc_name=TESTFUNC
else
as_fn_error $? "unknown naming convention: $ompi_cv_fortran_external_symbol" "$LINENO" 5
fi
# Write out C part
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
rm -f conftest_c.$ac_ext
cat > conftest_c.$ac_ext << EOF
int $testfunc_name(int a);
int $testfunc_name(int a) { return a; }
EOF
# Now compile both parts
printf "%s\n" "configure:30098: $CC -c $CFLAGS $CPPFLAGS conftest_c.$ac_ext" >&5
$CC -c $CFLAGS $CPPFLAGS conftest_c.$ac_ext 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:30101: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
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
ompi_lang_link_with_c_libs="$LIBS"
LIBS="conftest_c.o $LIBS"
cat > conftest.$ac_ext <<_ACEOF
program main
external testfunc
call testfunc(1)
end
_ACEOF
if ac_fn_fc_try_link "$LINENO"
then :
ompi_cv_c_link_Fortran="yes"
else $as_nop
ompi_cv_c_link_Fortran="no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
LIBS="$ompi_lang_link_with_c_libs"
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
else $as_nop
ompi_cv_c_link_Fortran="no"
fi
{ oac_log_command_status=; unset oac_log_command_status;}
rm -f conftest_c.$ac_ext
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
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_c_link_Fortran" >&5
printf "%s\n" "$ompi_cv_c_link_Fortran" >&6; }
if test "x$ompi_cv_c_link_Fortran" = xyes
then :
else $as_nop
cat <&5
printf %s "checking to see if Fortran compiler likes the C++ exception flags... " >&6; }
if test "$OMPI_CXX_EXCEPTIONS_CXXFLAGS" = ""
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: skipped (no C++ exceptions flags)" >&5
printf "%s\n" "skipped (no C++ exceptions flags)" >&6; }
else $as_nop
FCFLAGS="$FCFLAGS $OMPI_CXX_EXCEPTIONS_CXXFLAGS"
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
cat > conftest.$ac_ext <<_ACEOF
program main
INTEGER I
I = 3
end
_ACEOF
if ac_fn_fc_try_compile "$LINENO"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: C++ exception flags are different between the C and Fortran compilers; this configure script cannot currently handle this scenario. Either disable C++ exception support or send mail to the Open MPI users list." >&5
printf "%s\n" "$as_me: WARNING: C++ exception flags are different between the C and Fortran compilers; this configure script cannot currently handle this scenario. Either disable C++ exception support or send mail to the Open MPI users list." >&2;}
as_fn_error $? "*** Cannot continue" "$LINENO" 5
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
fi
fi
# Per Trac #1982, on OS X, we may need some esoteric linker flags in the
# Fortran wrapper compiler.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking to see if mpifort compiler needs additional linker flags" >&5
printf %s "checking to see if mpifort compiler needs additional linker flags... " >&6; }
case "$host" in
*apple-darwin*)
opal_var_scope_push ${LINENO} xcode_flags
# This variable is used by the invoking macro to display the
# results via AC RESULT (just to keep the symmetry of
# MSG_CHECKING / RESULT in the same upper-level macro).
OMPI_FORTRAN_WRAPPER_FLAGS=
xcode_flags="-Wl,-commons,use_dylibs"
opal_var_scope_push ${LINENO} xcode_happy xcode_dir LDFLAGS_save_xcode LIBS_save_xcode
xcode_dir=conftest.$$
rm -rf $xcode_dir
mkdir -p $xcode_dir
cd $xcode_dir
LIBS_save_xcode=$LIBS
LDFLAGS_save_xcode=$LDFLAGS
LDFLAGS="$LDFLAGS -L. $xcode_flags"
# Note: we use COMPILE_IFELSE and LANG_SOURCE below, which assume
# that confdefs.h exists. This is being invoked extremely early
# in the configure sequence, so we haven't AC DEFINE'ed anything
# yet, and therefore confdefs.h won't be automatically created
# yet. So we'll make an empty confdefs.h to avoid some error
# messages (it'll be removed with the whole tempdir, later).
touch confdefs.h
# Step 1: make a C library with some public symbols
xcode_happy=0
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
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Must end the symbol in _ (remember: we are specifically targeting
the MacOS compilation environment, so it is ok to target a specific
Fortran symbol convention), otherwise the Fortran linker will not
find it, and will just create a new Fortran symbol for it */
int ompi_mpi_bottom_ = 42;
void ompi_init_f(int *bogus);
/* Empty / useless function that still ensures that this compilation
unit will not be optimized out */
void ompi_init_f(int *bogus)
{
*bogus = ompi_mpi_bottom_;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
# If the above compiled successfully, Then use
# conftest.OBJEXT to make the library. Note that
# conftest.OBJEXT will automatically be deleted upon exit of
# COMPILE_IFELSE.
#
# NOTE: this is pretty gross -- we're manually making a
# shared library. But the libtool binary doesn't exist yet,
# so this is the best that we can do.
printf "%s\n" "configure:30304: $CC -dynamiclib -Wl,-undefined -Wl,dynamic_lookup $LDFLAGS conftest.$OBJEXT -o libconftest.dylib" >&5
$CC -dynamiclib -Wl,-undefined -Wl,dynamic_lookup $LDFLAGS conftest.$OBJEXT -o libconftest.dylib 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:30307: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
xcode_happy=1
fi
{ oac_log_command_status=; unset oac_log_command_status;}
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
# Now compile and link a Fortran program against this shared
# library.
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
if test $xcode_happy -eq 1
then :
LIBS="$LIBS -lconftest"
cat > conftest.$ac_ext <<_ACEOF
program test
integer :: mpi_bottom
common/ompi_mpi_bottom/mpi_bottom
interface
subroutine ompi_init(bogus) BIND(C, name="ompi_init_f")
implicit none
integer bogus
end subroutine ompi_init
end interface
integer bogus
call ompi_init(bogus)
end program
_ACEOF
if ac_fn_fc_try_link "$LINENO"
then :
else $as_nop
xcode_happy=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
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
# Exit the temp dir
cd ..
rm -rf $xcode_dir
# LIBS was set specifically for the artificial conditions of this
# test, so reset it
LIBS=$LIBS_save_xcode
if test $xcode_happy -eq 1
then :
# Restore LDFLAFGS + the new flags (i.e., get rid of the
# "-L." we added for this test)
LDFLAGS="$LDFLAGS_xcode_save $xcode_flags"
OMPI_FORTRAN_WRAPPER_FLAGS=$xcode_flags
else $as_nop
# If we failed the test, reset LDFLAGS back to its
# original value.
LDFLAGS=$LDFLAGS_xcode_save
fi
opal_var_scope_pop xcode_happy xcode_dir LDFLAGS_save_xcode LIBS_save_xcode
if test -z "$OMPI_FORTRAN_WRAPPER_FLAGS"
then :
xcode_flags="-Wl,-commons,use_dylibs -Wl,-ld_classic"
opal_var_scope_push ${LINENO} xcode_happy xcode_dir LDFLAGS_save_xcode LIBS_save_xcode
xcode_dir=conftest.$$
rm -rf $xcode_dir
mkdir -p $xcode_dir
cd $xcode_dir
LIBS_save_xcode=$LIBS
LDFLAGS_save_xcode=$LDFLAGS
LDFLAGS="$LDFLAGS -L. $xcode_flags"
# Note: we use COMPILE_IFELSE and LANG_SOURCE below, which assume
# that confdefs.h exists. This is being invoked extremely early
# in the configure sequence, so we haven't AC DEFINE'ed anything
# yet, and therefore confdefs.h won't be automatically created
# yet. So we'll make an empty confdefs.h to avoid some error
# messages (it'll be removed with the whole tempdir, later).
touch confdefs.h
# Step 1: make a C library with some public symbols
xcode_happy=0
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
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Must end the symbol in _ (remember: we are specifically targeting
the MacOS compilation environment, so it is ok to target a specific
Fortran symbol convention), otherwise the Fortran linker will not
find it, and will just create a new Fortran symbol for it */
int ompi_mpi_bottom_ = 42;
void ompi_init_f(int *bogus);
/* Empty / useless function that still ensures that this compilation
unit will not be optimized out */
void ompi_init_f(int *bogus)
{
*bogus = ompi_mpi_bottom_;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
# If the above compiled successfully, Then use
# conftest.OBJEXT to make the library. Note that
# conftest.OBJEXT will automatically be deleted upon exit of
# COMPILE_IFELSE.
#
# NOTE: this is pretty gross -- we're manually making a
# shared library. But the libtool binary doesn't exist yet,
# so this is the best that we can do.
printf "%s\n" "configure:30454: $CC -dynamiclib -Wl,-undefined -Wl,dynamic_lookup $LDFLAGS conftest.$OBJEXT -o libconftest.dylib" >&5
$CC -dynamiclib -Wl,-undefined -Wl,dynamic_lookup $LDFLAGS conftest.$OBJEXT -o libconftest.dylib 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:30457: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
xcode_happy=1
fi
{ oac_log_command_status=; unset oac_log_command_status;}
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
# Now compile and link a Fortran program against this shared
# library.
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
if test $xcode_happy -eq 1
then :
LIBS="$LIBS -lconftest"
cat > conftest.$ac_ext <<_ACEOF
program test
integer :: mpi_bottom
common/ompi_mpi_bottom/mpi_bottom
interface
subroutine ompi_init(bogus) BIND(C, name="ompi_init_f")
implicit none
integer bogus
end subroutine ompi_init
end interface
integer bogus
call ompi_init(bogus)
end program
_ACEOF
if ac_fn_fc_try_link "$LINENO"
then :
else $as_nop
xcode_happy=0
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
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
# Exit the temp dir
cd ..
rm -rf $xcode_dir
# LIBS was set specifically for the artificial conditions of this
# test, so reset it
LIBS=$LIBS_save_xcode
if test $xcode_happy -eq 1
then :
# Restore LDFLAFGS + the new flags (i.e., get rid of the
# "-L." we added for this test)
LDFLAGS="$LDFLAGS_xcode_save $xcode_flags"
OMPI_FORTRAN_WRAPPER_FLAGS=$xcode_flags
else $as_nop
# If we failed the test, reset LDFLAGS back to its
# original value.
LDFLAGS=$LDFLAGS_xcode_save
fi
opal_var_scope_pop xcode_happy xcode_dir LDFLAGS_save_xcode LIBS_save_xcode
fi
if test -z "$OMPI_FORTRAN_WRAPPER_FLAGS"
then :
OMPI_FORTRAN_WRAPPER_FLAGS="none"
fi
opal_var_scope_pop xcode_flags
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OMPI_FORTRAN_WRAPPER_FLAGS" >&5
printf "%s\n" "$OMPI_FORTRAN_WRAPPER_FLAGS" >&6; }
;;
*)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none" >&5
printf "%s\n" "none" >&6; }
;;
esac
# All done
if test $ompi_fc_happy -eq 1
then :
ompi_fortran_happy=1
fi
opal_var_scope_pop ompi_fc_happy LDFLAGS_save fc_version OMPI_FORTRAN_WRAPPER_FLAGS
fi
if test -n "$FC"; then
OMPI_HAVE_FORTRAN_COMPILER_TRUE=
OMPI_HAVE_FORTRAN_COMPILER_FALSE='#'
else
OMPI_HAVE_FORTRAN_COMPILER_TRUE='#'
OMPI_HAVE_FORTRAN_COMPILER_FALSE=
fi
# These values will be determined by SETUP_FC. We must always
# AC_DEFINE these results, even in the --disable-mpi-fortran case,
# for ompi_info.
printf "%s\n" "#define OMPI_FORTRAN_DOUBLE_UNDERSCORE $ompi_fortran_double_underscore" >>confdefs.h
OMPI_FORTRAN_DOUBLE_UNDERSCORE=$ompi_fortran_double_underscore
printf "%s\n" "#define OMPI_FORTRAN_SINGLE_UNDERSCORE $ompi_fortran_single_underscore" >>confdefs.h
OMPI_FORTRAN_SINGLE_UNDERSCORE=$ompi_fortran_single_underscore
printf "%s\n" "#define OMPI_FORTRAN_CAPS $ompi_fortran_caps" >>confdefs.h
OMPI_FORTRAN_CAPS=$ompi_fortran_caps
printf "%s\n" "#define OMPI_FORTRAN_PLAIN $ompi_fortran_plain" >>confdefs.h
OMPI_FORTRAN_PLAIN=$ompi_fortran_plain
# Check to see if any of the MPI Fortran bindings were
# specifically requested. If so, and we weren't able to setup the
# Fortran compiler properly, it's an error.
if test $ompi_fortran_happy -eq 0 && \
test $OMPI_MIN_REQUIRED_FORTRAN_BINDINGS -gt $OMPI_FORTRAN_NO_BINDINGS
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MPI Fortran bindings requested, but no suitable Fortran compiler found" >&5
printf "%s\n" "$as_me: WARNING: MPI Fortran bindings requested, but no suitable Fortran compiler found" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
# This allows us to mark bogus types, but still have them be a valid
# [sentinel] value
printf "%s\n" "#define ompi_fortran_bogus_type_t int" >>confdefs.h
# These get filled in as we check for each type
OMPI_FORTRAN_IKINDS=
OMPI_FORTRAN_RKINDS=
OMPI_FORTRAN_CKINDS=
# We want to set the #define's for all of these, so invoke the macros
# regardless of whether we have F77 support or not.
opal_var_scope_push ${LINENO} ofc_have_type ofc_type_size ofc_type_alignment ofc_c_type ofc_expected_size
ofc_expected_size=-1
ofc_define_type=yes
ofc_have_type=0
ofc_type_size=0
ofc_type_alignment=0
ofc_c_type=ompi_fortran_bogus_type_t
ofc_type_kind=0
# Only check if we actually want the Fortran bindings / have a
# Fortran compiler. This allows us to call this macro, even if
# there is no Fortran compiler. If we have no Fortran compiler,
# then just set a bunch of defaults.
if test $OMPI_TRY_FORTRAN_BINDINGS -gt $OMPI_FORTRAN_NO_BINDINGS; then
# Use of m4_translit suggested by Eric Blake:
# http://lists.gnu.org/archive/html/bug-autoconf/2010-10/msg00016.html
# Determine Fortran datatype size.
# First arg is type, 2nd arg is config var to define
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports CHARACTER" >&5
printf %s "checking if Fortran compiler supports CHARACTER... " >&6; }
if test ${ompi_cv_fortran_have_CHARACTER+y}
then :
printf %s "(cached) " >&6
else $as_nop
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
cat > conftest.$ac_ext <<_ACEOF
program main
CHARACTER :: bogus_variable
end program
_ACEOF
if ac_fn_fc_try_compile "$LINENO"
then :
ompi_cv_fortran_have_CHARACTER=yes
else $as_nop
ompi_cv_fortran_have_CHARACTER=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_have_CHARACTER" >&5
printf "%s\n" "$ompi_cv_fortran_have_CHARACTER" >&6; }
if test "x$ompi_cv_fortran_have_CHARACTER" = xyes
then :
ofc_have_type=1
else $as_nop
ofc_have_type=0
fi
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports CHARACTER" >&5
printf %s "checking if Fortran compiler supports CHARACTER... " >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: skipped" >&5
printf "%s\n" "skipped" >&6; }
fi
if test "$ofc_have_type" = "1"; then
# What is the size of this type?
# NOTE: Some Fortran compilers actually will return that a
# type exists even if it doesn't support it -- the compiler
# will automatically convert the unsupported type to a type
# that it *does* support. For example, if you try to use
# INTEGER*16 and the compiler doesn't support it, it may well
# automatically convert it to INTEGER*8 for you (!). So we
# have to check the actual size of the type once we determine
# that the compiler doesn't error if we try to use it
# (i.e,. the compiler *might* support that type). If the size
# doesn't match the expected size, then the compiler doesn't
# really support it.
# Use of m4_translit suggested by Eric Blake:
# http://lists.gnu.org/archive/html/bug-autoconf/2010-10/msg00016.html
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of Fortran CHARACTER" >&5
printf %s "checking size of Fortran CHARACTER... " >&6; }
if test ${ompi_cv_fortran_sizeof_CHARACTER+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test "$ompi_cv_fortran_external_symbol" = "double underscore" ; then
# so the general rule is that if there is an _ in the function
# name, then there are two trailing underscores. Otherwise,
# there is only one trailing underscore. Any idea how to do
# that with m4_translit?
if echo size | $GREP _ >/dev/null 2>&1 ; then
ompi_ac_size_fn=size__
else
ompi_ac_size_fn=size_
fi
elif test "$ompi_cv_fortran_external_symbol" = "single underscore" ; then
ompi_ac_size_fn=size_
elif test "$ompi_cv_fortran_external_symbol" = "mixed case" ; then
ompi_ac_size_fn=size
elif test "$ompi_cv_fortran_external_symbol" = "no underscore" ; then
ompi_ac_size_fn=size
elif test "$ompi_cv_fortran_external_symbol" = "upper case" ; then
ompi_ac_size_fn=SIZE
else
as_fn_error $? "unknown naming convention: $ompi_cv_fortran_external_symbol" "$LINENO" 5
fi
# Fortran module
cat > conftestf.f90 < conftest.c <
#include
$ompi_conftest_h
#ifdef __cplusplus
extern "C" {
#endif
void $ompi_ac_size_fn(char *a, char *b)
{
int diff = (int) (b - a);
FILE *f=fopen("conftestval", "w");
if (!f) exit(1);
fprintf(f, "%d\n", diff);
}
#ifdef __cplusplus
}
#endif
EOF
printf "%s\n" "configure:30786: $CC $CFLAGS -I. -c conftest.c" >&5
$CC $CFLAGS -I. -c conftest.c 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:30789: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
printf "%s\n" "configure:30793: $FC $FCFLAGS $FCFLAGS_f90 conftestf.f90 conftest.o -o conftest $LDFLAGS $LIBS" >&5
$FC $FCFLAGS $FCFLAGS_f90 conftestf.f90 conftest.o -o conftest $LDFLAGS $LIBS 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:30796: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
happy="yes"
else $as_nop
happy="no"
fi
{ oac_log_command_status=; unset oac_log_command_status;}
else $as_nop
happy="no"
fi
{ oac_log_command_status=; unset oac_log_command_status;}
if test "$happy" = "no" ; then
if test -n "1"
then :
printf "%s\n" "configure:30812: here is the Fortran program:" >&5
else $as_nop
printf "%s\n" here is the Fortran program: >&5
fi
if test -n "conftestf.f90" && test -f "conftestf.f90"
then :
cat conftestf.f90 >&5
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not determine size of CHARACTER" >&5
printf "%s\n" "$as_me: WARNING: Could not determine size of CHARACTER" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: See config.log for details" >&5
printf "%s\n" "$as_me: WARNING: See config.log for details" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
if test "$cross_compiling" = "yes"
then :
as_fn_error $? "Can not determine size of CHARACTER when cross-compiling" "$LINENO" 5
else $as_nop
printf "%s\n" "configure:30832: ./conftest" >&5
./conftest 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:30835: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
ompi_cv_fortran_sizeof_CHARACTER=`cat conftestval`
else $as_nop
as_fn_error $? "Could not determine size of CHARACTER" "$LINENO" 5
fi
{ oac_log_command_status=; unset oac_log_command_status;}
fi
unset happy ompi_conftest_h
rm -rf conftest*
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_sizeof_CHARACTER" >&5
printf "%s\n" "$ompi_cv_fortran_sizeof_CHARACTER" >&6; }
ofc_type_size=$ompi_cv_fortran_sizeof_CHARACTER
if test "$ofc_expected_size" != "-1" && test "$ofc_type_size" != "$ofc_expected_size"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Fortran CHARACTER does not have expected size!" >&5
printf "%s\n" "$as_me: WARNING: *** Fortran CHARACTER does not have expected size!" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Expected $ofc_expected_size, got $ofc_type_size" >&5
printf "%s\n" "$as_me: WARNING: *** Expected $ofc_expected_size, got $ofc_type_size" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Disabling MPI support for Fortran CHARACTER" >&5
printf "%s\n" "$as_me: WARNING: *** Disabling MPI support for Fortran CHARACTER" >&2;}
ofc_have_type=0
else
# Look for a corresponding C type (will abort by itself if the
# type isn't found and we need it)
ofc_c_type=
oft_abort_on_fail="yes"
oft_target_size="$ofc_type_size"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C type corresponding to CHARACTER" >&5
printf %s "checking for C type corresponding to CHARACTER... " >&6; }
if test ${opal_cv_find_type_CHARACTER+y}
then :
printf %s "(cached) " >&6
else $as_nop
# Loop over all the types handed to us
oft_real_type=
if test "$oft_target_size" != ""
then :
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_char" = "$oft_target_size" ; then
oft_real_type="char"
fi
fi
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_int32_t" = "$oft_target_size" ; then
oft_real_type="int32_t"
fi
fi
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_int" = "$oft_target_size" ; then
oft_real_type="int"
fi
fi
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_int64_t" = "$oft_target_size" ; then
oft_real_type="int64_t"
fi
fi
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_long_long" = "$oft_target_size" ; then
oft_real_type="long long"
fi
fi
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_long" = "$oft_target_size" ; then
oft_real_type="long"
fi
fi
fi
if test -z "$oft_real_type"
then :
opal_cv_find_type_CHARACTER="not found"
else $as_nop
opal_cv_find_type_CHARACTER="$oft_real_type"
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cv_find_type_CHARACTER" >&5
printf "%s\n" "$opal_cv_find_type_CHARACTER" >&6; }
if test "x$opal_cv_find_type_CHARACTER" = x"not found"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Did not find corresponding C type" >&5
printf "%s\n" "$as_me: WARNING: *** Did not find corresponding C type" >&2;}
if test "$oft_abort_on_fail" != "no"
then :
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
fi
if test "x$opal_cv_find_type_CHARACTER" = x"not found"
then :
ofc_c_type=
else $as_nop
ofc_c_type=$opal_cv_find_type_CHARACTER
fi
unset oft_real_type oft_target_size
if test -z "$ofc_c_type" ; then
ofc_have_type=0
fi
# Get the alignment of the type
if test "$ofc_have_type" = "1"; then
opal_var_scope_push ${LINENO} fortran_get_alignment_happy ompi_conftest_h
# Use of m4_translit suggested by Eric Blake:
# http://lists.gnu.org/archive/html/bug-autoconf/2010-10/msg00016.html
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking alignment of Fortran CHARACTER" >&5
printf %s "checking alignment of Fortran CHARACTER... " >&6; }
if test ${ompi_cv_fortran_alignment_CHARACTER+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test "$ompi_cv_fortran_external_symbol" = "double underscore" ; then
# so the general rule is that if there is an _ in the function
# name, then there are two trailing underscores. Otherwise,
# there is only one trailing underscore. Any idea how to do
# that with m4_translit?
if echo align | $GREP _ >/dev/null 2>&1 ; then
ompi_ac_align_fn=align__
else
ompi_ac_align_fn=align_
fi
elif test "$ompi_cv_fortran_external_symbol" = "single underscore" ; then
ompi_ac_align_fn=align_
elif test "$ompi_cv_fortran_external_symbol" = "mixed case" ; then
ompi_ac_align_fn=align
elif test "$ompi_cv_fortran_external_symbol" = "no underscore" ; then
ompi_ac_align_fn=align
elif test "$ompi_cv_fortran_external_symbol" = "upper case" ; then
ompi_ac_align_fn=ALIGN
else
as_fn_error $? "unknown naming convention: $ompi_cv_fortran_external_symbol" "$LINENO" 5
fi
# Fortran module. Make sure it's .f, not .f90.
cat > conftestf.f < conftest.c <
#include
$ompi_conftest_h
#ifdef __cplusplus
extern "C" {
#endif
void $ompi_ac_align_fn(char *w, char *x, char *y, char *z)
{ unsigned long aw, ax, ay, az;
FILE *f=fopen("conftestval", "w");
if (!f) exit(1);
aw = (unsigned long) w;
ax = (unsigned long) x;
ay = (unsigned long) y;
az = (unsigned long) z;
if (! ((aw%16)||(ax%16)||(ay%16)||(az%16))) fprintf(f, "%d\n", 16);
else if (! ((aw%12)||(ax%12)||(ay%12)||(az%12))) fprintf(f, "%d\n", 12);
else if (! ((aw%8)||(ax%8)||(ay%8)||(az%8))) fprintf(f, "%d\n", 8);
else if (! ((aw%4)||(ax%4)||(ay%4)||(az%4))) fprintf(f, "%d\n", 4);
else if (! ((aw%2)||(ax%2)||(ay%2)||(az%2))) fprintf(f, "%d\n", 2);
else fprintf(f, "%d\n", 1);
fclose(f);
}
#ifdef __cplusplus
}
#endif
EOF
printf "%s\n" "configure:31033: $CC $CFLAGS -I. -c conftest.c" >&5
$CC $CFLAGS -I. -c conftest.c 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:31036: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
printf "%s\n" "configure:31040: $FC $FCFLAGS conftestf.f conftest.o -o conftest $LDFLAGS $LIBS" >&5
$FC $FCFLAGS conftestf.f conftest.o -o conftest $LDFLAGS $LIBS 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:31043: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
fortran_get_alignment_happy="yes"
else $as_nop
fortran_get_alignment_happy="no"
fi
{ oac_log_command_status=; unset oac_log_command_status;}
else $as_nop
fortran_get_alignment_happy="no"
fi
{ oac_log_command_status=; unset oac_log_command_status;}
if test "$fortran_get_alignment_happy" = "no" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error!" >&5
printf "%s\n" "Error!" >&6; }
as_fn_error $? "Could not determine alignment of CHARACTER" "$LINENO" 5
fi
if test "$cross_compiling" = "yes"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error!" >&5
printf "%s\n" "Error!" >&6; }
as_fn_error $? "Can not determine alignment of CHARACTER when cross-compiling" "$LINENO" 5
else $as_nop
printf "%s\n" "configure:31069: ./conftest" >&5
./conftest 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:31072: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
ompi_cv_fortran_alignment_CHARACTER=`cat conftestval`
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error!" >&5
printf "%s\n" "Error!" >&6; }
as_fn_error $? "Could not determine alignment of CHARACTER" "$LINENO" 5
fi
{ oac_log_command_status=; unset oac_log_command_status;}
fi
rm -rf conftest*
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_alignment_CHARACTER" >&5
printf "%s\n" "$ompi_cv_fortran_alignment_CHARACTER" >&6; }
ofc_type_alignment=$ompi_cv_fortran_alignment_CHARACTER
opal_var_scope_pop fortran_get_alignment_happy ompi_conftest_h
# Add it to the relevant list of types found
if test "$ofc_expected_size" != "-1"; then
ofc_letter=C
ofc_str="OMPI_FORTRAN_${ofc_letter}KINDS=\"\$OMPI_FORTRAN_${ofc_letter}KINDS $ofc_type_size \""
eval $ofc_str
fi
fi
# Get the kind of the type. We do this by looking at the
# Fortran type's corresponding C type (which we figured
# out above). Then we look a the official BIND(C) KIND
# type for that type. The official BIND(C) types were
# taken from table 15.2 of the Fortran 2008 standard,
# published on 6 October as ISO/IEC 1539-1:2010 (this is
# not a free document). A copy of this table is in the
# file ompi/mpi/fortran/c_to_integer_kind_mapping.pdf.
# NOTE: Some of the values of these C_* constants *may be
# negative* if the compiler doesn't support them. We have
# already verified that both the Fortran and the C types
# both exist. However, the compiler may still have -1 for
# the C_ constants if the C type is not the same
# format as its corresponding Fortran type (e.g., Absoft's
# "REAL*16" and "long double" are the same size, but not
# the same format -- so the compiler is allowed to define
# C_LONG_DOUBLE to -1).
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for corresponding KIND value of CHARACTER" >&5
printf %s "checking for corresponding KIND value of CHARACTER... " >&6; }
case "$ofc_c_type" in
char) ofc_type_kind=C_SIGNED_CHAR ;;
double) ofc_type_kind=C_DOUBLE ;;
float) ofc_type_kind=C_FLOAT ;;
int) ofc_type_kind=C_INT ;;
int16_t) ofc_type_kind=C_INT16_T ;;
int32_t) ofc_type_kind=C_INT32_T ;;
int64_t) ofc_type_kind=C_INT64_T ;;
int8_t) ofc_type_kind=C_INT8_T ;;
long) ofc_type_kind=C_LONG ;;
long*double) ofc_type_kind=C_LONG_DOUBLE ;;
long*long) ofc_type_kind=C_LONG_LONG ;;
short) ofc_type_kind=C_SHORT ;;
short*float) ofc_type_kind=C_SHORT_FLOAT ;;
short*float*_Complex) ofc_type_kind=C_SHORT_FLOAT_COMPLEX ;;
float*_Complex) ofc_type_kind=C_FLOAT_COMPLEX ;;
double*_Complex) ofc_type_kind=C_DOUBLE_COMPLEX ;;
long*double*_Complex) ofc_type_kind=C_LONG_DOUBLE_COMPLEX ;;
opal_short_float_t) ofc_type_kind=C_SHORT_FLOAT ;;
opal_short_float_complex_t) ofc_type_kind=C_SHORT_FLOAT_COMPLEX ;;
*)
# Skip types like "DOUBLE PRECISION"
;;
esac
if test "$ofc_type_kind" != ""
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ofc_type_kind" >&5
printf "%s\n" "$ofc_type_kind" >&6; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5
printf "%s\n" "" >&6; }
fi
# See if the value is -1. If so, then just say we don't
# have a match. If the compiler doesn't support
# ISO_C_BINDING, C_SHORT_FLOAT, or C_SHORT_FLOAT_COMPLEX,
# then we'll just fall back to a default kind and hope
# for the best. :-\
# Use of m4_translit suggested by Eric Blake:
# http://lists.gnu.org/archive/html/bug-autoconf/2010-10/msg00016.html
as_kind_value_var=`printf "%s\n" "ompi_cv_fortran_kind_value_$ofc_type_kind" | $as_tr_sh`
rm -f conftest.out
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking KIND value of Fortran $ofc_type_kind" >&5
printf %s "checking KIND value of Fortran $ofc_type_kind... " >&6; }
if eval test \${$as_kind_value_var+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test $OMPI_TRY_FORTRAN_BINDINGS -eq $OMPI_FORTRAN_NO_BINDINGS || \
test $ompi_fortran_happy -eq 0; then
value=skipped
else
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
value=
if test "$cross_compiling" = yes
then :
value=cross
else $as_nop
cat > conftest.$ac_ext <<_ACEOF
program main
use, intrinsic :: ISO_C_BINDING
implicit none
open(unit = 7, file = "conftest.out")
write(7, *) $ofc_type_kind
close(7)
end
_ACEOF
if ac_fn_fc_try_run "$LINENO"
then :
value=`cat conftest.out | awk '{print $1}'`
else $as_nop
value=no
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f conftest.out
fi
# If the compiler is ancient enough to not support the
# ISO_C_BINDING stuff, then we have to fall back to older
# tests. Yuck.
if test "$value" = "no"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no ISO_C_BINDING -- fallback" >&5
printf "%s\n" "no ISO_C_BINDING -- fallback" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Fortran value of selected_int_kind(4)" >&5
printf %s "checking Fortran value of selected_int_kind(4)... " >&6; }
if test ${ompi_cv_fortran_int_kind_4+y}
then :
printf %s "(cached) " >&6
else $as_nop
outval=no
if test $OMPI_TRY_FORTRAN_BINDINGS -gt $OMPI_FORTRAN_NO_BINDINGS && \
test $ompi_fortran_happy -eq 1
then :
rm -f conftest.out
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
if test "$cross_compiling" = yes
then :
outval=cross
else $as_nop
cat > conftest.$ac_ext <<_ACEOF
program main
open(8, file="conftest.out")
write(8, fmt="(I5)") selected_int_kind(4)
close(8)
end
_ACEOF
if ac_fn_fc_try_run "$LINENO"
then :
outval=`cat conftest.out | awk '{print $1}'`
else $as_nop
outval=no
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f conftest.out
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
fi
ompi_cv_fortran_int_kind_4=$outval
unset outval
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_int_kind_4" >&5
printf "%s\n" "$ompi_cv_fortran_int_kind_4" >&6; }
# All analysis of $value is done in the upper-level / calling
# macro
value=$ompi_cv_fortran_int_kind_4
fi
if test "$value" = "no"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not determine KIND value of $ofc_type_kind" >&5
printf "%s\n" "$as_me: WARNING: Could not determine KIND value of $ofc_type_kind" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: See config.log for more details" >&5
printf "%s\n" "$as_me: WARNING: See config.log for more details" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
if test "$value" = "cross"
then :
as_fn_error $? "Can not determine KIND value of $ofc_type_kind when cross-compiling" "$LINENO" 5
fi
eval "$as_kind_value_var=\$value"
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
unset value
fi
eval ac_res=\$$as_kind_value_var
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
eval ofc_type_kind_value=\$$as_kind_value_var
if test $ofc_type_kind_value -le 0
then :
ofc_have_type=0
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Compiler CHARACTER and $ofc_c_type mismatch; MPI datatype unsupported" >&5
printf "%s\n" "$as_me: WARNING: Compiler CHARACTER and $ofc_c_type mismatch; MPI datatype unsupported" >&2;}
fi
fi
fi
# We always need these defines -- even if we don't have a given
# type, there are some places in the code where we have to have
# *something*. Note that the bpatsubst's are the same as used
# above (see comment above), but we added a translit to make them
# uppercase.
# If we got a pretty name, use that as the basis. If not, use the
# first part of the provided fortran type (e.g.,
# "logical(selected_int_kind(2))" -> logical1")
# Finally, note that it is necessary to use the Big Long Ugly m4
# expressions in the AC_DEFINE_UNQUOTEDs. If you don't (e.g., put
# the result of the BLUm4E in a shell variable and use that in
# AC_DEFINE_UNQUOTED), autoheader won't put them in the
# AC_CONFIG_HEADER (or AM_CONFIG_HEADER, in our case).
printf "%s\n" "#define OMPI_HAVE_FORTRAN_CHARACTER $ofc_have_type" >>confdefs.h
printf "%s\n" "#define OMPI_SIZEOF_FORTRAN_CHARACTER $ofc_type_size" >>confdefs.h
printf "%s\n" "#define OMPI_ALIGNMENT_FORTRAN_CHARACTER $ofc_type_alignment" >>confdefs.h
printf "%s\n" "#define OMPI_KIND_FORTRAN_CHARACTER $ofc_type_kind" >>confdefs.h
if test "char, int32_t, int, int64_t, long long, long" != "" && test "$ofc_define_type" = "yes"; then
printf "%s\n" "#define ompi_fortran_character_t $ofc_c_type" >>confdefs.h
fi
# Save some in shell variables for later use (e.g., need
# OMPI_SIZEOF_FORTRAN_INTEGER in OMPI_FORTRAN_GET_HANDLE_MAX)
OMPI_FORTRAN_CHARACTER_C_TYPE=$ofc_c_type
OMPI_KIND_FORTRAN_CHARACTER=$ofc_type_kind
OMPI_HAVE_FORTRAN_CHARACTER=$ofc_have_type
OMPI_SIZEOF_FORTRAN_CHARACTER=$ofc_type_size
OMPI_ALIGNMENT_FORTRAN_CHARACTER=$ofc_type_alignment
# Wow, this is sick. But it works! :-)
# Clean up
opal_var_scope_pop ofc_have_type ofc_type_size ofc_type_alignment ofc_c_type ofc_expected_size
opal_var_scope_push ${LINENO} ofc_have_type ofc_type_size ofc_type_alignment ofc_c_type ofc_expected_size
ofc_expected_size=-1
ofc_define_type=yes
ofc_have_type=0
ofc_type_size=0
ofc_type_alignment=0
ofc_c_type=ompi_fortran_bogus_type_t
ofc_type_kind=0
# Only check if we actually want the Fortran bindings / have a
# Fortran compiler. This allows us to call this macro, even if
# there is no Fortran compiler. If we have no Fortran compiler,
# then just set a bunch of defaults.
if test $OMPI_TRY_FORTRAN_BINDINGS -gt $OMPI_FORTRAN_NO_BINDINGS; then
# Use of m4_translit suggested by Eric Blake:
# http://lists.gnu.org/archive/html/bug-autoconf/2010-10/msg00016.html
# Determine Fortran datatype size.
# First arg is type, 2nd arg is config var to define
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports LOGICAL" >&5
printf %s "checking if Fortran compiler supports LOGICAL... " >&6; }
if test ${ompi_cv_fortran_have_LOGICAL+y}
then :
printf %s "(cached) " >&6
else $as_nop
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
cat > conftest.$ac_ext <<_ACEOF
program main
LOGICAL :: bogus_variable
end program
_ACEOF
if ac_fn_fc_try_compile "$LINENO"
then :
ompi_cv_fortran_have_LOGICAL=yes
else $as_nop
ompi_cv_fortran_have_LOGICAL=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_have_LOGICAL" >&5
printf "%s\n" "$ompi_cv_fortran_have_LOGICAL" >&6; }
if test "x$ompi_cv_fortran_have_LOGICAL" = xyes
then :
ofc_have_type=1
else $as_nop
ofc_have_type=0
fi
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports LOGICAL" >&5
printf %s "checking if Fortran compiler supports LOGICAL... " >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: skipped" >&5
printf "%s\n" "skipped" >&6; }
fi
if test "$ofc_have_type" = "1"; then
# What is the size of this type?
# NOTE: Some Fortran compilers actually will return that a
# type exists even if it doesn't support it -- the compiler
# will automatically convert the unsupported type to a type
# that it *does* support. For example, if you try to use
# INTEGER*16 and the compiler doesn't support it, it may well
# automatically convert it to INTEGER*8 for you (!). So we
# have to check the actual size of the type once we determine
# that the compiler doesn't error if we try to use it
# (i.e,. the compiler *might* support that type). If the size
# doesn't match the expected size, then the compiler doesn't
# really support it.
# Use of m4_translit suggested by Eric Blake:
# http://lists.gnu.org/archive/html/bug-autoconf/2010-10/msg00016.html
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of Fortran LOGICAL" >&5
printf %s "checking size of Fortran LOGICAL... " >&6; }
if test ${ompi_cv_fortran_sizeof_LOGICAL+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test "$ompi_cv_fortran_external_symbol" = "double underscore" ; then
# so the general rule is that if there is an _ in the function
# name, then there are two trailing underscores. Otherwise,
# there is only one trailing underscore. Any idea how to do
# that with m4_translit?
if echo size | $GREP _ >/dev/null 2>&1 ; then
ompi_ac_size_fn=size__
else
ompi_ac_size_fn=size_
fi
elif test "$ompi_cv_fortran_external_symbol" = "single underscore" ; then
ompi_ac_size_fn=size_
elif test "$ompi_cv_fortran_external_symbol" = "mixed case" ; then
ompi_ac_size_fn=size
elif test "$ompi_cv_fortran_external_symbol" = "no underscore" ; then
ompi_ac_size_fn=size
elif test "$ompi_cv_fortran_external_symbol" = "upper case" ; then
ompi_ac_size_fn=SIZE
else
as_fn_error $? "unknown naming convention: $ompi_cv_fortran_external_symbol" "$LINENO" 5
fi
# Fortran module
cat > conftestf.f90 < conftest.c <
#include
$ompi_conftest_h
#ifdef __cplusplus
extern "C" {
#endif
void $ompi_ac_size_fn(char *a, char *b)
{
int diff = (int) (b - a);
FILE *f=fopen("conftestval", "w");
if (!f) exit(1);
fprintf(f, "%d\n", diff);
}
#ifdef __cplusplus
}
#endif
EOF
printf "%s\n" "configure:31535: $CC $CFLAGS -I. -c conftest.c" >&5
$CC $CFLAGS -I. -c conftest.c 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:31538: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
printf "%s\n" "configure:31542: $FC $FCFLAGS $FCFLAGS_f90 conftestf.f90 conftest.o -o conftest $LDFLAGS $LIBS" >&5
$FC $FCFLAGS $FCFLAGS_f90 conftestf.f90 conftest.o -o conftest $LDFLAGS $LIBS 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:31545: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
happy="yes"
else $as_nop
happy="no"
fi
{ oac_log_command_status=; unset oac_log_command_status;}
else $as_nop
happy="no"
fi
{ oac_log_command_status=; unset oac_log_command_status;}
if test "$happy" = "no" ; then
if test -n "1"
then :
printf "%s\n" "configure:31561: here is the Fortran program:" >&5
else $as_nop
printf "%s\n" here is the Fortran program: >&5
fi
if test -n "conftestf.f90" && test -f "conftestf.f90"
then :
cat conftestf.f90 >&5
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not determine size of LOGICAL" >&5
printf "%s\n" "$as_me: WARNING: Could not determine size of LOGICAL" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: See config.log for details" >&5
printf "%s\n" "$as_me: WARNING: See config.log for details" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
if test "$cross_compiling" = "yes"
then :
as_fn_error $? "Can not determine size of LOGICAL when cross-compiling" "$LINENO" 5
else $as_nop
printf "%s\n" "configure:31581: ./conftest" >&5
./conftest 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:31584: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
ompi_cv_fortran_sizeof_LOGICAL=`cat conftestval`
else $as_nop
as_fn_error $? "Could not determine size of LOGICAL" "$LINENO" 5
fi
{ oac_log_command_status=; unset oac_log_command_status;}
fi
unset happy ompi_conftest_h
rm -rf conftest*
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_sizeof_LOGICAL" >&5
printf "%s\n" "$ompi_cv_fortran_sizeof_LOGICAL" >&6; }
ofc_type_size=$ompi_cv_fortran_sizeof_LOGICAL
if test "$ofc_expected_size" != "-1" && test "$ofc_type_size" != "$ofc_expected_size"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Fortran LOGICAL does not have expected size!" >&5
printf "%s\n" "$as_me: WARNING: *** Fortran LOGICAL does not have expected size!" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Expected $ofc_expected_size, got $ofc_type_size" >&5
printf "%s\n" "$as_me: WARNING: *** Expected $ofc_expected_size, got $ofc_type_size" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Disabling MPI support for Fortran LOGICAL" >&5
printf "%s\n" "$as_me: WARNING: *** Disabling MPI support for Fortran LOGICAL" >&2;}
ofc_have_type=0
else
# Look for a corresponding C type (will abort by itself if the
# type isn't found and we need it)
ofc_c_type=
oft_abort_on_fail="yes"
oft_target_size="$ofc_type_size"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C type corresponding to LOGICAL" >&5
printf %s "checking for C type corresponding to LOGICAL... " >&6; }
if test ${opal_cv_find_type_LOGICAL+y}
then :
printf %s "(cached) " >&6
else $as_nop
# Loop over all the types handed to us
oft_real_type=
if test "$oft_target_size" != ""
then :
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_char" = "$oft_target_size" ; then
oft_real_type="char"
fi
fi
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_int32_t" = "$oft_target_size" ; then
oft_real_type="int32_t"
fi
fi
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_int" = "$oft_target_size" ; then
oft_real_type="int"
fi
fi
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_int64_t" = "$oft_target_size" ; then
oft_real_type="int64_t"
fi
fi
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_long_long" = "$oft_target_size" ; then
oft_real_type="long long"
fi
fi
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_long" = "$oft_target_size" ; then
oft_real_type="long"
fi
fi
fi
if test -z "$oft_real_type"
then :
opal_cv_find_type_LOGICAL="not found"
else $as_nop
opal_cv_find_type_LOGICAL="$oft_real_type"
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cv_find_type_LOGICAL" >&5
printf "%s\n" "$opal_cv_find_type_LOGICAL" >&6; }
if test "x$opal_cv_find_type_LOGICAL" = x"not found"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Did not find corresponding C type" >&5
printf "%s\n" "$as_me: WARNING: *** Did not find corresponding C type" >&2;}
if test "$oft_abort_on_fail" != "no"
then :
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
fi
if test "x$opal_cv_find_type_LOGICAL" = x"not found"
then :
ofc_c_type=
else $as_nop
ofc_c_type=$opal_cv_find_type_LOGICAL
fi
unset oft_real_type oft_target_size
if test -z "$ofc_c_type" ; then
ofc_have_type=0
fi
# Get the alignment of the type
if test "$ofc_have_type" = "1"; then
opal_var_scope_push ${LINENO} fortran_get_alignment_happy ompi_conftest_h
# Use of m4_translit suggested by Eric Blake:
# http://lists.gnu.org/archive/html/bug-autoconf/2010-10/msg00016.html
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking alignment of Fortran LOGICAL" >&5
printf %s "checking alignment of Fortran LOGICAL... " >&6; }
if test ${ompi_cv_fortran_alignment_LOGICAL+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test "$ompi_cv_fortran_external_symbol" = "double underscore" ; then
# so the general rule is that if there is an _ in the function
# name, then there are two trailing underscores. Otherwise,
# there is only one trailing underscore. Any idea how to do
# that with m4_translit?
if echo align | $GREP _ >/dev/null 2>&1 ; then
ompi_ac_align_fn=align__
else
ompi_ac_align_fn=align_
fi
elif test "$ompi_cv_fortran_external_symbol" = "single underscore" ; then
ompi_ac_align_fn=align_
elif test "$ompi_cv_fortran_external_symbol" = "mixed case" ; then
ompi_ac_align_fn=align
elif test "$ompi_cv_fortran_external_symbol" = "no underscore" ; then
ompi_ac_align_fn=align
elif test "$ompi_cv_fortran_external_symbol" = "upper case" ; then
ompi_ac_align_fn=ALIGN
else
as_fn_error $? "unknown naming convention: $ompi_cv_fortran_external_symbol" "$LINENO" 5
fi
# Fortran module. Make sure it's .f, not .f90.
cat > conftestf.f < conftest.c <
#include
$ompi_conftest_h
#ifdef __cplusplus
extern "C" {
#endif
void $ompi_ac_align_fn(char *w, char *x, char *y, char *z)
{ unsigned long aw, ax, ay, az;
FILE *f=fopen("conftestval", "w");
if (!f) exit(1);
aw = (unsigned long) w;
ax = (unsigned long) x;
ay = (unsigned long) y;
az = (unsigned long) z;
if (! ((aw%16)||(ax%16)||(ay%16)||(az%16))) fprintf(f, "%d\n", 16);
else if (! ((aw%12)||(ax%12)||(ay%12)||(az%12))) fprintf(f, "%d\n", 12);
else if (! ((aw%8)||(ax%8)||(ay%8)||(az%8))) fprintf(f, "%d\n", 8);
else if (! ((aw%4)||(ax%4)||(ay%4)||(az%4))) fprintf(f, "%d\n", 4);
else if (! ((aw%2)||(ax%2)||(ay%2)||(az%2))) fprintf(f, "%d\n", 2);
else fprintf(f, "%d\n", 1);
fclose(f);
}
#ifdef __cplusplus
}
#endif
EOF
printf "%s\n" "configure:31782: $CC $CFLAGS -I. -c conftest.c" >&5
$CC $CFLAGS -I. -c conftest.c 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:31785: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
printf "%s\n" "configure:31789: $FC $FCFLAGS conftestf.f conftest.o -o conftest $LDFLAGS $LIBS" >&5
$FC $FCFLAGS conftestf.f conftest.o -o conftest $LDFLAGS $LIBS 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:31792: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
fortran_get_alignment_happy="yes"
else $as_nop
fortran_get_alignment_happy="no"
fi
{ oac_log_command_status=; unset oac_log_command_status;}
else $as_nop
fortran_get_alignment_happy="no"
fi
{ oac_log_command_status=; unset oac_log_command_status;}
if test "$fortran_get_alignment_happy" = "no" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error!" >&5
printf "%s\n" "Error!" >&6; }
as_fn_error $? "Could not determine alignment of LOGICAL" "$LINENO" 5
fi
if test "$cross_compiling" = "yes"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error!" >&5
printf "%s\n" "Error!" >&6; }
as_fn_error $? "Can not determine alignment of LOGICAL when cross-compiling" "$LINENO" 5
else $as_nop
printf "%s\n" "configure:31818: ./conftest" >&5
./conftest 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:31821: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
ompi_cv_fortran_alignment_LOGICAL=`cat conftestval`
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error!" >&5
printf "%s\n" "Error!" >&6; }
as_fn_error $? "Could not determine alignment of LOGICAL" "$LINENO" 5
fi
{ oac_log_command_status=; unset oac_log_command_status;}
fi
rm -rf conftest*
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_alignment_LOGICAL" >&5
printf "%s\n" "$ompi_cv_fortran_alignment_LOGICAL" >&6; }
ofc_type_alignment=$ompi_cv_fortran_alignment_LOGICAL
opal_var_scope_pop fortran_get_alignment_happy ompi_conftest_h
# Add it to the relevant list of types found
if test "$ofc_expected_size" != "-1"; then
ofc_letter=L
ofc_str="OMPI_FORTRAN_${ofc_letter}KINDS=\"\$OMPI_FORTRAN_${ofc_letter}KINDS $ofc_type_size \""
eval $ofc_str
fi
fi
# Get the kind of the type. We do this by looking at the
# Fortran type's corresponding C type (which we figured
# out above). Then we look a the official BIND(C) KIND
# type for that type. The official BIND(C) types were
# taken from table 15.2 of the Fortran 2008 standard,
# published on 6 October as ISO/IEC 1539-1:2010 (this is
# not a free document). A copy of this table is in the
# file ompi/mpi/fortran/c_to_integer_kind_mapping.pdf.
# NOTE: Some of the values of these C_* constants *may be
# negative* if the compiler doesn't support them. We have
# already verified that both the Fortran and the C types
# both exist. However, the compiler may still have -1 for
# the C_ constants if the C type is not the same
# format as its corresponding Fortran type (e.g., Absoft's
# "REAL*16" and "long double" are the same size, but not
# the same format -- so the compiler is allowed to define
# C_LONG_DOUBLE to -1).
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for corresponding KIND value of LOGICAL" >&5
printf %s "checking for corresponding KIND value of LOGICAL... " >&6; }
case "$ofc_c_type" in
char) ofc_type_kind=C_SIGNED_CHAR ;;
double) ofc_type_kind=C_DOUBLE ;;
float) ofc_type_kind=C_FLOAT ;;
int) ofc_type_kind=C_INT ;;
int16_t) ofc_type_kind=C_INT16_T ;;
int32_t) ofc_type_kind=C_INT32_T ;;
int64_t) ofc_type_kind=C_INT64_T ;;
int8_t) ofc_type_kind=C_INT8_T ;;
long) ofc_type_kind=C_LONG ;;
long*double) ofc_type_kind=C_LONG_DOUBLE ;;
long*long) ofc_type_kind=C_LONG_LONG ;;
short) ofc_type_kind=C_SHORT ;;
short*float) ofc_type_kind=C_SHORT_FLOAT ;;
short*float*_Complex) ofc_type_kind=C_SHORT_FLOAT_COMPLEX ;;
float*_Complex) ofc_type_kind=C_FLOAT_COMPLEX ;;
double*_Complex) ofc_type_kind=C_DOUBLE_COMPLEX ;;
long*double*_Complex) ofc_type_kind=C_LONG_DOUBLE_COMPLEX ;;
opal_short_float_t) ofc_type_kind=C_SHORT_FLOAT ;;
opal_short_float_complex_t) ofc_type_kind=C_SHORT_FLOAT_COMPLEX ;;
*)
# Skip types like "DOUBLE PRECISION"
;;
esac
if test "$ofc_type_kind" != ""
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ofc_type_kind" >&5
printf "%s\n" "$ofc_type_kind" >&6; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5
printf "%s\n" "" >&6; }
fi
# See if the value is -1. If so, then just say we don't
# have a match. If the compiler doesn't support
# ISO_C_BINDING, C_SHORT_FLOAT, or C_SHORT_FLOAT_COMPLEX,
# then we'll just fall back to a default kind and hope
# for the best. :-\
# Use of m4_translit suggested by Eric Blake:
# http://lists.gnu.org/archive/html/bug-autoconf/2010-10/msg00016.html
as_kind_value_var=`printf "%s\n" "ompi_cv_fortran_kind_value_$ofc_type_kind" | $as_tr_sh`
rm -f conftest.out
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking KIND value of Fortran $ofc_type_kind" >&5
printf %s "checking KIND value of Fortran $ofc_type_kind... " >&6; }
if eval test \${$as_kind_value_var+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test $OMPI_TRY_FORTRAN_BINDINGS -eq $OMPI_FORTRAN_NO_BINDINGS || \
test $ompi_fortran_happy -eq 0; then
value=skipped
else
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
value=
if test "$cross_compiling" = yes
then :
value=cross
else $as_nop
cat > conftest.$ac_ext <<_ACEOF
program main
use, intrinsic :: ISO_C_BINDING
implicit none
open(unit = 7, file = "conftest.out")
write(7, *) $ofc_type_kind
close(7)
end
_ACEOF
if ac_fn_fc_try_run "$LINENO"
then :
value=`cat conftest.out | awk '{print $1}'`
else $as_nop
value=no
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f conftest.out
fi
# If the compiler is ancient enough to not support the
# ISO_C_BINDING stuff, then we have to fall back to older
# tests. Yuck.
if test "$value" = "no"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no ISO_C_BINDING -- fallback" >&5
printf "%s\n" "no ISO_C_BINDING -- fallback" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Fortran value of selected_int_kind(4)" >&5
printf %s "checking Fortran value of selected_int_kind(4)... " >&6; }
if test ${ompi_cv_fortran_int_kind_4+y}
then :
printf %s "(cached) " >&6
else $as_nop
outval=no
if test $OMPI_TRY_FORTRAN_BINDINGS -gt $OMPI_FORTRAN_NO_BINDINGS && \
test $ompi_fortran_happy -eq 1
then :
rm -f conftest.out
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
if test "$cross_compiling" = yes
then :
outval=cross
else $as_nop
cat > conftest.$ac_ext <<_ACEOF
program main
open(8, file="conftest.out")
write(8, fmt="(I5)") selected_int_kind(4)
close(8)
end
_ACEOF
if ac_fn_fc_try_run "$LINENO"
then :
outval=`cat conftest.out | awk '{print $1}'`
else $as_nop
outval=no
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f conftest.out
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
fi
ompi_cv_fortran_int_kind_4=$outval
unset outval
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_int_kind_4" >&5
printf "%s\n" "$ompi_cv_fortran_int_kind_4" >&6; }
# All analysis of $value is done in the upper-level / calling
# macro
value=$ompi_cv_fortran_int_kind_4
fi
if test "$value" = "no"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not determine KIND value of $ofc_type_kind" >&5
printf "%s\n" "$as_me: WARNING: Could not determine KIND value of $ofc_type_kind" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: See config.log for more details" >&5
printf "%s\n" "$as_me: WARNING: See config.log for more details" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
if test "$value" = "cross"
then :
as_fn_error $? "Can not determine KIND value of $ofc_type_kind when cross-compiling" "$LINENO" 5
fi
eval "$as_kind_value_var=\$value"
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
unset value
fi
eval ac_res=\$$as_kind_value_var
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
eval ofc_type_kind_value=\$$as_kind_value_var
if test $ofc_type_kind_value -le 0
then :
ofc_have_type=0
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Compiler LOGICAL and $ofc_c_type mismatch; MPI datatype unsupported" >&5
printf "%s\n" "$as_me: WARNING: Compiler LOGICAL and $ofc_c_type mismatch; MPI datatype unsupported" >&2;}
fi
fi
fi
# We always need these defines -- even if we don't have a given
# type, there are some places in the code where we have to have
# *something*. Note that the bpatsubst's are the same as used
# above (see comment above), but we added a translit to make them
# uppercase.
# If we got a pretty name, use that as the basis. If not, use the
# first part of the provided fortran type (e.g.,
# "logical(selected_int_kind(2))" -> logical1")
# Finally, note that it is necessary to use the Big Long Ugly m4
# expressions in the AC_DEFINE_UNQUOTEDs. If you don't (e.g., put
# the result of the BLUm4E in a shell variable and use that in
# AC_DEFINE_UNQUOTED), autoheader won't put them in the
# AC_CONFIG_HEADER (or AM_CONFIG_HEADER, in our case).
printf "%s\n" "#define OMPI_HAVE_FORTRAN_LOGICAL $ofc_have_type" >>confdefs.h
printf "%s\n" "#define OMPI_SIZEOF_FORTRAN_LOGICAL $ofc_type_size" >>confdefs.h
printf "%s\n" "#define OMPI_ALIGNMENT_FORTRAN_LOGICAL $ofc_type_alignment" >>confdefs.h
printf "%s\n" "#define OMPI_KIND_FORTRAN_LOGICAL $ofc_type_kind" >>confdefs.h
if test "char, int32_t, int, int64_t, long long, long" != "" && test "$ofc_define_type" = "yes"; then
printf "%s\n" "#define ompi_fortran_logical_t $ofc_c_type" >>confdefs.h
fi
# Save some in shell variables for later use (e.g., need
# OMPI_SIZEOF_FORTRAN_INTEGER in OMPI_FORTRAN_GET_HANDLE_MAX)
OMPI_FORTRAN_LOGICAL_C_TYPE=$ofc_c_type
OMPI_KIND_FORTRAN_LOGICAL=$ofc_type_kind
OMPI_HAVE_FORTRAN_LOGICAL=$ofc_have_type
OMPI_SIZEOF_FORTRAN_LOGICAL=$ofc_type_size
OMPI_ALIGNMENT_FORTRAN_LOGICAL=$ofc_type_alignment
# Wow, this is sick. But it works! :-)
# Clean up
opal_var_scope_pop ofc_have_type ofc_type_size ofc_type_alignment ofc_c_type ofc_expected_size
opal_var_scope_push ${LINENO} ofc_have_type ofc_type_size ofc_type_alignment ofc_c_type ofc_expected_size
ofc_expected_size=1
ofc_define_type=yes
ofc_have_type=0
ofc_type_size=0
ofc_type_alignment=0
ofc_c_type=ompi_fortran_bogus_type_t
ofc_type_kind=0
# Only check if we actually want the Fortran bindings / have a
# Fortran compiler. This allows us to call this macro, even if
# there is no Fortran compiler. If we have no Fortran compiler,
# then just set a bunch of defaults.
if test $OMPI_TRY_FORTRAN_BINDINGS -gt $OMPI_FORTRAN_NO_BINDINGS; then
# Use of m4_translit suggested by Eric Blake:
# http://lists.gnu.org/archive/html/bug-autoconf/2010-10/msg00016.html
# Determine Fortran datatype size.
# First arg is type, 2nd arg is config var to define
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports LOGICAL*1" >&5
printf %s "checking if Fortran compiler supports LOGICAL*1... " >&6; }
if test ${ompi_cv_fortran_have_LOGICALp1+y}
then :
printf %s "(cached) " >&6
else $as_nop
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
cat > conftest.$ac_ext <<_ACEOF
program main
LOGICAL*1 :: bogus_variable
end program
_ACEOF
if ac_fn_fc_try_compile "$LINENO"
then :
ompi_cv_fortran_have_LOGICALp1=yes
else $as_nop
ompi_cv_fortran_have_LOGICALp1=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_have_LOGICALp1" >&5
printf "%s\n" "$ompi_cv_fortran_have_LOGICALp1" >&6; }
if test "x$ompi_cv_fortran_have_LOGICALp1" = xyes
then :
ofc_have_type=1
else $as_nop
ofc_have_type=0
fi
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports LOGICAL*1" >&5
printf %s "checking if Fortran compiler supports LOGICAL*1... " >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: skipped" >&5
printf "%s\n" "skipped" >&6; }
fi
if test "$ofc_have_type" = "1"; then
# What is the size of this type?
# NOTE: Some Fortran compilers actually will return that a
# type exists even if it doesn't support it -- the compiler
# will automatically convert the unsupported type to a type
# that it *does* support. For example, if you try to use
# INTEGER*16 and the compiler doesn't support it, it may well
# automatically convert it to INTEGER*8 for you (!). So we
# have to check the actual size of the type once we determine
# that the compiler doesn't error if we try to use it
# (i.e,. the compiler *might* support that type). If the size
# doesn't match the expected size, then the compiler doesn't
# really support it.
# Use of m4_translit suggested by Eric Blake:
# http://lists.gnu.org/archive/html/bug-autoconf/2010-10/msg00016.html
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of Fortran LOGICAL*1" >&5
printf %s "checking size of Fortran LOGICAL*1... " >&6; }
if test ${ompi_cv_fortran_sizeof_LOGICALp1+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test "$ompi_cv_fortran_external_symbol" = "double underscore" ; then
# so the general rule is that if there is an _ in the function
# name, then there are two trailing underscores. Otherwise,
# there is only one trailing underscore. Any idea how to do
# that with m4_translit?
if echo size | $GREP _ >/dev/null 2>&1 ; then
ompi_ac_size_fn=size__
else
ompi_ac_size_fn=size_
fi
elif test "$ompi_cv_fortran_external_symbol" = "single underscore" ; then
ompi_ac_size_fn=size_
elif test "$ompi_cv_fortran_external_symbol" = "mixed case" ; then
ompi_ac_size_fn=size
elif test "$ompi_cv_fortran_external_symbol" = "no underscore" ; then
ompi_ac_size_fn=size
elif test "$ompi_cv_fortran_external_symbol" = "upper case" ; then
ompi_ac_size_fn=SIZE
else
as_fn_error $? "unknown naming convention: $ompi_cv_fortran_external_symbol" "$LINENO" 5
fi
# Fortran module
cat > conftestf.f90 < conftest.c <
#include
$ompi_conftest_h
#ifdef __cplusplus
extern "C" {
#endif
void $ompi_ac_size_fn(char *a, char *b)
{
int diff = (int) (b - a);
FILE *f=fopen("conftestval", "w");
if (!f) exit(1);
fprintf(f, "%d\n", diff);
}
#ifdef __cplusplus
}
#endif
EOF
printf "%s\n" "configure:32283: $CC $CFLAGS -I. -c conftest.c" >&5
$CC $CFLAGS -I. -c conftest.c 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:32286: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
printf "%s\n" "configure:32290: $FC $FCFLAGS $FCFLAGS_f90 conftestf.f90 conftest.o -o conftest $LDFLAGS $LIBS" >&5
$FC $FCFLAGS $FCFLAGS_f90 conftestf.f90 conftest.o -o conftest $LDFLAGS $LIBS 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:32293: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
happy="yes"
else $as_nop
happy="no"
fi
{ oac_log_command_status=; unset oac_log_command_status;}
else $as_nop
happy="no"
fi
{ oac_log_command_status=; unset oac_log_command_status;}
if test "$happy" = "no" ; then
if test -n "1"
then :
printf "%s\n" "configure:32309: here is the Fortran program:" >&5
else $as_nop
printf "%s\n" here is the Fortran program: >&5
fi
if test -n "conftestf.f90" && test -f "conftestf.f90"
then :
cat conftestf.f90 >&5
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not determine size of LOGICAL*1" >&5
printf "%s\n" "$as_me: WARNING: Could not determine size of LOGICAL*1" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: See config.log for details" >&5
printf "%s\n" "$as_me: WARNING: See config.log for details" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
if test "$cross_compiling" = "yes"
then :
as_fn_error $? "Can not determine size of LOGICAL*1 when cross-compiling" "$LINENO" 5
else $as_nop
printf "%s\n" "configure:32329: ./conftest" >&5
./conftest 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:32332: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
ompi_cv_fortran_sizeof_LOGICALp1=`cat conftestval`
else $as_nop
as_fn_error $? "Could not determine size of LOGICAL*1" "$LINENO" 5
fi
{ oac_log_command_status=; unset oac_log_command_status;}
fi
unset happy ompi_conftest_h
rm -rf conftest*
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_sizeof_LOGICALp1" >&5
printf "%s\n" "$ompi_cv_fortran_sizeof_LOGICALp1" >&6; }
ofc_type_size=$ompi_cv_fortran_sizeof_LOGICALp1
if test "$ofc_expected_size" != "-1" && test "$ofc_type_size" != "$ofc_expected_size"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Fortran LOGICAL*1 does not have expected size!" >&5
printf "%s\n" "$as_me: WARNING: *** Fortran LOGICAL*1 does not have expected size!" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Expected $ofc_expected_size, got $ofc_type_size" >&5
printf "%s\n" "$as_me: WARNING: *** Expected $ofc_expected_size, got $ofc_type_size" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Disabling MPI support for Fortran LOGICAL*1" >&5
printf "%s\n" "$as_me: WARNING: *** Disabling MPI support for Fortran LOGICAL*1" >&2;}
ofc_have_type=0
else
# Look for a corresponding C type (will abort by itself if the
# type isn't found and we need it)
ofc_c_type=
as_type_var=`printf "%s\n" "opal_cv_find_type_LOGICAL*1" | $as_tr_sh`
oft_abort_on_fail="yes"
oft_target_size="$ofc_type_size"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C type corresponding to LOGICAL*1" >&5
printf %s "checking for C type corresponding to LOGICAL*1... " >&6; }
if eval test \${$as_type_var+y}
then :
printf %s "(cached) " >&6
else $as_nop
# Loop over all the types handed to us
oft_real_type=
if test "$oft_target_size" != ""
then :
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_char" = "$oft_target_size" ; then
oft_real_type="char"
fi
fi
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_int8_t" = "$oft_target_size" ; then
oft_real_type="int8_t"
fi
fi
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_short" = "$oft_target_size" ; then
oft_real_type="short"
fi
fi
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_int32_t" = "$oft_target_size" ; then
oft_real_type="int32_t"
fi
fi
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_int" = "$oft_target_size" ; then
oft_real_type="int"
fi
fi
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_int64_t" = "$oft_target_size" ; then
oft_real_type="int64_t"
fi
fi
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_long_long" = "$oft_target_size" ; then
oft_real_type="long long"
fi
fi
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_long" = "$oft_target_size" ; then
oft_real_type="long"
fi
fi
fi
if test -z "$oft_real_type"
then :
eval "$as_type_var=\"not found\""
else $as_nop
eval "$as_type_var=\"\$oft_real_type\""
fi
fi
eval ac_res=\$$as_type_var
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
if eval test \"x\$"$as_type_var"\" = x"\"not found\""
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Did not find corresponding C type" >&5
printf "%s\n" "$as_me: WARNING: *** Did not find corresponding C type" >&2;}
if test "$oft_abort_on_fail" != "no"
then :
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
fi
if eval test \"x\$"$as_type_var"\" = x"\"not found\""
then :
ofc_c_type=
else $as_nop
eval ofc_c_type=\$$as_type_var
fi
unset oft_real_type oft_target_size
if test -z "$ofc_c_type" ; then
ofc_have_type=0
fi
# Get the alignment of the type
if test "$ofc_have_type" = "1"; then
opal_var_scope_push ${LINENO} fortran_get_alignment_happy ompi_conftest_h
# Use of m4_translit suggested by Eric Blake:
# http://lists.gnu.org/archive/html/bug-autoconf/2010-10/msg00016.html
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking alignment of Fortran LOGICAL*1" >&5
printf %s "checking alignment of Fortran LOGICAL*1... " >&6; }
if test ${ompi_cv_fortran_alignment_LOGICALp1+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test "$ompi_cv_fortran_external_symbol" = "double underscore" ; then
# so the general rule is that if there is an _ in the function
# name, then there are two trailing underscores. Otherwise,
# there is only one trailing underscore. Any idea how to do
# that with m4_translit?
if echo align | $GREP _ >/dev/null 2>&1 ; then
ompi_ac_align_fn=align__
else
ompi_ac_align_fn=align_
fi
elif test "$ompi_cv_fortran_external_symbol" = "single underscore" ; then
ompi_ac_align_fn=align_
elif test "$ompi_cv_fortran_external_symbol" = "mixed case" ; then
ompi_ac_align_fn=align
elif test "$ompi_cv_fortran_external_symbol" = "no underscore" ; then
ompi_ac_align_fn=align
elif test "$ompi_cv_fortran_external_symbol" = "upper case" ; then
ompi_ac_align_fn=ALIGN
else
as_fn_error $? "unknown naming convention: $ompi_cv_fortran_external_symbol" "$LINENO" 5
fi
# Fortran module. Make sure it's .f, not .f90.
cat > conftestf.f < conftest.c <
#include
$ompi_conftest_h
#ifdef __cplusplus
extern "C" {
#endif
void $ompi_ac_align_fn(char *w, char *x, char *y, char *z)
{ unsigned long aw, ax, ay, az;
FILE *f=fopen("conftestval", "w");
if (!f) exit(1);
aw = (unsigned long) w;
ax = (unsigned long) x;
ay = (unsigned long) y;
az = (unsigned long) z;
if (! ((aw%16)||(ax%16)||(ay%16)||(az%16))) fprintf(f, "%d\n", 16);
else if (! ((aw%12)||(ax%12)||(ay%12)||(az%12))) fprintf(f, "%d\n", 12);
else if (! ((aw%8)||(ax%8)||(ay%8)||(az%8))) fprintf(f, "%d\n", 8);
else if (! ((aw%4)||(ax%4)||(ay%4)||(az%4))) fprintf(f, "%d\n", 4);
else if (! ((aw%2)||(ax%2)||(ay%2)||(az%2))) fprintf(f, "%d\n", 2);
else fprintf(f, "%d\n", 1);
fclose(f);
}
#ifdef __cplusplus
}
#endif
EOF
printf "%s\n" "configure:32542: $CC $CFLAGS -I. -c conftest.c" >&5
$CC $CFLAGS -I. -c conftest.c 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:32545: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
printf "%s\n" "configure:32549: $FC $FCFLAGS conftestf.f conftest.o -o conftest $LDFLAGS $LIBS" >&5
$FC $FCFLAGS conftestf.f conftest.o -o conftest $LDFLAGS $LIBS 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:32552: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
fortran_get_alignment_happy="yes"
else $as_nop
fortran_get_alignment_happy="no"
fi
{ oac_log_command_status=; unset oac_log_command_status;}
else $as_nop
fortran_get_alignment_happy="no"
fi
{ oac_log_command_status=; unset oac_log_command_status;}
if test "$fortran_get_alignment_happy" = "no" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error!" >&5
printf "%s\n" "Error!" >&6; }
as_fn_error $? "Could not determine alignment of LOGICAL*1" "$LINENO" 5
fi
if test "$cross_compiling" = "yes"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error!" >&5
printf "%s\n" "Error!" >&6; }
as_fn_error $? "Can not determine alignment of LOGICAL*1 when cross-compiling" "$LINENO" 5
else $as_nop
printf "%s\n" "configure:32578: ./conftest" >&5
./conftest 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:32581: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
ompi_cv_fortran_alignment_LOGICALp1=`cat conftestval`
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error!" >&5
printf "%s\n" "Error!" >&6; }
as_fn_error $? "Could not determine alignment of LOGICAL*1" "$LINENO" 5
fi
{ oac_log_command_status=; unset oac_log_command_status;}
fi
rm -rf conftest*
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_alignment_LOGICALp1" >&5
printf "%s\n" "$ompi_cv_fortran_alignment_LOGICALp1" >&6; }
ofc_type_alignment=$ompi_cv_fortran_alignment_LOGICALp1
opal_var_scope_pop fortran_get_alignment_happy ompi_conftest_h
# Add it to the relevant list of types found
if test "$ofc_expected_size" != "-1"; then
ofc_letter=L
ofc_str="OMPI_FORTRAN_${ofc_letter}KINDS=\"\$OMPI_FORTRAN_${ofc_letter}KINDS $ofc_type_size \""
eval $ofc_str
fi
fi
# Get the kind of the type. We do this by looking at the
# Fortran type's corresponding C type (which we figured
# out above). Then we look a the official BIND(C) KIND
# type for that type. The official BIND(C) types were
# taken from table 15.2 of the Fortran 2008 standard,
# published on 6 October as ISO/IEC 1539-1:2010 (this is
# not a free document). A copy of this table is in the
# file ompi/mpi/fortran/c_to_integer_kind_mapping.pdf.
# NOTE: Some of the values of these C_* constants *may be
# negative* if the compiler doesn't support them. We have
# already verified that both the Fortran and the C types
# both exist. However, the compiler may still have -1 for
# the C_ constants if the C type is not the same
# format as its corresponding Fortran type (e.g., Absoft's
# "REAL*16" and "long double" are the same size, but not
# the same format -- so the compiler is allowed to define
# C_LONG_DOUBLE to -1).
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for corresponding KIND value of LOGICAL*1" >&5
printf %s "checking for corresponding KIND value of LOGICAL*1... " >&6; }
case "$ofc_c_type" in
char) ofc_type_kind=C_SIGNED_CHAR ;;
double) ofc_type_kind=C_DOUBLE ;;
float) ofc_type_kind=C_FLOAT ;;
int) ofc_type_kind=C_INT ;;
int16_t) ofc_type_kind=C_INT16_T ;;
int32_t) ofc_type_kind=C_INT32_T ;;
int64_t) ofc_type_kind=C_INT64_T ;;
int8_t) ofc_type_kind=C_INT8_T ;;
long) ofc_type_kind=C_LONG ;;
long*double) ofc_type_kind=C_LONG_DOUBLE ;;
long*long) ofc_type_kind=C_LONG_LONG ;;
short) ofc_type_kind=C_SHORT ;;
short*float) ofc_type_kind=C_SHORT_FLOAT ;;
short*float*_Complex) ofc_type_kind=C_SHORT_FLOAT_COMPLEX ;;
float*_Complex) ofc_type_kind=C_FLOAT_COMPLEX ;;
double*_Complex) ofc_type_kind=C_DOUBLE_COMPLEX ;;
long*double*_Complex) ofc_type_kind=C_LONG_DOUBLE_COMPLEX ;;
opal_short_float_t) ofc_type_kind=C_SHORT_FLOAT ;;
opal_short_float_complex_t) ofc_type_kind=C_SHORT_FLOAT_COMPLEX ;;
*)
# Skip types like "DOUBLE PRECISION"
;;
esac
if test "$ofc_type_kind" != ""
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ofc_type_kind" >&5
printf "%s\n" "$ofc_type_kind" >&6; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5
printf "%s\n" "" >&6; }
fi
# See if the value is -1. If so, then just say we don't
# have a match. If the compiler doesn't support
# ISO_C_BINDING, C_SHORT_FLOAT, or C_SHORT_FLOAT_COMPLEX,
# then we'll just fall back to a default kind and hope
# for the best. :-\
# Use of m4_translit suggested by Eric Blake:
# http://lists.gnu.org/archive/html/bug-autoconf/2010-10/msg00016.html
as_kind_value_var=`printf "%s\n" "ompi_cv_fortran_kind_value_$ofc_type_kind" | $as_tr_sh`
rm -f conftest.out
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking KIND value of Fortran $ofc_type_kind" >&5
printf %s "checking KIND value of Fortran $ofc_type_kind... " >&6; }
if eval test \${$as_kind_value_var+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test $OMPI_TRY_FORTRAN_BINDINGS -eq $OMPI_FORTRAN_NO_BINDINGS || \
test $ompi_fortran_happy -eq 0; then
value=skipped
else
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
value=
if test "$cross_compiling" = yes
then :
value=cross
else $as_nop
cat > conftest.$ac_ext <<_ACEOF
program main
use, intrinsic :: ISO_C_BINDING
implicit none
open(unit = 7, file = "conftest.out")
write(7, *) $ofc_type_kind
close(7)
end
_ACEOF
if ac_fn_fc_try_run "$LINENO"
then :
value=`cat conftest.out | awk '{print $1}'`
else $as_nop
value=no
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f conftest.out
fi
# If the compiler is ancient enough to not support the
# ISO_C_BINDING stuff, then we have to fall back to older
# tests. Yuck.
if test "$value" = "no"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no ISO_C_BINDING -- fallback" >&5
printf "%s\n" "no ISO_C_BINDING -- fallback" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Fortran value of selected_int_kind(4)" >&5
printf %s "checking Fortran value of selected_int_kind(4)... " >&6; }
if test ${ompi_cv_fortran_int_kind_4+y}
then :
printf %s "(cached) " >&6
else $as_nop
outval=no
if test $OMPI_TRY_FORTRAN_BINDINGS -gt $OMPI_FORTRAN_NO_BINDINGS && \
test $ompi_fortran_happy -eq 1
then :
rm -f conftest.out
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
if test "$cross_compiling" = yes
then :
outval=cross
else $as_nop
cat > conftest.$ac_ext <<_ACEOF
program main
open(8, file="conftest.out")
write(8, fmt="(I5)") selected_int_kind(4)
close(8)
end
_ACEOF
if ac_fn_fc_try_run "$LINENO"
then :
outval=`cat conftest.out | awk '{print $1}'`
else $as_nop
outval=no
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f conftest.out
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
fi
ompi_cv_fortran_int_kind_4=$outval
unset outval
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_int_kind_4" >&5
printf "%s\n" "$ompi_cv_fortran_int_kind_4" >&6; }
# All analysis of $value is done in the upper-level / calling
# macro
value=$ompi_cv_fortran_int_kind_4
fi
if test "$value" = "no"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not determine KIND value of $ofc_type_kind" >&5
printf "%s\n" "$as_me: WARNING: Could not determine KIND value of $ofc_type_kind" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: See config.log for more details" >&5
printf "%s\n" "$as_me: WARNING: See config.log for more details" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
if test "$value" = "cross"
then :
as_fn_error $? "Can not determine KIND value of $ofc_type_kind when cross-compiling" "$LINENO" 5
fi
eval "$as_kind_value_var=\$value"
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
unset value
fi
eval ac_res=\$$as_kind_value_var
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
eval ofc_type_kind_value=\$$as_kind_value_var
if test $ofc_type_kind_value -le 0
then :
ofc_have_type=0
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Compiler LOGICAL*1 and $ofc_c_type mismatch; MPI datatype unsupported" >&5
printf "%s\n" "$as_me: WARNING: Compiler LOGICAL*1 and $ofc_c_type mismatch; MPI datatype unsupported" >&2;}
fi
fi
fi
# We always need these defines -- even if we don't have a given
# type, there are some places in the code where we have to have
# *something*. Note that the bpatsubst's are the same as used
# above (see comment above), but we added a translit to make them
# uppercase.
# If we got a pretty name, use that as the basis. If not, use the
# first part of the provided fortran type (e.g.,
# "logical(selected_int_kind(2))" -> logical1")
# Finally, note that it is necessary to use the Big Long Ugly m4
# expressions in the AC_DEFINE_UNQUOTEDs. If you don't (e.g., put
# the result of the BLUm4E in a shell variable and use that in
# AC_DEFINE_UNQUOTED), autoheader won't put them in the
# AC_CONFIG_HEADER (or AM_CONFIG_HEADER, in our case).
printf "%s\n" "#define OMPI_HAVE_FORTRAN_LOGICAL1 $ofc_have_type" >>confdefs.h
printf "%s\n" "#define OMPI_SIZEOF_FORTRAN_LOGICAL1 $ofc_type_size" >>confdefs.h
printf "%s\n" "#define OMPI_ALIGNMENT_FORTRAN_LOGICAL1 $ofc_type_alignment" >>confdefs.h
printf "%s\n" "#define OMPI_KIND_FORTRAN_LOGICAL1 $ofc_type_kind" >>confdefs.h
if test "char, int8_t, short, int32_t, int, int64_t, long long, long" != "" && test "$ofc_define_type" = "yes"; then
printf "%s\n" "#define ompi_fortran_logical1_t $ofc_c_type" >>confdefs.h
fi
# Save some in shell variables for later use (e.g., need
# OMPI_SIZEOF_FORTRAN_INTEGER in OMPI_FORTRAN_GET_HANDLE_MAX)
OMPI_FORTRAN_LOGICAL1_C_TYPE=$ofc_c_type
OMPI_KIND_FORTRAN_LOGICAL1=$ofc_type_kind
OMPI_HAVE_FORTRAN_LOGICAL1=$ofc_have_type
OMPI_SIZEOF_FORTRAN_LOGICAL1=$ofc_type_size
OMPI_ALIGNMENT_FORTRAN_LOGICAL1=$ofc_type_alignment
# Wow, this is sick. But it works! :-)
# Clean up
opal_var_scope_pop ofc_have_type ofc_type_size ofc_type_alignment ofc_c_type ofc_expected_size
opal_var_scope_push ${LINENO} ofc_have_type ofc_type_size ofc_type_alignment ofc_c_type ofc_expected_size
ofc_expected_size=2
ofc_define_type=yes
ofc_have_type=0
ofc_type_size=0
ofc_type_alignment=0
ofc_c_type=ompi_fortran_bogus_type_t
ofc_type_kind=0
# Only check if we actually want the Fortran bindings / have a
# Fortran compiler. This allows us to call this macro, even if
# there is no Fortran compiler. If we have no Fortran compiler,
# then just set a bunch of defaults.
if test $OMPI_TRY_FORTRAN_BINDINGS -gt $OMPI_FORTRAN_NO_BINDINGS; then
# Use of m4_translit suggested by Eric Blake:
# http://lists.gnu.org/archive/html/bug-autoconf/2010-10/msg00016.html
# Determine Fortran datatype size.
# First arg is type, 2nd arg is config var to define
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports LOGICAL*2" >&5
printf %s "checking if Fortran compiler supports LOGICAL*2... " >&6; }
if test ${ompi_cv_fortran_have_LOGICALp2+y}
then :
printf %s "(cached) " >&6
else $as_nop
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
cat > conftest.$ac_ext <<_ACEOF
program main
LOGICAL*2 :: bogus_variable
end program
_ACEOF
if ac_fn_fc_try_compile "$LINENO"
then :
ompi_cv_fortran_have_LOGICALp2=yes
else $as_nop
ompi_cv_fortran_have_LOGICALp2=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_have_LOGICALp2" >&5
printf "%s\n" "$ompi_cv_fortran_have_LOGICALp2" >&6; }
if test "x$ompi_cv_fortran_have_LOGICALp2" = xyes
then :
ofc_have_type=1
else $as_nop
ofc_have_type=0
fi
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports LOGICAL*2" >&5
printf %s "checking if Fortran compiler supports LOGICAL*2... " >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: skipped" >&5
printf "%s\n" "skipped" >&6; }
fi
if test "$ofc_have_type" = "1"; then
# What is the size of this type?
# NOTE: Some Fortran compilers actually will return that a
# type exists even if it doesn't support it -- the compiler
# will automatically convert the unsupported type to a type
# that it *does* support. For example, if you try to use
# INTEGER*16 and the compiler doesn't support it, it may well
# automatically convert it to INTEGER*8 for you (!). So we
# have to check the actual size of the type once we determine
# that the compiler doesn't error if we try to use it
# (i.e,. the compiler *might* support that type). If the size
# doesn't match the expected size, then the compiler doesn't
# really support it.
# Use of m4_translit suggested by Eric Blake:
# http://lists.gnu.org/archive/html/bug-autoconf/2010-10/msg00016.html
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of Fortran LOGICAL*2" >&5
printf %s "checking size of Fortran LOGICAL*2... " >&6; }
if test ${ompi_cv_fortran_sizeof_LOGICALp2+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test "$ompi_cv_fortran_external_symbol" = "double underscore" ; then
# so the general rule is that if there is an _ in the function
# name, then there are two trailing underscores. Otherwise,
# there is only one trailing underscore. Any idea how to do
# that with m4_translit?
if echo size | $GREP _ >/dev/null 2>&1 ; then
ompi_ac_size_fn=size__
else
ompi_ac_size_fn=size_
fi
elif test "$ompi_cv_fortran_external_symbol" = "single underscore" ; then
ompi_ac_size_fn=size_
elif test "$ompi_cv_fortran_external_symbol" = "mixed case" ; then
ompi_ac_size_fn=size
elif test "$ompi_cv_fortran_external_symbol" = "no underscore" ; then
ompi_ac_size_fn=size
elif test "$ompi_cv_fortran_external_symbol" = "upper case" ; then
ompi_ac_size_fn=SIZE
else
as_fn_error $? "unknown naming convention: $ompi_cv_fortran_external_symbol" "$LINENO" 5
fi
# Fortran module
cat > conftestf.f90 < conftest.c <
#include
$ompi_conftest_h
#ifdef __cplusplus
extern "C" {
#endif
void $ompi_ac_size_fn(char *a, char *b)
{
int diff = (int) (b - a);
FILE *f=fopen("conftestval", "w");
if (!f) exit(1);
fprintf(f, "%d\n", diff);
}
#ifdef __cplusplus
}
#endif
EOF
printf "%s\n" "configure:33043: $CC $CFLAGS -I. -c conftest.c" >&5
$CC $CFLAGS -I. -c conftest.c 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:33046: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
printf "%s\n" "configure:33050: $FC $FCFLAGS $FCFLAGS_f90 conftestf.f90 conftest.o -o conftest $LDFLAGS $LIBS" >&5
$FC $FCFLAGS $FCFLAGS_f90 conftestf.f90 conftest.o -o conftest $LDFLAGS $LIBS 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:33053: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
happy="yes"
else $as_nop
happy="no"
fi
{ oac_log_command_status=; unset oac_log_command_status;}
else $as_nop
happy="no"
fi
{ oac_log_command_status=; unset oac_log_command_status;}
if test "$happy" = "no" ; then
if test -n "1"
then :
printf "%s\n" "configure:33069: here is the Fortran program:" >&5
else $as_nop
printf "%s\n" here is the Fortran program: >&5
fi
if test -n "conftestf.f90" && test -f "conftestf.f90"
then :
cat conftestf.f90 >&5
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not determine size of LOGICAL*2" >&5
printf "%s\n" "$as_me: WARNING: Could not determine size of LOGICAL*2" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: See config.log for details" >&5
printf "%s\n" "$as_me: WARNING: See config.log for details" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
if test "$cross_compiling" = "yes"
then :
as_fn_error $? "Can not determine size of LOGICAL*2 when cross-compiling" "$LINENO" 5
else $as_nop
printf "%s\n" "configure:33089: ./conftest" >&5
./conftest 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:33092: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
ompi_cv_fortran_sizeof_LOGICALp2=`cat conftestval`
else $as_nop
as_fn_error $? "Could not determine size of LOGICAL*2" "$LINENO" 5
fi
{ oac_log_command_status=; unset oac_log_command_status;}
fi
unset happy ompi_conftest_h
rm -rf conftest*
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_sizeof_LOGICALp2" >&5
printf "%s\n" "$ompi_cv_fortran_sizeof_LOGICALp2" >&6; }
ofc_type_size=$ompi_cv_fortran_sizeof_LOGICALp2
if test "$ofc_expected_size" != "-1" && test "$ofc_type_size" != "$ofc_expected_size"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Fortran LOGICAL*2 does not have expected size!" >&5
printf "%s\n" "$as_me: WARNING: *** Fortran LOGICAL*2 does not have expected size!" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Expected $ofc_expected_size, got $ofc_type_size" >&5
printf "%s\n" "$as_me: WARNING: *** Expected $ofc_expected_size, got $ofc_type_size" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Disabling MPI support for Fortran LOGICAL*2" >&5
printf "%s\n" "$as_me: WARNING: *** Disabling MPI support for Fortran LOGICAL*2" >&2;}
ofc_have_type=0
else
# Look for a corresponding C type (will abort by itself if the
# type isn't found and we need it)
ofc_c_type=
as_type_var=`printf "%s\n" "opal_cv_find_type_LOGICAL*2" | $as_tr_sh`
oft_abort_on_fail="yes"
oft_target_size="$ofc_type_size"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C type corresponding to LOGICAL*2" >&5
printf %s "checking for C type corresponding to LOGICAL*2... " >&6; }
if eval test \${$as_type_var+y}
then :
printf %s "(cached) " >&6
else $as_nop
# Loop over all the types handed to us
oft_real_type=
if test "$oft_target_size" != ""
then :
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_short" = "$oft_target_size" ; then
oft_real_type="short"
fi
fi
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_int16_t" = "$oft_target_size" ; then
oft_real_type="int16_t"
fi
fi
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_int32_t" = "$oft_target_size" ; then
oft_real_type="int32_t"
fi
fi
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_int" = "$oft_target_size" ; then
oft_real_type="int"
fi
fi
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_int64_t" = "$oft_target_size" ; then
oft_real_type="int64_t"
fi
fi
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_long_long" = "$oft_target_size" ; then
oft_real_type="long long"
fi
fi
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_long" = "$oft_target_size" ; then
oft_real_type="long"
fi
fi
fi
if test -z "$oft_real_type"
then :
eval "$as_type_var=\"not found\""
else $as_nop
eval "$as_type_var=\"\$oft_real_type\""
fi
fi
eval ac_res=\$$as_type_var
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
if eval test \"x\$"$as_type_var"\" = x"\"not found\""
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Did not find corresponding C type" >&5
printf "%s\n" "$as_me: WARNING: *** Did not find corresponding C type" >&2;}
if test "$oft_abort_on_fail" != "no"
then :
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
fi
if eval test \"x\$"$as_type_var"\" = x"\"not found\""
then :
ofc_c_type=
else $as_nop
eval ofc_c_type=\$$as_type_var
fi
unset oft_real_type oft_target_size
if test -z "$ofc_c_type" ; then
ofc_have_type=0
fi
# Get the alignment of the type
if test "$ofc_have_type" = "1"; then
opal_var_scope_push ${LINENO} fortran_get_alignment_happy ompi_conftest_h
# Use of m4_translit suggested by Eric Blake:
# http://lists.gnu.org/archive/html/bug-autoconf/2010-10/msg00016.html
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking alignment of Fortran LOGICAL*2" >&5
printf %s "checking alignment of Fortran LOGICAL*2... " >&6; }
if test ${ompi_cv_fortran_alignment_LOGICALp2+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test "$ompi_cv_fortran_external_symbol" = "double underscore" ; then
# so the general rule is that if there is an _ in the function
# name, then there are two trailing underscores. Otherwise,
# there is only one trailing underscore. Any idea how to do
# that with m4_translit?
if echo align | $GREP _ >/dev/null 2>&1 ; then
ompi_ac_align_fn=align__
else
ompi_ac_align_fn=align_
fi
elif test "$ompi_cv_fortran_external_symbol" = "single underscore" ; then
ompi_ac_align_fn=align_
elif test "$ompi_cv_fortran_external_symbol" = "mixed case" ; then
ompi_ac_align_fn=align
elif test "$ompi_cv_fortran_external_symbol" = "no underscore" ; then
ompi_ac_align_fn=align
elif test "$ompi_cv_fortran_external_symbol" = "upper case" ; then
ompi_ac_align_fn=ALIGN
else
as_fn_error $? "unknown naming convention: $ompi_cv_fortran_external_symbol" "$LINENO" 5
fi
# Fortran module. Make sure it's .f, not .f90.
cat > conftestf.f < conftest.c <
#include
$ompi_conftest_h
#ifdef __cplusplus
extern "C" {
#endif
void $ompi_ac_align_fn(char *w, char *x, char *y, char *z)
{ unsigned long aw, ax, ay, az;
FILE *f=fopen("conftestval", "w");
if (!f) exit(1);
aw = (unsigned long) w;
ax = (unsigned long) x;
ay = (unsigned long) y;
az = (unsigned long) z;
if (! ((aw%16)||(ax%16)||(ay%16)||(az%16))) fprintf(f, "%d\n", 16);
else if (! ((aw%12)||(ax%12)||(ay%12)||(az%12))) fprintf(f, "%d\n", 12);
else if (! ((aw%8)||(ax%8)||(ay%8)||(az%8))) fprintf(f, "%d\n", 8);
else if (! ((aw%4)||(ax%4)||(ay%4)||(az%4))) fprintf(f, "%d\n", 4);
else if (! ((aw%2)||(ax%2)||(ay%2)||(az%2))) fprintf(f, "%d\n", 2);
else fprintf(f, "%d\n", 1);
fclose(f);
}
#ifdef __cplusplus
}
#endif
EOF
printf "%s\n" "configure:33297: $CC $CFLAGS -I. -c conftest.c" >&5
$CC $CFLAGS -I. -c conftest.c 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:33300: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
printf "%s\n" "configure:33304: $FC $FCFLAGS conftestf.f conftest.o -o conftest $LDFLAGS $LIBS" >&5
$FC $FCFLAGS conftestf.f conftest.o -o conftest $LDFLAGS $LIBS 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:33307: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
fortran_get_alignment_happy="yes"
else $as_nop
fortran_get_alignment_happy="no"
fi
{ oac_log_command_status=; unset oac_log_command_status;}
else $as_nop
fortran_get_alignment_happy="no"
fi
{ oac_log_command_status=; unset oac_log_command_status;}
if test "$fortran_get_alignment_happy" = "no" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error!" >&5
printf "%s\n" "Error!" >&6; }
as_fn_error $? "Could not determine alignment of LOGICAL*2" "$LINENO" 5
fi
if test "$cross_compiling" = "yes"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error!" >&5
printf "%s\n" "Error!" >&6; }
as_fn_error $? "Can not determine alignment of LOGICAL*2 when cross-compiling" "$LINENO" 5
else $as_nop
printf "%s\n" "configure:33333: ./conftest" >&5
./conftest 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:33336: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
ompi_cv_fortran_alignment_LOGICALp2=`cat conftestval`
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error!" >&5
printf "%s\n" "Error!" >&6; }
as_fn_error $? "Could not determine alignment of LOGICAL*2" "$LINENO" 5
fi
{ oac_log_command_status=; unset oac_log_command_status;}
fi
rm -rf conftest*
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_alignment_LOGICALp2" >&5
printf "%s\n" "$ompi_cv_fortran_alignment_LOGICALp2" >&6; }
ofc_type_alignment=$ompi_cv_fortran_alignment_LOGICALp2
opal_var_scope_pop fortran_get_alignment_happy ompi_conftest_h
# Add it to the relevant list of types found
if test "$ofc_expected_size" != "-1"; then
ofc_letter=L
ofc_str="OMPI_FORTRAN_${ofc_letter}KINDS=\"\$OMPI_FORTRAN_${ofc_letter}KINDS $ofc_type_size \""
eval $ofc_str
fi
fi
# Get the kind of the type. We do this by looking at the
# Fortran type's corresponding C type (which we figured
# out above). Then we look a the official BIND(C) KIND
# type for that type. The official BIND(C) types were
# taken from table 15.2 of the Fortran 2008 standard,
# published on 6 October as ISO/IEC 1539-1:2010 (this is
# not a free document). A copy of this table is in the
# file ompi/mpi/fortran/c_to_integer_kind_mapping.pdf.
# NOTE: Some of the values of these C_* constants *may be
# negative* if the compiler doesn't support them. We have
# already verified that both the Fortran and the C types
# both exist. However, the compiler may still have -1 for
# the C_ constants if the C type is not the same
# format as its corresponding Fortran type (e.g., Absoft's
# "REAL*16" and "long double" are the same size, but not
# the same format -- so the compiler is allowed to define
# C_LONG_DOUBLE to -1).
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for corresponding KIND value of LOGICAL*2" >&5
printf %s "checking for corresponding KIND value of LOGICAL*2... " >&6; }
case "$ofc_c_type" in
char) ofc_type_kind=C_SIGNED_CHAR ;;
double) ofc_type_kind=C_DOUBLE ;;
float) ofc_type_kind=C_FLOAT ;;
int) ofc_type_kind=C_INT ;;
int16_t) ofc_type_kind=C_INT16_T ;;
int32_t) ofc_type_kind=C_INT32_T ;;
int64_t) ofc_type_kind=C_INT64_T ;;
int8_t) ofc_type_kind=C_INT8_T ;;
long) ofc_type_kind=C_LONG ;;
long*double) ofc_type_kind=C_LONG_DOUBLE ;;
long*long) ofc_type_kind=C_LONG_LONG ;;
short) ofc_type_kind=C_SHORT ;;
short*float) ofc_type_kind=C_SHORT_FLOAT ;;
short*float*_Complex) ofc_type_kind=C_SHORT_FLOAT_COMPLEX ;;
float*_Complex) ofc_type_kind=C_FLOAT_COMPLEX ;;
double*_Complex) ofc_type_kind=C_DOUBLE_COMPLEX ;;
long*double*_Complex) ofc_type_kind=C_LONG_DOUBLE_COMPLEX ;;
opal_short_float_t) ofc_type_kind=C_SHORT_FLOAT ;;
opal_short_float_complex_t) ofc_type_kind=C_SHORT_FLOAT_COMPLEX ;;
*)
# Skip types like "DOUBLE PRECISION"
;;
esac
if test "$ofc_type_kind" != ""
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ofc_type_kind" >&5
printf "%s\n" "$ofc_type_kind" >&6; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5
printf "%s\n" "" >&6; }
fi
# See if the value is -1. If so, then just say we don't
# have a match. If the compiler doesn't support
# ISO_C_BINDING, C_SHORT_FLOAT, or C_SHORT_FLOAT_COMPLEX,
# then we'll just fall back to a default kind and hope
# for the best. :-\
# Use of m4_translit suggested by Eric Blake:
# http://lists.gnu.org/archive/html/bug-autoconf/2010-10/msg00016.html
as_kind_value_var=`printf "%s\n" "ompi_cv_fortran_kind_value_$ofc_type_kind" | $as_tr_sh`
rm -f conftest.out
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking KIND value of Fortran $ofc_type_kind" >&5
printf %s "checking KIND value of Fortran $ofc_type_kind... " >&6; }
if eval test \${$as_kind_value_var+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test $OMPI_TRY_FORTRAN_BINDINGS -eq $OMPI_FORTRAN_NO_BINDINGS || \
test $ompi_fortran_happy -eq 0; then
value=skipped
else
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
value=
if test "$cross_compiling" = yes
then :
value=cross
else $as_nop
cat > conftest.$ac_ext <<_ACEOF
program main
use, intrinsic :: ISO_C_BINDING
implicit none
open(unit = 7, file = "conftest.out")
write(7, *) $ofc_type_kind
close(7)
end
_ACEOF
if ac_fn_fc_try_run "$LINENO"
then :
value=`cat conftest.out | awk '{print $1}'`
else $as_nop
value=no
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f conftest.out
fi
# If the compiler is ancient enough to not support the
# ISO_C_BINDING stuff, then we have to fall back to older
# tests. Yuck.
if test "$value" = "no"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no ISO_C_BINDING -- fallback" >&5
printf "%s\n" "no ISO_C_BINDING -- fallback" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Fortran value of selected_int_kind(4)" >&5
printf %s "checking Fortran value of selected_int_kind(4)... " >&6; }
if test ${ompi_cv_fortran_int_kind_4+y}
then :
printf %s "(cached) " >&6
else $as_nop
outval=no
if test $OMPI_TRY_FORTRAN_BINDINGS -gt $OMPI_FORTRAN_NO_BINDINGS && \
test $ompi_fortran_happy -eq 1
then :
rm -f conftest.out
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
if test "$cross_compiling" = yes
then :
outval=cross
else $as_nop
cat > conftest.$ac_ext <<_ACEOF
program main
open(8, file="conftest.out")
write(8, fmt="(I5)") selected_int_kind(4)
close(8)
end
_ACEOF
if ac_fn_fc_try_run "$LINENO"
then :
outval=`cat conftest.out | awk '{print $1}'`
else $as_nop
outval=no
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f conftest.out
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
fi
ompi_cv_fortran_int_kind_4=$outval
unset outval
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_int_kind_4" >&5
printf "%s\n" "$ompi_cv_fortran_int_kind_4" >&6; }
# All analysis of $value is done in the upper-level / calling
# macro
value=$ompi_cv_fortran_int_kind_4
fi
if test "$value" = "no"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not determine KIND value of $ofc_type_kind" >&5
printf "%s\n" "$as_me: WARNING: Could not determine KIND value of $ofc_type_kind" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: See config.log for more details" >&5
printf "%s\n" "$as_me: WARNING: See config.log for more details" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
if test "$value" = "cross"
then :
as_fn_error $? "Can not determine KIND value of $ofc_type_kind when cross-compiling" "$LINENO" 5
fi
eval "$as_kind_value_var=\$value"
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
unset value
fi
eval ac_res=\$$as_kind_value_var
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
eval ofc_type_kind_value=\$$as_kind_value_var
if test $ofc_type_kind_value -le 0
then :
ofc_have_type=0
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Compiler LOGICAL*2 and $ofc_c_type mismatch; MPI datatype unsupported" >&5
printf "%s\n" "$as_me: WARNING: Compiler LOGICAL*2 and $ofc_c_type mismatch; MPI datatype unsupported" >&2;}
fi
fi
fi
# We always need these defines -- even if we don't have a given
# type, there are some places in the code where we have to have
# *something*. Note that the bpatsubst's are the same as used
# above (see comment above), but we added a translit to make them
# uppercase.
# If we got a pretty name, use that as the basis. If not, use the
# first part of the provided fortran type (e.g.,
# "logical(selected_int_kind(2))" -> logical1")
# Finally, note that it is necessary to use the Big Long Ugly m4
# expressions in the AC_DEFINE_UNQUOTEDs. If you don't (e.g., put
# the result of the BLUm4E in a shell variable and use that in
# AC_DEFINE_UNQUOTED), autoheader won't put them in the
# AC_CONFIG_HEADER (or AM_CONFIG_HEADER, in our case).
printf "%s\n" "#define OMPI_HAVE_FORTRAN_LOGICAL2 $ofc_have_type" >>confdefs.h
printf "%s\n" "#define OMPI_SIZEOF_FORTRAN_LOGICAL2 $ofc_type_size" >>confdefs.h
printf "%s\n" "#define OMPI_ALIGNMENT_FORTRAN_LOGICAL2 $ofc_type_alignment" >>confdefs.h
printf "%s\n" "#define OMPI_KIND_FORTRAN_LOGICAL2 $ofc_type_kind" >>confdefs.h
if test "short, int16_t, int32_t, int, int64_t, long long, long" != "" && test "$ofc_define_type" = "yes"; then
printf "%s\n" "#define ompi_fortran_logical2_t $ofc_c_type" >>confdefs.h
fi
# Save some in shell variables for later use (e.g., need
# OMPI_SIZEOF_FORTRAN_INTEGER in OMPI_FORTRAN_GET_HANDLE_MAX)
OMPI_FORTRAN_LOGICAL2_C_TYPE=$ofc_c_type
OMPI_KIND_FORTRAN_LOGICAL2=$ofc_type_kind
OMPI_HAVE_FORTRAN_LOGICAL2=$ofc_have_type
OMPI_SIZEOF_FORTRAN_LOGICAL2=$ofc_type_size
OMPI_ALIGNMENT_FORTRAN_LOGICAL2=$ofc_type_alignment
# Wow, this is sick. But it works! :-)
# Clean up
opal_var_scope_pop ofc_have_type ofc_type_size ofc_type_alignment ofc_c_type ofc_expected_size
opal_var_scope_push ${LINENO} ofc_have_type ofc_type_size ofc_type_alignment ofc_c_type ofc_expected_size
ofc_expected_size=4
ofc_define_type=yes
ofc_have_type=0
ofc_type_size=0
ofc_type_alignment=0
ofc_c_type=ompi_fortran_bogus_type_t
ofc_type_kind=0
# Only check if we actually want the Fortran bindings / have a
# Fortran compiler. This allows us to call this macro, even if
# there is no Fortran compiler. If we have no Fortran compiler,
# then just set a bunch of defaults.
if test $OMPI_TRY_FORTRAN_BINDINGS -gt $OMPI_FORTRAN_NO_BINDINGS; then
# Use of m4_translit suggested by Eric Blake:
# http://lists.gnu.org/archive/html/bug-autoconf/2010-10/msg00016.html
# Determine Fortran datatype size.
# First arg is type, 2nd arg is config var to define
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports LOGICAL*4" >&5
printf %s "checking if Fortran compiler supports LOGICAL*4... " >&6; }
if test ${ompi_cv_fortran_have_LOGICALp4+y}
then :
printf %s "(cached) " >&6
else $as_nop
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
cat > conftest.$ac_ext <<_ACEOF
program main
LOGICAL*4 :: bogus_variable
end program
_ACEOF
if ac_fn_fc_try_compile "$LINENO"
then :
ompi_cv_fortran_have_LOGICALp4=yes
else $as_nop
ompi_cv_fortran_have_LOGICALp4=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_have_LOGICALp4" >&5
printf "%s\n" "$ompi_cv_fortran_have_LOGICALp4" >&6; }
if test "x$ompi_cv_fortran_have_LOGICALp4" = xyes
then :
ofc_have_type=1
else $as_nop
ofc_have_type=0
fi
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports LOGICAL*4" >&5
printf %s "checking if Fortran compiler supports LOGICAL*4... " >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: skipped" >&5
printf "%s\n" "skipped" >&6; }
fi
if test "$ofc_have_type" = "1"; then
# What is the size of this type?
# NOTE: Some Fortran compilers actually will return that a
# type exists even if it doesn't support it -- the compiler
# will automatically convert the unsupported type to a type
# that it *does* support. For example, if you try to use
# INTEGER*16 and the compiler doesn't support it, it may well
# automatically convert it to INTEGER*8 for you (!). So we
# have to check the actual size of the type once we determine
# that the compiler doesn't error if we try to use it
# (i.e,. the compiler *might* support that type). If the size
# doesn't match the expected size, then the compiler doesn't
# really support it.
# Use of m4_translit suggested by Eric Blake:
# http://lists.gnu.org/archive/html/bug-autoconf/2010-10/msg00016.html
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of Fortran LOGICAL*4" >&5
printf %s "checking size of Fortran LOGICAL*4... " >&6; }
if test ${ompi_cv_fortran_sizeof_LOGICALp4+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test "$ompi_cv_fortran_external_symbol" = "double underscore" ; then
# so the general rule is that if there is an _ in the function
# name, then there are two trailing underscores. Otherwise,
# there is only one trailing underscore. Any idea how to do
# that with m4_translit?
if echo size | $GREP _ >/dev/null 2>&1 ; then
ompi_ac_size_fn=size__
else
ompi_ac_size_fn=size_
fi
elif test "$ompi_cv_fortran_external_symbol" = "single underscore" ; then
ompi_ac_size_fn=size_
elif test "$ompi_cv_fortran_external_symbol" = "mixed case" ; then
ompi_ac_size_fn=size
elif test "$ompi_cv_fortran_external_symbol" = "no underscore" ; then
ompi_ac_size_fn=size
elif test "$ompi_cv_fortran_external_symbol" = "upper case" ; then
ompi_ac_size_fn=SIZE
else
as_fn_error $? "unknown naming convention: $ompi_cv_fortran_external_symbol" "$LINENO" 5
fi
# Fortran module
cat > conftestf.f90 < conftest.c <
#include
$ompi_conftest_h
#ifdef __cplusplus
extern "C" {
#endif
void $ompi_ac_size_fn(char *a, char *b)
{
int diff = (int) (b - a);
FILE *f=fopen("conftestval", "w");
if (!f) exit(1);
fprintf(f, "%d\n", diff);
}
#ifdef __cplusplus
}
#endif
EOF
printf "%s\n" "configure:33798: $CC $CFLAGS -I. -c conftest.c" >&5
$CC $CFLAGS -I. -c conftest.c 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:33801: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
printf "%s\n" "configure:33805: $FC $FCFLAGS $FCFLAGS_f90 conftestf.f90 conftest.o -o conftest $LDFLAGS $LIBS" >&5
$FC $FCFLAGS $FCFLAGS_f90 conftestf.f90 conftest.o -o conftest $LDFLAGS $LIBS 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:33808: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
happy="yes"
else $as_nop
happy="no"
fi
{ oac_log_command_status=; unset oac_log_command_status;}
else $as_nop
happy="no"
fi
{ oac_log_command_status=; unset oac_log_command_status;}
if test "$happy" = "no" ; then
if test -n "1"
then :
printf "%s\n" "configure:33824: here is the Fortran program:" >&5
else $as_nop
printf "%s\n" here is the Fortran program: >&5
fi
if test -n "conftestf.f90" && test -f "conftestf.f90"
then :
cat conftestf.f90 >&5
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not determine size of LOGICAL*4" >&5
printf "%s\n" "$as_me: WARNING: Could not determine size of LOGICAL*4" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: See config.log for details" >&5
printf "%s\n" "$as_me: WARNING: See config.log for details" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
if test "$cross_compiling" = "yes"
then :
as_fn_error $? "Can not determine size of LOGICAL*4 when cross-compiling" "$LINENO" 5
else $as_nop
printf "%s\n" "configure:33844: ./conftest" >&5
./conftest 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:33847: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
ompi_cv_fortran_sizeof_LOGICALp4=`cat conftestval`
else $as_nop
as_fn_error $? "Could not determine size of LOGICAL*4" "$LINENO" 5
fi
{ oac_log_command_status=; unset oac_log_command_status;}
fi
unset happy ompi_conftest_h
rm -rf conftest*
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_sizeof_LOGICALp4" >&5
printf "%s\n" "$ompi_cv_fortran_sizeof_LOGICALp4" >&6; }
ofc_type_size=$ompi_cv_fortran_sizeof_LOGICALp4
if test "$ofc_expected_size" != "-1" && test "$ofc_type_size" != "$ofc_expected_size"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Fortran LOGICAL*4 does not have expected size!" >&5
printf "%s\n" "$as_me: WARNING: *** Fortran LOGICAL*4 does not have expected size!" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Expected $ofc_expected_size, got $ofc_type_size" >&5
printf "%s\n" "$as_me: WARNING: *** Expected $ofc_expected_size, got $ofc_type_size" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Disabling MPI support for Fortran LOGICAL*4" >&5
printf "%s\n" "$as_me: WARNING: *** Disabling MPI support for Fortran LOGICAL*4" >&2;}
ofc_have_type=0
else
# Look for a corresponding C type (will abort by itself if the
# type isn't found and we need it)
ofc_c_type=
as_type_var=`printf "%s\n" "opal_cv_find_type_LOGICAL*4" | $as_tr_sh`
oft_abort_on_fail="yes"
oft_target_size="$ofc_type_size"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C type corresponding to LOGICAL*4" >&5
printf %s "checking for C type corresponding to LOGICAL*4... " >&6; }
if eval test \${$as_type_var+y}
then :
printf %s "(cached) " >&6
else $as_nop
# Loop over all the types handed to us
oft_real_type=
if test "$oft_target_size" != ""
then :
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_int32_t" = "$oft_target_size" ; then
oft_real_type="int32_t"
fi
fi
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_int" = "$oft_target_size" ; then
oft_real_type="int"
fi
fi
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_int64_t" = "$oft_target_size" ; then
oft_real_type="int64_t"
fi
fi
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_long_long" = "$oft_target_size" ; then
oft_real_type="long long"
fi
fi
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_long" = "$oft_target_size" ; then
oft_real_type="long"
fi
fi
fi
if test -z "$oft_real_type"
then :
eval "$as_type_var=\"not found\""
else $as_nop
eval "$as_type_var=\"\$oft_real_type\""
fi
fi
eval ac_res=\$$as_type_var
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
if eval test \"x\$"$as_type_var"\" = x"\"not found\""
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Did not find corresponding C type" >&5
printf "%s\n" "$as_me: WARNING: *** Did not find corresponding C type" >&2;}
if test "$oft_abort_on_fail" != "no"
then :
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
fi
if eval test \"x\$"$as_type_var"\" = x"\"not found\""
then :
ofc_c_type=
else $as_nop
eval ofc_c_type=\$$as_type_var
fi
unset oft_real_type oft_target_size
if test -z "$ofc_c_type" ; then
ofc_have_type=0
fi
# Get the alignment of the type
if test "$ofc_have_type" = "1"; then
opal_var_scope_push ${LINENO} fortran_get_alignment_happy ompi_conftest_h
# Use of m4_translit suggested by Eric Blake:
# http://lists.gnu.org/archive/html/bug-autoconf/2010-10/msg00016.html
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking alignment of Fortran LOGICAL*4" >&5
printf %s "checking alignment of Fortran LOGICAL*4... " >&6; }
if test ${ompi_cv_fortran_alignment_LOGICALp4+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test "$ompi_cv_fortran_external_symbol" = "double underscore" ; then
# so the general rule is that if there is an _ in the function
# name, then there are two trailing underscores. Otherwise,
# there is only one trailing underscore. Any idea how to do
# that with m4_translit?
if echo align | $GREP _ >/dev/null 2>&1 ; then
ompi_ac_align_fn=align__
else
ompi_ac_align_fn=align_
fi
elif test "$ompi_cv_fortran_external_symbol" = "single underscore" ; then
ompi_ac_align_fn=align_
elif test "$ompi_cv_fortran_external_symbol" = "mixed case" ; then
ompi_ac_align_fn=align
elif test "$ompi_cv_fortran_external_symbol" = "no underscore" ; then
ompi_ac_align_fn=align
elif test "$ompi_cv_fortran_external_symbol" = "upper case" ; then
ompi_ac_align_fn=ALIGN
else
as_fn_error $? "unknown naming convention: $ompi_cv_fortran_external_symbol" "$LINENO" 5
fi
# Fortran module. Make sure it's .f, not .f90.
cat > conftestf.f < conftest.c <
#include
$ompi_conftest_h
#ifdef __cplusplus
extern "C" {
#endif
void $ompi_ac_align_fn(char *w, char *x, char *y, char *z)
{ unsigned long aw, ax, ay, az;
FILE *f=fopen("conftestval", "w");
if (!f) exit(1);
aw = (unsigned long) w;
ax = (unsigned long) x;
ay = (unsigned long) y;
az = (unsigned long) z;
if (! ((aw%16)||(ax%16)||(ay%16)||(az%16))) fprintf(f, "%d\n", 16);
else if (! ((aw%12)||(ax%12)||(ay%12)||(az%12))) fprintf(f, "%d\n", 12);
else if (! ((aw%8)||(ax%8)||(ay%8)||(az%8))) fprintf(f, "%d\n", 8);
else if (! ((aw%4)||(ax%4)||(ay%4)||(az%4))) fprintf(f, "%d\n", 4);
else if (! ((aw%2)||(ax%2)||(ay%2)||(az%2))) fprintf(f, "%d\n", 2);
else fprintf(f, "%d\n", 1);
fclose(f);
}
#ifdef __cplusplus
}
#endif
EOF
printf "%s\n" "configure:34042: $CC $CFLAGS -I. -c conftest.c" >&5
$CC $CFLAGS -I. -c conftest.c 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:34045: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
printf "%s\n" "configure:34049: $FC $FCFLAGS conftestf.f conftest.o -o conftest $LDFLAGS $LIBS" >&5
$FC $FCFLAGS conftestf.f conftest.o -o conftest $LDFLAGS $LIBS 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:34052: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
fortran_get_alignment_happy="yes"
else $as_nop
fortran_get_alignment_happy="no"
fi
{ oac_log_command_status=; unset oac_log_command_status;}
else $as_nop
fortran_get_alignment_happy="no"
fi
{ oac_log_command_status=; unset oac_log_command_status;}
if test "$fortran_get_alignment_happy" = "no" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error!" >&5
printf "%s\n" "Error!" >&6; }
as_fn_error $? "Could not determine alignment of LOGICAL*4" "$LINENO" 5
fi
if test "$cross_compiling" = "yes"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error!" >&5
printf "%s\n" "Error!" >&6; }
as_fn_error $? "Can not determine alignment of LOGICAL*4 when cross-compiling" "$LINENO" 5
else $as_nop
printf "%s\n" "configure:34078: ./conftest" >&5
./conftest 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:34081: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
ompi_cv_fortran_alignment_LOGICALp4=`cat conftestval`
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error!" >&5
printf "%s\n" "Error!" >&6; }
as_fn_error $? "Could not determine alignment of LOGICAL*4" "$LINENO" 5
fi
{ oac_log_command_status=; unset oac_log_command_status;}
fi
rm -rf conftest*
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_alignment_LOGICALp4" >&5
printf "%s\n" "$ompi_cv_fortran_alignment_LOGICALp4" >&6; }
ofc_type_alignment=$ompi_cv_fortran_alignment_LOGICALp4
opal_var_scope_pop fortran_get_alignment_happy ompi_conftest_h
# Add it to the relevant list of types found
if test "$ofc_expected_size" != "-1"; then
ofc_letter=L
ofc_str="OMPI_FORTRAN_${ofc_letter}KINDS=\"\$OMPI_FORTRAN_${ofc_letter}KINDS $ofc_type_size \""
eval $ofc_str
fi
fi
# Get the kind of the type. We do this by looking at the
# Fortran type's corresponding C type (which we figured
# out above). Then we look a the official BIND(C) KIND
# type for that type. The official BIND(C) types were
# taken from table 15.2 of the Fortran 2008 standard,
# published on 6 October as ISO/IEC 1539-1:2010 (this is
# not a free document). A copy of this table is in the
# file ompi/mpi/fortran/c_to_integer_kind_mapping.pdf.
# NOTE: Some of the values of these C_* constants *may be
# negative* if the compiler doesn't support them. We have
# already verified that both the Fortran and the C types
# both exist. However, the compiler may still have -1 for
# the C_ constants if the C type is not the same
# format as its corresponding Fortran type (e.g., Absoft's
# "REAL*16" and "long double" are the same size, but not
# the same format -- so the compiler is allowed to define
# C_LONG_DOUBLE to -1).
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for corresponding KIND value of LOGICAL*4" >&5
printf %s "checking for corresponding KIND value of LOGICAL*4... " >&6; }
case "$ofc_c_type" in
char) ofc_type_kind=C_SIGNED_CHAR ;;
double) ofc_type_kind=C_DOUBLE ;;
float) ofc_type_kind=C_FLOAT ;;
int) ofc_type_kind=C_INT ;;
int16_t) ofc_type_kind=C_INT16_T ;;
int32_t) ofc_type_kind=C_INT32_T ;;
int64_t) ofc_type_kind=C_INT64_T ;;
int8_t) ofc_type_kind=C_INT8_T ;;
long) ofc_type_kind=C_LONG ;;
long*double) ofc_type_kind=C_LONG_DOUBLE ;;
long*long) ofc_type_kind=C_LONG_LONG ;;
short) ofc_type_kind=C_SHORT ;;
short*float) ofc_type_kind=C_SHORT_FLOAT ;;
short*float*_Complex) ofc_type_kind=C_SHORT_FLOAT_COMPLEX ;;
float*_Complex) ofc_type_kind=C_FLOAT_COMPLEX ;;
double*_Complex) ofc_type_kind=C_DOUBLE_COMPLEX ;;
long*double*_Complex) ofc_type_kind=C_LONG_DOUBLE_COMPLEX ;;
opal_short_float_t) ofc_type_kind=C_SHORT_FLOAT ;;
opal_short_float_complex_t) ofc_type_kind=C_SHORT_FLOAT_COMPLEX ;;
*)
# Skip types like "DOUBLE PRECISION"
;;
esac
if test "$ofc_type_kind" != ""
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ofc_type_kind" >&5
printf "%s\n" "$ofc_type_kind" >&6; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5
printf "%s\n" "" >&6; }
fi
# See if the value is -1. If so, then just say we don't
# have a match. If the compiler doesn't support
# ISO_C_BINDING, C_SHORT_FLOAT, or C_SHORT_FLOAT_COMPLEX,
# then we'll just fall back to a default kind and hope
# for the best. :-\
# Use of m4_translit suggested by Eric Blake:
# http://lists.gnu.org/archive/html/bug-autoconf/2010-10/msg00016.html
as_kind_value_var=`printf "%s\n" "ompi_cv_fortran_kind_value_$ofc_type_kind" | $as_tr_sh`
rm -f conftest.out
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking KIND value of Fortran $ofc_type_kind" >&5
printf %s "checking KIND value of Fortran $ofc_type_kind... " >&6; }
if eval test \${$as_kind_value_var+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test $OMPI_TRY_FORTRAN_BINDINGS -eq $OMPI_FORTRAN_NO_BINDINGS || \
test $ompi_fortran_happy -eq 0; then
value=skipped
else
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
value=
if test "$cross_compiling" = yes
then :
value=cross
else $as_nop
cat > conftest.$ac_ext <<_ACEOF
program main
use, intrinsic :: ISO_C_BINDING
implicit none
open(unit = 7, file = "conftest.out")
write(7, *) $ofc_type_kind
close(7)
end
_ACEOF
if ac_fn_fc_try_run "$LINENO"
then :
value=`cat conftest.out | awk '{print $1}'`
else $as_nop
value=no
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f conftest.out
fi
# If the compiler is ancient enough to not support the
# ISO_C_BINDING stuff, then we have to fall back to older
# tests. Yuck.
if test "$value" = "no"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no ISO_C_BINDING -- fallback" >&5
printf "%s\n" "no ISO_C_BINDING -- fallback" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Fortran value of selected_int_kind(4)" >&5
printf %s "checking Fortran value of selected_int_kind(4)... " >&6; }
if test ${ompi_cv_fortran_int_kind_4+y}
then :
printf %s "(cached) " >&6
else $as_nop
outval=no
if test $OMPI_TRY_FORTRAN_BINDINGS -gt $OMPI_FORTRAN_NO_BINDINGS && \
test $ompi_fortran_happy -eq 1
then :
rm -f conftest.out
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
if test "$cross_compiling" = yes
then :
outval=cross
else $as_nop
cat > conftest.$ac_ext <<_ACEOF
program main
open(8, file="conftest.out")
write(8, fmt="(I5)") selected_int_kind(4)
close(8)
end
_ACEOF
if ac_fn_fc_try_run "$LINENO"
then :
outval=`cat conftest.out | awk '{print $1}'`
else $as_nop
outval=no
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f conftest.out
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
fi
ompi_cv_fortran_int_kind_4=$outval
unset outval
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_int_kind_4" >&5
printf "%s\n" "$ompi_cv_fortran_int_kind_4" >&6; }
# All analysis of $value is done in the upper-level / calling
# macro
value=$ompi_cv_fortran_int_kind_4
fi
if test "$value" = "no"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not determine KIND value of $ofc_type_kind" >&5
printf "%s\n" "$as_me: WARNING: Could not determine KIND value of $ofc_type_kind" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: See config.log for more details" >&5
printf "%s\n" "$as_me: WARNING: See config.log for more details" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
if test "$value" = "cross"
then :
as_fn_error $? "Can not determine KIND value of $ofc_type_kind when cross-compiling" "$LINENO" 5
fi
eval "$as_kind_value_var=\$value"
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
unset value
fi
eval ac_res=\$$as_kind_value_var
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
eval ofc_type_kind_value=\$$as_kind_value_var
if test $ofc_type_kind_value -le 0
then :
ofc_have_type=0
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Compiler LOGICAL*4 and $ofc_c_type mismatch; MPI datatype unsupported" >&5
printf "%s\n" "$as_me: WARNING: Compiler LOGICAL*4 and $ofc_c_type mismatch; MPI datatype unsupported" >&2;}
fi
fi
fi
# We always need these defines -- even if we don't have a given
# type, there are some places in the code where we have to have
# *something*. Note that the bpatsubst's are the same as used
# above (see comment above), but we added a translit to make them
# uppercase.
# If we got a pretty name, use that as the basis. If not, use the
# first part of the provided fortran type (e.g.,
# "logical(selected_int_kind(2))" -> logical1")
# Finally, note that it is necessary to use the Big Long Ugly m4
# expressions in the AC_DEFINE_UNQUOTEDs. If you don't (e.g., put
# the result of the BLUm4E in a shell variable and use that in
# AC_DEFINE_UNQUOTED), autoheader won't put them in the
# AC_CONFIG_HEADER (or AM_CONFIG_HEADER, in our case).
printf "%s\n" "#define OMPI_HAVE_FORTRAN_LOGICAL4 $ofc_have_type" >>confdefs.h
printf "%s\n" "#define OMPI_SIZEOF_FORTRAN_LOGICAL4 $ofc_type_size" >>confdefs.h
printf "%s\n" "#define OMPI_ALIGNMENT_FORTRAN_LOGICAL4 $ofc_type_alignment" >>confdefs.h
printf "%s\n" "#define OMPI_KIND_FORTRAN_LOGICAL4 $ofc_type_kind" >>confdefs.h
if test "int32_t, int, int64_t, long long, long" != "" && test "$ofc_define_type" = "yes"; then
printf "%s\n" "#define ompi_fortran_logical4_t $ofc_c_type" >>confdefs.h
fi
# Save some in shell variables for later use (e.g., need
# OMPI_SIZEOF_FORTRAN_INTEGER in OMPI_FORTRAN_GET_HANDLE_MAX)
OMPI_FORTRAN_LOGICAL4_C_TYPE=$ofc_c_type
OMPI_KIND_FORTRAN_LOGICAL4=$ofc_type_kind
OMPI_HAVE_FORTRAN_LOGICAL4=$ofc_have_type
OMPI_SIZEOF_FORTRAN_LOGICAL4=$ofc_type_size
OMPI_ALIGNMENT_FORTRAN_LOGICAL4=$ofc_type_alignment
# Wow, this is sick. But it works! :-)
# Clean up
opal_var_scope_pop ofc_have_type ofc_type_size ofc_type_alignment ofc_c_type ofc_expected_size
opal_var_scope_push ${LINENO} ofc_have_type ofc_type_size ofc_type_alignment ofc_c_type ofc_expected_size
ofc_expected_size=8
ofc_define_type=yes
ofc_have_type=0
ofc_type_size=0
ofc_type_alignment=0
ofc_c_type=ompi_fortran_bogus_type_t
ofc_type_kind=0
# Only check if we actually want the Fortran bindings / have a
# Fortran compiler. This allows us to call this macro, even if
# there is no Fortran compiler. If we have no Fortran compiler,
# then just set a bunch of defaults.
if test $OMPI_TRY_FORTRAN_BINDINGS -gt $OMPI_FORTRAN_NO_BINDINGS; then
# Use of m4_translit suggested by Eric Blake:
# http://lists.gnu.org/archive/html/bug-autoconf/2010-10/msg00016.html
# Determine Fortran datatype size.
# First arg is type, 2nd arg is config var to define
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports LOGICAL*8" >&5
printf %s "checking if Fortran compiler supports LOGICAL*8... " >&6; }
if test ${ompi_cv_fortran_have_LOGICALp8+y}
then :
printf %s "(cached) " >&6
else $as_nop
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
cat > conftest.$ac_ext <<_ACEOF
program main
LOGICAL*8 :: bogus_variable
end program
_ACEOF
if ac_fn_fc_try_compile "$LINENO"
then :
ompi_cv_fortran_have_LOGICALp8=yes
else $as_nop
ompi_cv_fortran_have_LOGICALp8=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_have_LOGICALp8" >&5
printf "%s\n" "$ompi_cv_fortran_have_LOGICALp8" >&6; }
if test "x$ompi_cv_fortran_have_LOGICALp8" = xyes
then :
ofc_have_type=1
else $as_nop
ofc_have_type=0
fi
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports LOGICAL*8" >&5
printf %s "checking if Fortran compiler supports LOGICAL*8... " >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: skipped" >&5
printf "%s\n" "skipped" >&6; }
fi
if test "$ofc_have_type" = "1"; then
# What is the size of this type?
# NOTE: Some Fortran compilers actually will return that a
# type exists even if it doesn't support it -- the compiler
# will automatically convert the unsupported type to a type
# that it *does* support. For example, if you try to use
# INTEGER*16 and the compiler doesn't support it, it may well
# automatically convert it to INTEGER*8 for you (!). So we
# have to check the actual size of the type once we determine
# that the compiler doesn't error if we try to use it
# (i.e,. the compiler *might* support that type). If the size
# doesn't match the expected size, then the compiler doesn't
# really support it.
# Use of m4_translit suggested by Eric Blake:
# http://lists.gnu.org/archive/html/bug-autoconf/2010-10/msg00016.html
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of Fortran LOGICAL*8" >&5
printf %s "checking size of Fortran LOGICAL*8... " >&6; }
if test ${ompi_cv_fortran_sizeof_LOGICALp8+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test "$ompi_cv_fortran_external_symbol" = "double underscore" ; then
# so the general rule is that if there is an _ in the function
# name, then there are two trailing underscores. Otherwise,
# there is only one trailing underscore. Any idea how to do
# that with m4_translit?
if echo size | $GREP _ >/dev/null 2>&1 ; then
ompi_ac_size_fn=size__
else
ompi_ac_size_fn=size_
fi
elif test "$ompi_cv_fortran_external_symbol" = "single underscore" ; then
ompi_ac_size_fn=size_
elif test "$ompi_cv_fortran_external_symbol" = "mixed case" ; then
ompi_ac_size_fn=size
elif test "$ompi_cv_fortran_external_symbol" = "no underscore" ; then
ompi_ac_size_fn=size
elif test "$ompi_cv_fortran_external_symbol" = "upper case" ; then
ompi_ac_size_fn=SIZE
else
as_fn_error $? "unknown naming convention: $ompi_cv_fortran_external_symbol" "$LINENO" 5
fi
# Fortran module
cat > conftestf.f90 < conftest.c <
#include
$ompi_conftest_h
#ifdef __cplusplus
extern "C" {
#endif
void $ompi_ac_size_fn(char *a, char *b)
{
int diff = (int) (b - a);
FILE *f=fopen("conftestval", "w");
if (!f) exit(1);
fprintf(f, "%d\n", diff);
}
#ifdef __cplusplus
}
#endif
EOF
printf "%s\n" "configure:34543: $CC $CFLAGS -I. -c conftest.c" >&5
$CC $CFLAGS -I. -c conftest.c 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:34546: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
printf "%s\n" "configure:34550: $FC $FCFLAGS $FCFLAGS_f90 conftestf.f90 conftest.o -o conftest $LDFLAGS $LIBS" >&5
$FC $FCFLAGS $FCFLAGS_f90 conftestf.f90 conftest.o -o conftest $LDFLAGS $LIBS 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:34553: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
happy="yes"
else $as_nop
happy="no"
fi
{ oac_log_command_status=; unset oac_log_command_status;}
else $as_nop
happy="no"
fi
{ oac_log_command_status=; unset oac_log_command_status;}
if test "$happy" = "no" ; then
if test -n "1"
then :
printf "%s\n" "configure:34569: here is the Fortran program:" >&5
else $as_nop
printf "%s\n" here is the Fortran program: >&5
fi
if test -n "conftestf.f90" && test -f "conftestf.f90"
then :
cat conftestf.f90 >&5
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not determine size of LOGICAL*8" >&5
printf "%s\n" "$as_me: WARNING: Could not determine size of LOGICAL*8" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: See config.log for details" >&5
printf "%s\n" "$as_me: WARNING: See config.log for details" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
if test "$cross_compiling" = "yes"
then :
as_fn_error $? "Can not determine size of LOGICAL*8 when cross-compiling" "$LINENO" 5
else $as_nop
printf "%s\n" "configure:34589: ./conftest" >&5
./conftest 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:34592: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
ompi_cv_fortran_sizeof_LOGICALp8=`cat conftestval`
else $as_nop
as_fn_error $? "Could not determine size of LOGICAL*8" "$LINENO" 5
fi
{ oac_log_command_status=; unset oac_log_command_status;}
fi
unset happy ompi_conftest_h
rm -rf conftest*
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_sizeof_LOGICALp8" >&5
printf "%s\n" "$ompi_cv_fortran_sizeof_LOGICALp8" >&6; }
ofc_type_size=$ompi_cv_fortran_sizeof_LOGICALp8
if test "$ofc_expected_size" != "-1" && test "$ofc_type_size" != "$ofc_expected_size"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Fortran LOGICAL*8 does not have expected size!" >&5
printf "%s\n" "$as_me: WARNING: *** Fortran LOGICAL*8 does not have expected size!" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Expected $ofc_expected_size, got $ofc_type_size" >&5
printf "%s\n" "$as_me: WARNING: *** Expected $ofc_expected_size, got $ofc_type_size" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Disabling MPI support for Fortran LOGICAL*8" >&5
printf "%s\n" "$as_me: WARNING: *** Disabling MPI support for Fortran LOGICAL*8" >&2;}
ofc_have_type=0
else
# Look for a corresponding C type (will abort by itself if the
# type isn't found and we need it)
ofc_c_type=
as_type_var=`printf "%s\n" "opal_cv_find_type_LOGICAL*8" | $as_tr_sh`
oft_abort_on_fail="yes"
oft_target_size="$ofc_type_size"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C type corresponding to LOGICAL*8" >&5
printf %s "checking for C type corresponding to LOGICAL*8... " >&6; }
if eval test \${$as_type_var+y}
then :
printf %s "(cached) " >&6
else $as_nop
# Loop over all the types handed to us
oft_real_type=
if test "$oft_target_size" != ""
then :
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_int" = "$oft_target_size" ; then
oft_real_type="int"
fi
fi
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_int64_t" = "$oft_target_size" ; then
oft_real_type="int64_t"
fi
fi
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_long_long" = "$oft_target_size" ; then
oft_real_type="long long"
fi
fi
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_long" = "$oft_target_size" ; then
oft_real_type="long"
fi
fi
fi
if test -z "$oft_real_type"
then :
eval "$as_type_var=\"not found\""
else $as_nop
eval "$as_type_var=\"\$oft_real_type\""
fi
fi
eval ac_res=\$$as_type_var
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
if eval test \"x\$"$as_type_var"\" = x"\"not found\""
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Did not find corresponding C type" >&5
printf "%s\n" "$as_me: WARNING: *** Did not find corresponding C type" >&2;}
if test "$oft_abort_on_fail" != "no"
then :
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
fi
if eval test \"x\$"$as_type_var"\" = x"\"not found\""
then :
ofc_c_type=
else $as_nop
eval ofc_c_type=\$$as_type_var
fi
unset oft_real_type oft_target_size
if test -z "$ofc_c_type" ; then
ofc_have_type=0
fi
# Get the alignment of the type
if test "$ofc_have_type" = "1"; then
opal_var_scope_push ${LINENO} fortran_get_alignment_happy ompi_conftest_h
# Use of m4_translit suggested by Eric Blake:
# http://lists.gnu.org/archive/html/bug-autoconf/2010-10/msg00016.html
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking alignment of Fortran LOGICAL*8" >&5
printf %s "checking alignment of Fortran LOGICAL*8... " >&6; }
if test ${ompi_cv_fortran_alignment_LOGICALp8+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test "$ompi_cv_fortran_external_symbol" = "double underscore" ; then
# so the general rule is that if there is an _ in the function
# name, then there are two trailing underscores. Otherwise,
# there is only one trailing underscore. Any idea how to do
# that with m4_translit?
if echo align | $GREP _ >/dev/null 2>&1 ; then
ompi_ac_align_fn=align__
else
ompi_ac_align_fn=align_
fi
elif test "$ompi_cv_fortran_external_symbol" = "single underscore" ; then
ompi_ac_align_fn=align_
elif test "$ompi_cv_fortran_external_symbol" = "mixed case" ; then
ompi_ac_align_fn=align
elif test "$ompi_cv_fortran_external_symbol" = "no underscore" ; then
ompi_ac_align_fn=align
elif test "$ompi_cv_fortran_external_symbol" = "upper case" ; then
ompi_ac_align_fn=ALIGN
else
as_fn_error $? "unknown naming convention: $ompi_cv_fortran_external_symbol" "$LINENO" 5
fi
# Fortran module. Make sure it's .f, not .f90.
cat > conftestf.f < conftest.c <
#include
$ompi_conftest_h
#ifdef __cplusplus
extern "C" {
#endif
void $ompi_ac_align_fn(char *w, char *x, char *y, char *z)
{ unsigned long aw, ax, ay, az;
FILE *f=fopen("conftestval", "w");
if (!f) exit(1);
aw = (unsigned long) w;
ax = (unsigned long) x;
ay = (unsigned long) y;
az = (unsigned long) z;
if (! ((aw%16)||(ax%16)||(ay%16)||(az%16))) fprintf(f, "%d\n", 16);
else if (! ((aw%12)||(ax%12)||(ay%12)||(az%12))) fprintf(f, "%d\n", 12);
else if (! ((aw%8)||(ax%8)||(ay%8)||(az%8))) fprintf(f, "%d\n", 8);
else if (! ((aw%4)||(ax%4)||(ay%4)||(az%4))) fprintf(f, "%d\n", 4);
else if (! ((aw%2)||(ax%2)||(ay%2)||(az%2))) fprintf(f, "%d\n", 2);
else fprintf(f, "%d\n", 1);
fclose(f);
}
#ifdef __cplusplus
}
#endif
EOF
printf "%s\n" "configure:34782: $CC $CFLAGS -I. -c conftest.c" >&5
$CC $CFLAGS -I. -c conftest.c 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:34785: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
printf "%s\n" "configure:34789: $FC $FCFLAGS conftestf.f conftest.o -o conftest $LDFLAGS $LIBS" >&5
$FC $FCFLAGS conftestf.f conftest.o -o conftest $LDFLAGS $LIBS 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:34792: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
fortran_get_alignment_happy="yes"
else $as_nop
fortran_get_alignment_happy="no"
fi
{ oac_log_command_status=; unset oac_log_command_status;}
else $as_nop
fortran_get_alignment_happy="no"
fi
{ oac_log_command_status=; unset oac_log_command_status;}
if test "$fortran_get_alignment_happy" = "no" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error!" >&5
printf "%s\n" "Error!" >&6; }
as_fn_error $? "Could not determine alignment of LOGICAL*8" "$LINENO" 5
fi
if test "$cross_compiling" = "yes"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error!" >&5
printf "%s\n" "Error!" >&6; }
as_fn_error $? "Can not determine alignment of LOGICAL*8 when cross-compiling" "$LINENO" 5
else $as_nop
printf "%s\n" "configure:34818: ./conftest" >&5
./conftest 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:34821: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
ompi_cv_fortran_alignment_LOGICALp8=`cat conftestval`
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error!" >&5
printf "%s\n" "Error!" >&6; }
as_fn_error $? "Could not determine alignment of LOGICAL*8" "$LINENO" 5
fi
{ oac_log_command_status=; unset oac_log_command_status;}
fi
rm -rf conftest*
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_alignment_LOGICALp8" >&5
printf "%s\n" "$ompi_cv_fortran_alignment_LOGICALp8" >&6; }
ofc_type_alignment=$ompi_cv_fortran_alignment_LOGICALp8
opal_var_scope_pop fortran_get_alignment_happy ompi_conftest_h
# Add it to the relevant list of types found
if test "$ofc_expected_size" != "-1"; then
ofc_letter=L
ofc_str="OMPI_FORTRAN_${ofc_letter}KINDS=\"\$OMPI_FORTRAN_${ofc_letter}KINDS $ofc_type_size \""
eval $ofc_str
fi
fi
# Get the kind of the type. We do this by looking at the
# Fortran type's corresponding C type (which we figured
# out above). Then we look a the official BIND(C) KIND
# type for that type. The official BIND(C) types were
# taken from table 15.2 of the Fortran 2008 standard,
# published on 6 October as ISO/IEC 1539-1:2010 (this is
# not a free document). A copy of this table is in the
# file ompi/mpi/fortran/c_to_integer_kind_mapping.pdf.
# NOTE: Some of the values of these C_* constants *may be
# negative* if the compiler doesn't support them. We have
# already verified that both the Fortran and the C types
# both exist. However, the compiler may still have -1 for
# the C_ constants if the C type is not the same
# format as its corresponding Fortran type (e.g., Absoft's
# "REAL*16" and "long double" are the same size, but not
# the same format -- so the compiler is allowed to define
# C_LONG_DOUBLE to -1).
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for corresponding KIND value of LOGICAL*8" >&5
printf %s "checking for corresponding KIND value of LOGICAL*8... " >&6; }
case "$ofc_c_type" in
char) ofc_type_kind=C_SIGNED_CHAR ;;
double) ofc_type_kind=C_DOUBLE ;;
float) ofc_type_kind=C_FLOAT ;;
int) ofc_type_kind=C_INT ;;
int16_t) ofc_type_kind=C_INT16_T ;;
int32_t) ofc_type_kind=C_INT32_T ;;
int64_t) ofc_type_kind=C_INT64_T ;;
int8_t) ofc_type_kind=C_INT8_T ;;
long) ofc_type_kind=C_LONG ;;
long*double) ofc_type_kind=C_LONG_DOUBLE ;;
long*long) ofc_type_kind=C_LONG_LONG ;;
short) ofc_type_kind=C_SHORT ;;
short*float) ofc_type_kind=C_SHORT_FLOAT ;;
short*float*_Complex) ofc_type_kind=C_SHORT_FLOAT_COMPLEX ;;
float*_Complex) ofc_type_kind=C_FLOAT_COMPLEX ;;
double*_Complex) ofc_type_kind=C_DOUBLE_COMPLEX ;;
long*double*_Complex) ofc_type_kind=C_LONG_DOUBLE_COMPLEX ;;
opal_short_float_t) ofc_type_kind=C_SHORT_FLOAT ;;
opal_short_float_complex_t) ofc_type_kind=C_SHORT_FLOAT_COMPLEX ;;
*)
# Skip types like "DOUBLE PRECISION"
;;
esac
if test "$ofc_type_kind" != ""
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ofc_type_kind" >&5
printf "%s\n" "$ofc_type_kind" >&6; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5
printf "%s\n" "" >&6; }
fi
# See if the value is -1. If so, then just say we don't
# have a match. If the compiler doesn't support
# ISO_C_BINDING, C_SHORT_FLOAT, or C_SHORT_FLOAT_COMPLEX,
# then we'll just fall back to a default kind and hope
# for the best. :-\
# Use of m4_translit suggested by Eric Blake:
# http://lists.gnu.org/archive/html/bug-autoconf/2010-10/msg00016.html
as_kind_value_var=`printf "%s\n" "ompi_cv_fortran_kind_value_$ofc_type_kind" | $as_tr_sh`
rm -f conftest.out
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking KIND value of Fortran $ofc_type_kind" >&5
printf %s "checking KIND value of Fortran $ofc_type_kind... " >&6; }
if eval test \${$as_kind_value_var+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test $OMPI_TRY_FORTRAN_BINDINGS -eq $OMPI_FORTRAN_NO_BINDINGS || \
test $ompi_fortran_happy -eq 0; then
value=skipped
else
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
value=
if test "$cross_compiling" = yes
then :
value=cross
else $as_nop
cat > conftest.$ac_ext <<_ACEOF
program main
use, intrinsic :: ISO_C_BINDING
implicit none
open(unit = 7, file = "conftest.out")
write(7, *) $ofc_type_kind
close(7)
end
_ACEOF
if ac_fn_fc_try_run "$LINENO"
then :
value=`cat conftest.out | awk '{print $1}'`
else $as_nop
value=no
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f conftest.out
fi
# If the compiler is ancient enough to not support the
# ISO_C_BINDING stuff, then we have to fall back to older
# tests. Yuck.
if test "$value" = "no"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no ISO_C_BINDING -- fallback" >&5
printf "%s\n" "no ISO_C_BINDING -- fallback" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Fortran value of selected_int_kind(4)" >&5
printf %s "checking Fortran value of selected_int_kind(4)... " >&6; }
if test ${ompi_cv_fortran_int_kind_4+y}
then :
printf %s "(cached) " >&6
else $as_nop
outval=no
if test $OMPI_TRY_FORTRAN_BINDINGS -gt $OMPI_FORTRAN_NO_BINDINGS && \
test $ompi_fortran_happy -eq 1
then :
rm -f conftest.out
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
if test "$cross_compiling" = yes
then :
outval=cross
else $as_nop
cat > conftest.$ac_ext <<_ACEOF
program main
open(8, file="conftest.out")
write(8, fmt="(I5)") selected_int_kind(4)
close(8)
end
_ACEOF
if ac_fn_fc_try_run "$LINENO"
then :
outval=`cat conftest.out | awk '{print $1}'`
else $as_nop
outval=no
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f conftest.out
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
fi
ompi_cv_fortran_int_kind_4=$outval
unset outval
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_int_kind_4" >&5
printf "%s\n" "$ompi_cv_fortran_int_kind_4" >&6; }
# All analysis of $value is done in the upper-level / calling
# macro
value=$ompi_cv_fortran_int_kind_4
fi
if test "$value" = "no"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not determine KIND value of $ofc_type_kind" >&5
printf "%s\n" "$as_me: WARNING: Could not determine KIND value of $ofc_type_kind" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: See config.log for more details" >&5
printf "%s\n" "$as_me: WARNING: See config.log for more details" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
if test "$value" = "cross"
then :
as_fn_error $? "Can not determine KIND value of $ofc_type_kind when cross-compiling" "$LINENO" 5
fi
eval "$as_kind_value_var=\$value"
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
unset value
fi
eval ac_res=\$$as_kind_value_var
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
eval ofc_type_kind_value=\$$as_kind_value_var
if test $ofc_type_kind_value -le 0
then :
ofc_have_type=0
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Compiler LOGICAL*8 and $ofc_c_type mismatch; MPI datatype unsupported" >&5
printf "%s\n" "$as_me: WARNING: Compiler LOGICAL*8 and $ofc_c_type mismatch; MPI datatype unsupported" >&2;}
fi
fi
fi
# We always need these defines -- even if we don't have a given
# type, there are some places in the code where we have to have
# *something*. Note that the bpatsubst's are the same as used
# above (see comment above), but we added a translit to make them
# uppercase.
# If we got a pretty name, use that as the basis. If not, use the
# first part of the provided fortran type (e.g.,
# "logical(selected_int_kind(2))" -> logical1")
# Finally, note that it is necessary to use the Big Long Ugly m4
# expressions in the AC_DEFINE_UNQUOTEDs. If you don't (e.g., put
# the result of the BLUm4E in a shell variable and use that in
# AC_DEFINE_UNQUOTED), autoheader won't put them in the
# AC_CONFIG_HEADER (or AM_CONFIG_HEADER, in our case).
printf "%s\n" "#define OMPI_HAVE_FORTRAN_LOGICAL8 $ofc_have_type" >>confdefs.h
printf "%s\n" "#define OMPI_SIZEOF_FORTRAN_LOGICAL8 $ofc_type_size" >>confdefs.h
printf "%s\n" "#define OMPI_ALIGNMENT_FORTRAN_LOGICAL8 $ofc_type_alignment" >>confdefs.h
printf "%s\n" "#define OMPI_KIND_FORTRAN_LOGICAL8 $ofc_type_kind" >>confdefs.h
if test "int, int64_t, long long, long" != "" && test "$ofc_define_type" = "yes"; then
printf "%s\n" "#define ompi_fortran_logical8_t $ofc_c_type" >>confdefs.h
fi
# Save some in shell variables for later use (e.g., need
# OMPI_SIZEOF_FORTRAN_INTEGER in OMPI_FORTRAN_GET_HANDLE_MAX)
OMPI_FORTRAN_LOGICAL8_C_TYPE=$ofc_c_type
OMPI_KIND_FORTRAN_LOGICAL8=$ofc_type_kind
OMPI_HAVE_FORTRAN_LOGICAL8=$ofc_have_type
OMPI_SIZEOF_FORTRAN_LOGICAL8=$ofc_type_size
OMPI_ALIGNMENT_FORTRAN_LOGICAL8=$ofc_type_alignment
# Wow, this is sick. But it works! :-)
# Clean up
opal_var_scope_pop ofc_have_type ofc_type_size ofc_type_alignment ofc_c_type ofc_expected_size
opal_var_scope_push ${LINENO} ofc_have_type ofc_type_size ofc_type_alignment ofc_c_type ofc_expected_size
ofc_expected_size=-1
ofc_define_type=yes
ofc_have_type=0
ofc_type_size=0
ofc_type_alignment=0
ofc_c_type=ompi_fortran_bogus_type_t
ofc_type_kind=0
# Only check if we actually want the Fortran bindings / have a
# Fortran compiler. This allows us to call this macro, even if
# there is no Fortran compiler. If we have no Fortran compiler,
# then just set a bunch of defaults.
if test $OMPI_TRY_FORTRAN_BINDINGS -gt $OMPI_FORTRAN_NO_BINDINGS; then
# Use of m4_translit suggested by Eric Blake:
# http://lists.gnu.org/archive/html/bug-autoconf/2010-10/msg00016.html
# Determine Fortran datatype size.
# First arg is type, 2nd arg is config var to define
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports INTEGER" >&5
printf %s "checking if Fortran compiler supports INTEGER... " >&6; }
if test ${ompi_cv_fortran_have_INTEGER+y}
then :
printf %s "(cached) " >&6
else $as_nop
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
cat > conftest.$ac_ext <<_ACEOF
program main
INTEGER :: bogus_variable
end program
_ACEOF
if ac_fn_fc_try_compile "$LINENO"
then :
ompi_cv_fortran_have_INTEGER=yes
else $as_nop
ompi_cv_fortran_have_INTEGER=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_have_INTEGER" >&5
printf "%s\n" "$ompi_cv_fortran_have_INTEGER" >&6; }
if test "x$ompi_cv_fortran_have_INTEGER" = xyes
then :
ofc_have_type=1
else $as_nop
ofc_have_type=0
fi
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports INTEGER" >&5
printf %s "checking if Fortran compiler supports INTEGER... " >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: skipped" >&5
printf "%s\n" "skipped" >&6; }
fi
if test "$ofc_have_type" = "1"; then
# What is the size of this type?
# NOTE: Some Fortran compilers actually will return that a
# type exists even if it doesn't support it -- the compiler
# will automatically convert the unsupported type to a type
# that it *does* support. For example, if you try to use
# INTEGER*16 and the compiler doesn't support it, it may well
# automatically convert it to INTEGER*8 for you (!). So we
# have to check the actual size of the type once we determine
# that the compiler doesn't error if we try to use it
# (i.e,. the compiler *might* support that type). If the size
# doesn't match the expected size, then the compiler doesn't
# really support it.
# Use of m4_translit suggested by Eric Blake:
# http://lists.gnu.org/archive/html/bug-autoconf/2010-10/msg00016.html
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of Fortran INTEGER" >&5
printf %s "checking size of Fortran INTEGER... " >&6; }
if test ${ompi_cv_fortran_sizeof_INTEGER+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test "$ompi_cv_fortran_external_symbol" = "double underscore" ; then
# so the general rule is that if there is an _ in the function
# name, then there are two trailing underscores. Otherwise,
# there is only one trailing underscore. Any idea how to do
# that with m4_translit?
if echo size | $GREP _ >/dev/null 2>&1 ; then
ompi_ac_size_fn=size__
else
ompi_ac_size_fn=size_
fi
elif test "$ompi_cv_fortran_external_symbol" = "single underscore" ; then
ompi_ac_size_fn=size_
elif test "$ompi_cv_fortran_external_symbol" = "mixed case" ; then
ompi_ac_size_fn=size
elif test "$ompi_cv_fortran_external_symbol" = "no underscore" ; then
ompi_ac_size_fn=size
elif test "$ompi_cv_fortran_external_symbol" = "upper case" ; then
ompi_ac_size_fn=SIZE
else
as_fn_error $? "unknown naming convention: $ompi_cv_fortran_external_symbol" "$LINENO" 5
fi
# Fortran module
cat > conftestf.f90 < conftest.c <
#include
$ompi_conftest_h
#ifdef __cplusplus
extern "C" {
#endif
void $ompi_ac_size_fn(char *a, char *b)
{
int diff = (int) (b - a);
FILE *f=fopen("conftestval", "w");
if (!f) exit(1);
fprintf(f, "%d\n", diff);
}
#ifdef __cplusplus
}
#endif
EOF
printf "%s\n" "configure:35284: $CC $CFLAGS -I. -c conftest.c" >&5
$CC $CFLAGS -I. -c conftest.c 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:35287: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
printf "%s\n" "configure:35291: $FC $FCFLAGS $FCFLAGS_f90 conftestf.f90 conftest.o -o conftest $LDFLAGS $LIBS" >&5
$FC $FCFLAGS $FCFLAGS_f90 conftestf.f90 conftest.o -o conftest $LDFLAGS $LIBS 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:35294: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
happy="yes"
else $as_nop
happy="no"
fi
{ oac_log_command_status=; unset oac_log_command_status;}
else $as_nop
happy="no"
fi
{ oac_log_command_status=; unset oac_log_command_status;}
if test "$happy" = "no" ; then
if test -n "1"
then :
printf "%s\n" "configure:35310: here is the Fortran program:" >&5
else $as_nop
printf "%s\n" here is the Fortran program: >&5
fi
if test -n "conftestf.f90" && test -f "conftestf.f90"
then :
cat conftestf.f90 >&5
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not determine size of INTEGER" >&5
printf "%s\n" "$as_me: WARNING: Could not determine size of INTEGER" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: See config.log for details" >&5
printf "%s\n" "$as_me: WARNING: See config.log for details" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
if test "$cross_compiling" = "yes"
then :
as_fn_error $? "Can not determine size of INTEGER when cross-compiling" "$LINENO" 5
else $as_nop
printf "%s\n" "configure:35330: ./conftest" >&5
./conftest 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:35333: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
ompi_cv_fortran_sizeof_INTEGER=`cat conftestval`
else $as_nop
as_fn_error $? "Could not determine size of INTEGER" "$LINENO" 5
fi
{ oac_log_command_status=; unset oac_log_command_status;}
fi
unset happy ompi_conftest_h
rm -rf conftest*
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_sizeof_INTEGER" >&5
printf "%s\n" "$ompi_cv_fortran_sizeof_INTEGER" >&6; }
ofc_type_size=$ompi_cv_fortran_sizeof_INTEGER
if test "$ofc_expected_size" != "-1" && test "$ofc_type_size" != "$ofc_expected_size"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Fortran INTEGER does not have expected size!" >&5
printf "%s\n" "$as_me: WARNING: *** Fortran INTEGER does not have expected size!" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Expected $ofc_expected_size, got $ofc_type_size" >&5
printf "%s\n" "$as_me: WARNING: *** Expected $ofc_expected_size, got $ofc_type_size" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Disabling MPI support for Fortran INTEGER" >&5
printf "%s\n" "$as_me: WARNING: *** Disabling MPI support for Fortran INTEGER" >&2;}
ofc_have_type=0
else
# Look for a corresponding C type (will abort by itself if the
# type isn't found and we need it)
ofc_c_type=
oft_abort_on_fail="yes"
oft_target_size="$ofc_type_size"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C type corresponding to INTEGER" >&5
printf %s "checking for C type corresponding to INTEGER... " >&6; }
if test ${opal_cv_find_type_INTEGER+y}
then :
printf %s "(cached) " >&6
else $as_nop
# Loop over all the types handed to us
oft_real_type=
if test "$oft_target_size" != ""
then :
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_int32_t" = "$oft_target_size" ; then
oft_real_type="int32_t"
fi
fi
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_int" = "$oft_target_size" ; then
oft_real_type="int"
fi
fi
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_int64_t" = "$oft_target_size" ; then
oft_real_type="int64_t"
fi
fi
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_long_long" = "$oft_target_size" ; then
oft_real_type="long long"
fi
fi
if test -z "$oft_real_type"; then
if test "$ac_cv_sizeof_long" = "$oft_target_size" ; then
oft_real_type="long"
fi
fi
fi
if test -z "$oft_real_type"
then :
opal_cv_find_type_INTEGER="not found"
else $as_nop
opal_cv_find_type_INTEGER="$oft_real_type"
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cv_find_type_INTEGER" >&5
printf "%s\n" "$opal_cv_find_type_INTEGER" >&6; }
if test "x$opal_cv_find_type_INTEGER" = x"not found"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Did not find corresponding C type" >&5
printf "%s\n" "$as_me: WARNING: *** Did not find corresponding C type" >&2;}
if test "$oft_abort_on_fail" != "no"
then :
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
fi
if test "x$opal_cv_find_type_INTEGER" = x"not found"
then :
ofc_c_type=
else $as_nop
ofc_c_type=$opal_cv_find_type_INTEGER
fi
unset oft_real_type oft_target_size
if test -z "$ofc_c_type" ; then
ofc_have_type=0
fi
# Get the alignment of the type
if test "$ofc_have_type" = "1"; then
opal_var_scope_push ${LINENO} fortran_get_alignment_happy ompi_conftest_h
# Use of m4_translit suggested by Eric Blake:
# http://lists.gnu.org/archive/html/bug-autoconf/2010-10/msg00016.html
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking alignment of Fortran INTEGER" >&5
printf %s "checking alignment of Fortran INTEGER... " >&6; }
if test ${ompi_cv_fortran_alignment_INTEGER+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test "$ompi_cv_fortran_external_symbol" = "double underscore" ; then
# so the general rule is that if there is an _ in the function
# name, then there are two trailing underscores. Otherwise,
# there is only one trailing underscore. Any idea how to do
# that with m4_translit?
if echo align | $GREP _ >/dev/null 2>&1 ; then
ompi_ac_align_fn=align__
else
ompi_ac_align_fn=align_
fi
elif test "$ompi_cv_fortran_external_symbol" = "single underscore" ; then
ompi_ac_align_fn=align_
elif test "$ompi_cv_fortran_external_symbol" = "mixed case" ; then
ompi_ac_align_fn=align
elif test "$ompi_cv_fortran_external_symbol" = "no underscore" ; then
ompi_ac_align_fn=align
elif test "$ompi_cv_fortran_external_symbol" = "upper case" ; then
ompi_ac_align_fn=ALIGN
else
as_fn_error $? "unknown naming convention: $ompi_cv_fortran_external_symbol" "$LINENO" 5
fi
# Fortran module. Make sure it's .f, not .f90.
cat > conftestf.f < conftest.c <
#include
$ompi_conftest_h
#ifdef __cplusplus
extern "C" {
#endif
void $ompi_ac_align_fn(char *w, char *x, char *y, char *z)
{ unsigned long aw, ax, ay, az;
FILE *f=fopen("conftestval", "w");
if (!f) exit(1);
aw = (unsigned long) w;
ax = (unsigned long) x;
ay = (unsigned long) y;
az = (unsigned long) z;
if (! ((aw%16)||(ax%16)||(ay%16)||(az%16))) fprintf(f, "%d\n", 16);
else if (! ((aw%12)||(ax%12)||(ay%12)||(az%12))) fprintf(f, "%d\n", 12);
else if (! ((aw%8)||(ax%8)||(ay%8)||(az%8))) fprintf(f, "%d\n", 8);
else if (! ((aw%4)||(ax%4)||(ay%4)||(az%4))) fprintf(f, "%d\n", 4);
else if (! ((aw%2)||(ax%2)||(ay%2)||(az%2))) fprintf(f, "%d\n", 2);
else fprintf(f, "%d\n", 1);
fclose(f);
}
#ifdef __cplusplus
}
#endif
EOF
printf "%s\n" "configure:35526: $CC $CFLAGS -I. -c conftest.c" >&5
$CC $CFLAGS -I. -c conftest.c 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:35529: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
printf "%s\n" "configure:35533: $FC $FCFLAGS conftestf.f conftest.o -o conftest $LDFLAGS $LIBS" >&5
$FC $FCFLAGS conftestf.f conftest.o -o conftest $LDFLAGS $LIBS 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:35536: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
fortran_get_alignment_happy="yes"
else $as_nop
fortran_get_alignment_happy="no"
fi
{ oac_log_command_status=; unset oac_log_command_status;}
else $as_nop
fortran_get_alignment_happy="no"
fi
{ oac_log_command_status=; unset oac_log_command_status;}
if test "$fortran_get_alignment_happy" = "no" ; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error!" >&5
printf "%s\n" "Error!" >&6; }
as_fn_error $? "Could not determine alignment of INTEGER" "$LINENO" 5
fi
if test "$cross_compiling" = "yes"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error!" >&5
printf "%s\n" "Error!" >&6; }
as_fn_error $? "Can not determine alignment of INTEGER when cross-compiling" "$LINENO" 5
else $as_nop
printf "%s\n" "configure:35562: ./conftest" >&5
./conftest 1>&5 2>&1
oac_log_command_status=$?
printf "%s\n" "configure:35565: \$? = $oac_log_command_status" >&5
if test $oac_log_command_status -eq 0
then :
ompi_cv_fortran_alignment_INTEGER=`cat conftestval`
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error!" >&5
printf "%s\n" "Error!" >&6; }
as_fn_error $? "Could not determine alignment of INTEGER" "$LINENO" 5
fi
{ oac_log_command_status=; unset oac_log_command_status;}
fi
rm -rf conftest*
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_alignment_INTEGER" >&5
printf "%s\n" "$ompi_cv_fortran_alignment_INTEGER" >&6; }
ofc_type_alignment=$ompi_cv_fortran_alignment_INTEGER
opal_var_scope_pop fortran_get_alignment_happy ompi_conftest_h
# Add it to the relevant list of types found
if test "$ofc_expected_size" != "-1"; then
ofc_letter=I
ofc_str="OMPI_FORTRAN_${ofc_letter}KINDS=\"\$OMPI_FORTRAN_${ofc_letter}KINDS $ofc_type_size \""
eval $ofc_str
fi
fi
# Get the kind of the type. We do this by looking at the
# Fortran type's corresponding C type (which we figured
# out above). Then we look a the official BIND(C) KIND
# type for that type. The official BIND(C) types were
# taken from table 15.2 of the Fortran 2008 standard,
# published on 6 October as ISO/IEC 1539-1:2010 (this is
# not a free document). A copy of this table is in the
# file ompi/mpi/fortran/c_to_integer_kind_mapping.pdf.
# NOTE: Some of the values of these C_* constants *may be
# negative* if the compiler doesn't support them. We have
# already verified that both the Fortran and the C types
# both exist. However, the compiler may still have -1 for
# the C_ constants if the C type is not the same
# format as its corresponding Fortran type (e.g., Absoft's
# "REAL*16" and "long double" are the same size, but not
# the same format -- so the compiler is allowed to define
# C_LONG_DOUBLE to -1).
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for corresponding KIND value of INTEGER" >&5
printf %s "checking for corresponding KIND value of INTEGER... " >&6; }
case "$ofc_c_type" in
char) ofc_type_kind=C_SIGNED_CHAR ;;
double) ofc_type_kind=C_DOUBLE ;;
float) ofc_type_kind=C_FLOAT ;;
int) ofc_type_kind=C_INT ;;
int16_t) ofc_type_kind=C_INT16_T ;;
int32_t) ofc_type_kind=C_INT32_T ;;
int64_t) ofc_type_kind=C_INT64_T ;;
int8_t) ofc_type_kind=C_INT8_T ;;
long) ofc_type_kind=C_LONG ;;
long*double) ofc_type_kind=C_LONG_DOUBLE ;;
long*long) ofc_type_kind=C_LONG_LONG ;;
short) ofc_type_kind=C_SHORT ;;
short*float) ofc_type_kind=C_SHORT_FLOAT ;;
short*float*_Complex) ofc_type_kind=C_SHORT_FLOAT_COMPLEX ;;
float*_Complex) ofc_type_kind=C_FLOAT_COMPLEX ;;
double*_Complex) ofc_type_kind=C_DOUBLE_COMPLEX ;;
long*double*_Complex) ofc_type_kind=C_LONG_DOUBLE_COMPLEX ;;
opal_short_float_t) ofc_type_kind=C_SHORT_FLOAT ;;
opal_short_float_complex_t) ofc_type_kind=C_SHORT_FLOAT_COMPLEX ;;
*)
# Skip types like "DOUBLE PRECISION"
;;
esac
if test "$ofc_type_kind" != ""
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ofc_type_kind" >&5
printf "%s\n" "$ofc_type_kind" >&6; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5
printf "%s\n" "" >&6; }
fi
# See if the value is -1. If so, then just say we don't
# have a match. If the compiler doesn't support
# ISO_C_BINDING, C_SHORT_FLOAT, or C_SHORT_FLOAT_COMPLEX,
# then we'll just fall back to a default kind and hope
# for the best. :-\
# Use of m4_translit suggested by Eric Blake:
# http://lists.gnu.org/archive/html/bug-autoconf/2010-10/msg00016.html
as_kind_value_var=`printf "%s\n" "ompi_cv_fortran_kind_value_$ofc_type_kind" | $as_tr_sh`
rm -f conftest.out
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking KIND value of Fortran $ofc_type_kind" >&5
printf %s "checking KIND value of Fortran $ofc_type_kind... " >&6; }
if eval test \${$as_kind_value_var+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test $OMPI_TRY_FORTRAN_BINDINGS -eq $OMPI_FORTRAN_NO_BINDINGS || \
test $ompi_fortran_happy -eq 0; then
value=skipped
else
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
value=
if test "$cross_compiling" = yes
then :
value=cross
else $as_nop
cat > conftest.$ac_ext <<_ACEOF
program main
use, intrinsic :: ISO_C_BINDING
implicit none
open(unit = 7, file = "conftest.out")
write(7, *) $ofc_type_kind
close(7)
end
_ACEOF
if ac_fn_fc_try_run "$LINENO"
then :
value=`cat conftest.out | awk '{print $1}'`
else $as_nop
value=no
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f conftest.out
fi
# If the compiler is ancient enough to not support the
# ISO_C_BINDING stuff, then we have to fall back to older
# tests. Yuck.
if test "$value" = "no"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no ISO_C_BINDING -- fallback" >&5
printf "%s\n" "no ISO_C_BINDING -- fallback" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Fortran value of selected_int_kind(4)" >&5
printf %s "checking Fortran value of selected_int_kind(4)... " >&6; }
if test ${ompi_cv_fortran_int_kind_4+y}
then :
printf %s "(cached) " >&6
else $as_nop
outval=no
if test $OMPI_TRY_FORTRAN_BINDINGS -gt $OMPI_FORTRAN_NO_BINDINGS && \
test $ompi_fortran_happy -eq 1
then :
rm -f conftest.out
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
if test "$cross_compiling" = yes
then :
outval=cross
else $as_nop
cat > conftest.$ac_ext <<_ACEOF
program main
open(8, file="conftest.out")
write(8, fmt="(I5)") selected_int_kind(4)
close(8)
end
_ACEOF
if ac_fn_fc_try_run "$LINENO"
then :
outval=`cat conftest.out | awk '{print $1}'`
else $as_nop
outval=no
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f conftest.out
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
fi
ompi_cv_fortran_int_kind_4=$outval
unset outval
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_int_kind_4" >&5
printf "%s\n" "$ompi_cv_fortran_int_kind_4" >&6; }
# All analysis of $value is done in the upper-level / calling
# macro
value=$ompi_cv_fortran_int_kind_4
fi
if test "$value" = "no"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not determine KIND value of $ofc_type_kind" >&5
printf "%s\n" "$as_me: WARNING: Could not determine KIND value of $ofc_type_kind" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: See config.log for more details" >&5
printf "%s\n" "$as_me: WARNING: See config.log for more details" >&2;}
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
if test "$value" = "cross"
then :
as_fn_error $? "Can not determine KIND value of $ofc_type_kind when cross-compiling" "$LINENO" 5
fi
eval "$as_kind_value_var=\$value"
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
unset value
fi
eval ac_res=\$$as_kind_value_var
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
eval ofc_type_kind_value=\$$as_kind_value_var
if test $ofc_type_kind_value -le 0
then :
ofc_have_type=0
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Compiler INTEGER and $ofc_c_type mismatch; MPI datatype unsupported" >&5
printf "%s\n" "$as_me: WARNING: Compiler INTEGER and $ofc_c_type mismatch; MPI datatype unsupported" >&2;}
fi
fi
fi
# We always need these defines -- even if we don't have a given
# type, there are some places in the code where we have to have
# *something*. Note that the bpatsubst's are the same as used
# above (see comment above), but we added a translit to make them
# uppercase.
# If we got a pretty name, use that as the basis. If not, use the
# first part of the provided fortran type (e.g.,
# "logical(selected_int_kind(2))" -> logical1")
# Finally, note that it is necessary to use the Big Long Ugly m4
# expressions in the AC_DEFINE_UNQUOTEDs. If you don't (e.g., put
# the result of the BLUm4E in a shell variable and use that in
# AC_DEFINE_UNQUOTED), autoheader won't put them in the
# AC_CONFIG_HEADER (or AM_CONFIG_HEADER, in our case).
printf "%s\n" "#define OMPI_HAVE_FORTRAN_INTEGER $ofc_have_type" >>confdefs.h
printf "%s\n" "#define OMPI_SIZEOF_FORTRAN_INTEGER $ofc_type_size" >>confdefs.h
printf "%s\n" "#define OMPI_ALIGNMENT_FORTRAN_INTEGER $ofc_type_alignment" >>confdefs.h
printf "%s\n" "#define OMPI_KIND_FORTRAN_INTEGER $ofc_type_kind" >>confdefs.h
if test "int32_t, int, int64_t, long long, long" != "" && test "$ofc_define_type" = "yes"; then
printf "%s\n" "#define ompi_fortran_integer_t $ofc_c_type" >>confdefs.h
fi
# Save some in shell variables for later use (e.g., need
# OMPI_SIZEOF_FORTRAN_INTEGER in OMPI_FORTRAN_GET_HANDLE_MAX)
OMPI_FORTRAN_INTEGER_C_TYPE=$ofc_c_type
OMPI_KIND_FORTRAN_INTEGER=$ofc_type_kind
OMPI_HAVE_FORTRAN_INTEGER=$ofc_have_type
OMPI_SIZEOF_FORTRAN_INTEGER=$ofc_type_size
OMPI_ALIGNMENT_FORTRAN_INTEGER=$ofc_type_alignment
# Wow, this is sick. But it works! :-)
# Clean up
opal_var_scope_pop ofc_have_type ofc_type_size ofc_type_alignment ofc_c_type ofc_expected_size
opal_var_scope_push ${LINENO} ofc_have_type ofc_type_size ofc_type_alignment ofc_c_type ofc_expected_size
ofc_expected_size=1
ofc_define_type=yes
ofc_have_type=0
ofc_type_size=0
ofc_type_alignment=0
ofc_c_type=ompi_fortran_bogus_type_t
ofc_type_kind=0
# Only check if we actually want the Fortran bindings / have a
# Fortran compiler. This allows us to call this macro, even if
# there is no Fortran compiler. If we have no Fortran compiler,
# then just set a bunch of defaults.
if test $OMPI_TRY_FORTRAN_BINDINGS -gt $OMPI_FORTRAN_NO_BINDINGS; then
# Use of m4_translit suggested by Eric Blake:
# http://lists.gnu.org/archive/html/bug-autoconf/2010-10/msg00016.html
# Determine Fortran datatype size.
# First arg is type, 2nd arg is config var to define
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports INTEGER*1" >&5
printf %s "checking if Fortran compiler supports INTEGER*1... " >&6; }
if test ${ompi_cv_fortran_have_INTEGERp1+y}
then :
printf %s "(cached) " >&6
else $as_nop
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
cat > conftest.$ac_ext <<_ACEOF
program main
INTEGER*1 :: bogus_variable
end program
_ACEOF
if ac_fn_fc_try_compile "$LINENO"
then :
ompi_cv_fortran_have_INTEGERp1=yes
else $as_nop
ompi_cv_fortran_have_INTEGERp1=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
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
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_have_INTEGERp1" >&5
printf "%s\n" "$ompi_cv_fortran_have_INTEGERp1" >&6; }
if test "x$ompi_cv_fortran_have_INTEGERp1" = xyes
then :
ofc_have_type=1
else $as_nop
ofc_have_type=0
fi
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports INTEGER*1" >&5
printf %s "checking if Fortran compiler supports INTEGER*1... " >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: skipped" >&5
printf "%s\n" "skipped" >&6; }
fi
if test "$ofc_have_type" = "1"; then
# What is the size of this type?
# NOTE: Some Fortran compilers actually will return that a
# type exists even if it doesn't support it -- the compiler
# will automatically convert the unsupported type to a type
# that it *does* support. For example, if you try to use
# INTEGER*16 and the compiler doesn't support it, it may well
# automatically convert it to INTEGER*8 for you (!). So we
# have to check the actual size of the type once we determine
# that the compiler doesn't error if we try to use it
# (i.e,. the compiler *might* support that type). If the size
# doesn't match the expected size, then the compiler doesn't
# really support it.
# Use of m4_translit suggested by Eric Blake:
# http://lists.gnu.org/archive/html/bug-autoconf/2010-10/msg00016.html
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of Fortran INTEGER*1" >&5
printf %s "checking size of Fortran INTEGER*1... " >&6; }
if test ${ompi_cv_fortran_sizeof_INTEGERp1+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test "$ompi_cv_fortran_external_symbol" = "double underscore" ; then
# so the general rule is that if there is an _ in the function
# name, then there are two trailing underscores. Otherwise,
# there is only one trailing underscore. Any idea how to do
# that with m4_translit?
if echo size | $GREP _ >/dev/null 2>&1 ; then
ompi_ac_size_fn=size__
else
ompi_ac_size_fn=size_
fi
elif test "$ompi_cv_fortran_external_symbol" = "single underscore" ; then
ompi_ac_size_fn=size_
elif test "$ompi_cv_fortran_external_symbol" = "mixed case" ; then
ompi_ac_size_fn=size
elif test "$ompi_cv_fortran_external_symbol" = "no underscore" ; then
ompi_ac_size_fn=size
elif test "$ompi_cv_fortran_external_symbol" = "upper case" ; then
ompi_ac_size_fn=SIZE
else
as_fn_error $? "unknown naming convention: $ompi_cv_fortran_external_symbol" "$LINENO" 5
fi
# Fortran module
cat > conftestf.f90 < conftest.c <