@%:@! /bin/sh @%:@ Guess values for system-dependent variables and create Makefiles. @%:@ Generated by GNU Autoconf 2.72 for Open MPI 5.0.5. @%:@ @%:@ Report bugs to . @%:@ @%:@ @%:@ Copyright (C) 1992-1996, 1998-2017, 2020-2023 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 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 case e in @%:@( e) case `(set -o) 2>/dev/null` in @%:@( *posix*) : set -o posix ;; @%:@( *) : ;; esac ;; 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="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 case e in @%:@( e) case \`(set -o) 2>/dev/null\` in @%:@( *posix*) : set -o posix ;; @%:@( *) : ;; esac ;; 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 case e in @%:@( e) exitcode=1; echo positional parameters were not saved. ;; esac 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 case e in @%:@( e) as_have_required=no ;; esac fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null then : else case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac 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 ;; esac 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 @S|@? to STATUS, without forking. as_fn_set_status () { return $1 } @%:@ as_fn_set_status @%:@ as_fn_exit STATUS @%:@ ----------------- @%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } @%:@ as_fn_exit @%:@ as_fn_mkdir_p @%:@ ------------- @%:@ Create "@S|@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 case e in @%:@( e) as_fn_append () { eval $1=\$$1\$2 } ;; esac fi # as_fn_append @%:@ as_fn_arith ARG... @%:@ ------------------ @%:@ Perform arithmetic evaluation on the ARGs, and store the result in the @%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments @%:@ must be portable across @S|@(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null then : eval 'as_fn_arith () { as_val=$(( $* )) }' else case e in @%:@( e) as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } ;; esac fi # as_fn_arith @%:@ as_fn_error STATUS ERROR [LINENO LOG_FD] @%:@ ---------------------------------------- @%:@ Output "`basename @S|@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 ' t clear :clear 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_@&t@echo='printf %s\n' as_@&t@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_sed_cpp="y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" as_tr_cpp="eval sed '$as_sed_cpp'" # deprecated # Sed expression to map a string onto a valid variable name. as_sed_sh="y%*+%pp%;s%[^_$as_cr_alnum]%_%g" as_tr_sh="eval sed '$as_sed_sh'" # deprecated 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=. LIB@&t@OBJS= 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 LIB@&t@OBJS OPAL_MAKEDIST_DISABLE oshmemincludedir oshmemlibdir oshmemdatadir ompiincludedir ompilibdir ompidatadir pkglibdir 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 FILECMD 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 EGREP OMPI_MPI_OFFSET_KIND OMPI_MPI_COUNT_KIND OMPI_MPI_ADDRESS_KIND OMPI_MPI_INTEGER_KIND 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_sge 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 @<:@@S|@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 \@S|@prefix", where \@S|@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: @S|@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=DIR Search for libevent headers and libraries in DIR --with-libevent-libdir=DIR Search for libevent libraries in DIR --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-sge Build SGE or Grid Engine support (default: no) --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(=DIR) Where to find PMIx support, optionally adding DIR to the search path --with-pmix-libdir=DIR Look for libpmix in the given directory DIR, DIR/lib or DIR/lib64 --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.72 Copyright (C) 2023 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.@S|@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 case e in @%:@( e) printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) eval "$3=no" ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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.@S|@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 case e in @%:@( e) printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) eval "$3=yes" ;; esac 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 ;; esac 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.@S|@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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext done else case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext done else case e in @%:@( e) ac_lo= ac_hi= ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val ;; esac 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 case e in @%:@( e) printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 ;; esac 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.@S|@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 case e in @%:@( e) printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 ;; esac 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.@S|@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 case e in @%:@( e) printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 ;; esac 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.@S|@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 case e in @%:@( e) printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 ;; esac 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.@S|@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 case e in @%:@( e) printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 ;; esac 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.@S|@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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) eval "$3=no" ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext eval $6=\$ac_save_FLAGS ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) eval "$4=no" ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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.@S|@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 case e in @%:@( e) printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 ;; esac 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 case e in @%:@( e) 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 (void); 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 (void); /* 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 case e in @%:@( e) eval "$3=no" ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext ;; esac 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.72. 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 (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; } /* C89 style stringification. */ #define noexpand_stringify(a) #a const char *stringified = noexpand_stringify(arbitrary+token=sequence); /* C89 style token pasting. Exercises some of the corner cases that e.g. old MSVC gets wrong, but not very hard. */ #define noexpand_concat(a,b) a##b #define expand_concat(a,b) noexpand_concat(a,b) extern int vA; extern int vbee; #define aye A #define bee B int *pvA = &expand_concat(v,aye); int *pvbee = &noexpand_concat(v,bee); /* 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 // See if C++-style comments work. #include extern int puts (const char *); extern int printf (const char *, ...); extern int dprintf (int, const char *, ...); extern void *malloc (size_t); extern void free (void *); // 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) { // 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; // Work around memory leak warnings. free (ia); // 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 case e in @%:@( e) as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$LINENO" 5 ;; esac 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_@&t@config_guess="$SHELL ${ac_aux_dir}config.guess" fi if test -f "${ac_aux_dir}config.sub"; then ac_@&t@config_sub="$SHELL ${ac_aux_dir}config.sub" fi if test -f "$ac_aux_dir/configure"; then ac_@&t@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:__oline__: Loading environment file $with_platform, with contents below" >&5 else case e in @%:@( e) printf "%s\n" Loading environment file $with_platform, with contents below >&5 ;; esac 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:__oline__: Loaded platform arguments for $platform_loaded" >&5 else case e in @%:@( e) printf "%s\n" Loaded platform arguments for $platform_loaded >&5 ;; esac 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 case e in @%:@( e) printf "%s\n" === ${1} >&5 ;; esac fi } opal_show_subtitle() { cat <&5 else case e in @%:@( e) printf "%s\n" *** ${1} >&5 ;; esac fi } opal_show_subsubtitle() { cat <&5 else case e in @%:@( e) printf "%s\n" +++ ${1} >&5 ;; esac fi } opal_show_subsubsubtitle() { cat <&5 else case e in @%:@( e) printf "%s\n" --- ${1} >&5 ;; esac fi } opal_show_verbose() { if test "$V" = "1"; then cat <&5 else case e in @%:@( e) printf "%s\n" --- ${1} >&5 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 plain mkdir -p, # in the hope it doesn't have the bugs of ancient mkdir. MKDIR_P='mkdir -p' 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) am_cv_prog_tar_pax=$_am_tool ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 ;; 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 case e in @%:@( e) 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 case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_show_load_errors" >&5 printf "%s\n" "$with_show_load_errors" >&6; } ;; esac fi ;; esac 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:__oline__: Loading cross-compile file $with_cross, with contents below" >&5 else case e in @%:@( e) printf "%s\n" Loading cross-compile file $with_cross, with contents below >&5 ;; esac 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 case e in @%:@( e) if test $with_max_processor_name -ge 16 && test $with_max_processor_name -le 1024 then : happy=1 else case e in @%:@( e) happy=0 ;; esac fi ;; esac 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 case e in @%:@( e) if test $with_max_error_string -ge 64 && test $with_max_error_string -le 1024 then : happy=1 else case e in @%:@( e) happy=0 ;; esac fi ;; esac 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 case e in @%:@( e) if test $with_max_object_name -ge 64 && test $with_max_object_name -le 256 then : happy=1 else case e in @%:@( e) happy=0 ;; esac fi ;; esac 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 case e in @%:@( e) if test $with_max_info_key -ge 34 && test $with_max_info_key -le 255 then : happy=1 else case e in @%:@( e) happy=0 ;; esac fi ;; esac 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 case e in @%:@( e) if test $with_max_info_val -ge 32 && test $with_max_info_val -le 1024 then : happy=1 else case e in @%:@( e) happy=0 ;; esac fi ;; esac 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 case e in @%:@( e) if test $with_max_port_name -ge 255 && test $with_max_port_name -le 2048 then : happy=1 else case e in @%:@( e) happy=0 ;; esac fi ;; esac 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 case e in @%:@( e) if test $with_max_datarep_string -ge 64 && test $with_max_datarep_string -le 256 then : happy=1 else case e in @%:@( e) happy=0 ;; esac fi ;; esac 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 case e in @%:@( e) if test $with_max_pset_name_len -ge 512 && test $with_max_pset_name_len -le 4096 then : happy=1 else case e in @%:@( e) happy=0 ;; esac fi ;; esac 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 case e in @%:@( e) if test $with_max_stringtag_len -ge 256 && test $with_max_stringtag_len -le 2048 then : happy=1 else case e in @%:@( e) happy=0 ;; esac fi ;; esac 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 case e in @%:@( e) OMPI_FORTRAN_MODULEDIR=$libdir ;; esac 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 case e in @%:@( e) project_spc_amc=false ;; esac 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 case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac 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 case e in @%:@( e) project_ompi_amc=false ;; esac fi if test "$enable_oshmem" != "no" then : project_oshmem_amc=true else case e in @%:@( e) project_oshmem_amc="no (disabled)" ;; esac 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 case e in @%:@( e) enable_shared=yes ;; esac 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 case e in @%:@( e) enable_static=no ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) ac_file='' ;; esac 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 case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } ;; esac 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 case e in @%:@( e) { { 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; } ;; esac 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"); if (!f) return 1; 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.o conftest.obj 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 case e in @%:@( e) 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 case e in @%:@( e) 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; } ;; esac fi rm -f conftest.$ac_cv_objext conftest.$ac_ext ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) ac_compiler_gnu=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) { 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" ;; esac fi ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 ac_prog_cc_stdc=c11 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) { 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" ;; esac fi ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 ac_prog_cc_stdc=c99 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) { 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" ;; esac fi ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 ac_prog_cc_stdc=c89 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) ac_cv_safe_to_define___extensions__=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi ;; esac 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_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 case e in @%:@( e) MINIX= ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) ac_compiler_gnu=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) { 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" ;; esac fi ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 ac_prog_cc_stdc=c11 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) { 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" ;; esac fi ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 ac_prog_cc_stdc=c99 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) { 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" ;; esac fi ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 ac_prog_cc_stdc=c89 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) opal_prog_cc_c11_helper__Thread_local_available=0 opal_cc_helper_result=no ;; esac 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 case e in @%:@( e) opal_prog_cc_c11_helper_atomic_var_available=0 opal_cc_helper_result=no ;; esac 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 case e in @%:@( e) opal_prog_cc_c11_helper__Atomic_available=0 opal_cc_helper_result=no ;; esac 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 case e in @%:@( e) opal_prog_cc_c11_helper__Generic_available=0 opal_cc_helper_result=no ;; esac 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 case e in @%:@( e) opal_prog_cc_c11_helper__static_assert_available=0 opal_cc_helper_result=no ;; esac 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 case e in @%:@( e) opal_prog_cc_c11_helper_atomic_fetch_xor_explicit_available=0 opal_cc_helper_result=no ;; esac 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 case e in @%:@( e) opal_cv_c11_flag_required=yes ;; esac 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 case e in @%:@( e) opal_prog_cc_c11_helper__Thread_local_available=0 opal_cc_helper_result=no ;; esac 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 case e in @%:@( e) opal_prog_cc_c11_helper_atomic_var_available=0 opal_cc_helper_result=no ;; esac 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 case e in @%:@( e) opal_prog_cc_c11_helper__Atomic_available=0 opal_cc_helper_result=no ;; esac 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 case e in @%:@( e) opal_prog_cc_c11_helper__Generic_available=0 opal_cc_helper_result=no ;; esac 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 case e in @%:@( e) opal_prog_cc_c11_helper__static_assert_available=0 opal_cc_helper_result=no ;; esac 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 case e in @%:@( e) opal_prog_cc_c11_helper_atomic_fetch_xor_explicit_available=0 opal_cc_helper_result=no ;; esac 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 case e in @%:@( e) CFLAGS="${CFLAGS} $oac_list_arg" ;; esac 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 case e in @%:@( e) opal_cc_iquote="-I" ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 ;; esac 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 case e in @%:@( e) opal_prog_cc_c11_helper__Thread_local_available=0 opal_cc_helper_result=no ;; esac 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 case e in @%:@( e) opal_prog_cc_c11_helper_atomic_var_available=0 opal_cc_helper_result=no ;; esac 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 case e in @%:@( e) opal_prog_cc_c11_helper__Atomic_available=0 opal_cc_helper_result=no ;; esac 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 case e in @%:@( e) opal_prog_cc_c11_helper__Generic_available=0 opal_cc_helper_result=no ;; esac 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 case e in @%:@( e) opal_prog_cc_c11_helper__static_assert_available=0 opal_cc_helper_result=no ;; esac 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 case e in @%:@( e) opal_prog_cc_c11_helper_atomic_fetch_xor_explicit_available=0 opal_cc_helper_result=no ;; esac 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 case e in @%:@( e) opal_prog_cc__thread_available=0 opal_cc_helper_result=no ;; esac 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 case e in @%:@( e) opal_prog_cc_c11_helper__Thread_local_available=0 opal_cc_helper_result=no ;; esac 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 case e in @%:@( e) opal_prog_cc_c11_helper_proper__Atomic_support_in_atomics=0 opal_cc_helper_result=no ;; esac 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 case e in @%:@( e) opal_prog_cc_c11_helper_proper__Atomic_support_in_atomics=1 ;; esac 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 case e in @%:@( e) LDFLAGS="${LDFLAGS} $oac_list_arg" ;; esac 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 case e in @%:@( e) CFLAGS="${CFLAGS} $oac_list_arg" ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) CFLAGS="${CFLAGS} $oac_list_arg" ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) CFLAGS="${CFLAGS} $oac_list_arg" ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) CFLAGS="${CFLAGS} $oac_list_arg" ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) CFLAGS="${CFLAGS} $oac_list_arg" ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) CFLAGS="${CFLAGS} $oac_list_arg" ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) CFLAGS="${CFLAGS} $oac_list_arg" ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) CFLAGS="${CFLAGS} $oac_list_arg" ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) CFLAGS="${CFLAGS} $oac_list_arg" ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) CFLAGS="${CFLAGS} $oac_list_arg" ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) CFLAGS="${CFLAGS} $oac_list_arg" ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) CFLAGS="${CFLAGS} $oac_list_arg" ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) CFLAGS="${CFLAGS} $oac_list_arg" ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) CFLAGS="${CFLAGS} $oac_list_arg" ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) CFLAGS="${CFLAGS} $oac_list_arg" ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) CFLAGS="${CFLAGS} $oac_list_arg" ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) CFLAGS="${CFLAGS} $oac_list_arg" ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) CFLAGS="${CFLAGS} $oac_list_arg" ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) opal_cv_cc_supports___builtin_expect="no" ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) opal_cv_cc_supports___builtin_prefetch="no" ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) opal_cv_cc_supports___builtin_clz="no" ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext ;; esac 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 case e in @%:@( e) is_interix=no ;; esac 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 case e in @%:@( e) 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; } ;; esac 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 case e in @%:@( e) if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (_Bool))" "ac_cv_sizeof__Bool" "$ac_includes_default" then : else case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (char))" "ac_cv_sizeof_char" "$ac_includes_default" then : else case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short))" "ac_cv_sizeof_short" "$ac_includes_default" then : else case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default" then : else case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned int))" "ac_cv_sizeof_unsigned_int" "$ac_includes_default" then : else case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default" then : else case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned long))" "ac_cv_sizeof_unsigned_long" "$ac_includes_default" then : else case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long))" "ac_cv_sizeof_long_long" "$ac_includes_default" then : else case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short float))" "ac_cv_sizeof_short_float" "$ac_includes_default" then : else case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (float))" "ac_cv_sizeof_float" "$ac_includes_default" then : else case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (double))" "ac_cv_sizeof_double" "$ac_includes_default" then : else case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long double))" "ac_cv_sizeof_long_double" "$ac_includes_default" then : else case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (__float128))" "ac_cv_sizeof___float128" "$ac_includes_default" then : else case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short float _Complex))" "ac_cv_sizeof_short_float__Complex" "$ac_includes_default" then : else case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (float _Complex))" "ac_cv_sizeof_float__Complex" "$ac_includes_default" then : else case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (double _Complex))" "ac_cv_sizeof_double__Complex" "$ac_includes_default" then : else case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long double _Complex))" "ac_cv_sizeof_long_double__Complex" "$ac_includes_default" then : else case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void *))" "ac_cv_sizeof_void_p" "$ac_includes_default" then : else case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (size_t))" "ac_cv_sizeof_size_t" "$ac_includes_default" then : else case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (ssize_t))" "ac_cv_sizeof_ssize_t" "$ac_includes_default" then : else case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (ptrdiff_t))" "ac_cv_sizeof_ptrdiff_t" "$ac_includes_default" then : else case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (wchar_t))" "ac_cv_sizeof_wchar_t" "$ac_includes_default" then : else case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (pid_t))" "ac_cv_sizeof_pid_t" "$ac_includes_default" then : else case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (atomic_short))" "ac_cv_sizeof_atomic_short" "#include " then : else case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (atomic_int))" "ac_cv_sizeof_atomic_int" "#include " then : else case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (atomic_long))" "ac_cv_sizeof_atomic_long" "#include " then : else case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (atomic_llong))" "ac_cv_sizeof_atomic_llong" "#include " then : else case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi ;; esac 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" | sed "$as_sed_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" | sed "$as_sed_cpp"` 1 _ACEOF opal_alt_short_float_exists=1 else case e in @%:@( e) opal_alt_short_float_exists=0 ;; esac 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 case e in @%:@( e) { 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 ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) ompi_cv_c_word_size_align=yes ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi ;; esac 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 case e in @%:@( e) results=0 ;; esac 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 case e in @%:@( e) # 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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : opal_c_weak_symbols_happy=1 else case e in @%:@( e) opal_c_weak_symbols_happy=0 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) opal_c_weak_symbols_happy=0 ;; esac 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 case e in @%:@( e) opal_cv_c_weak_symbols="no" ;; esac fi unset opal_c_weak_symbols_happy rm -f conftest_weak.h conftest_weak.c conftest.c conftest ;; esac 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 case e in @%:@( e) OPAL_C_HAVE_WEAK_SYMBOLS=0 ;; esac 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 case e in @%:@( e) # 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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : opal_c_macro_weak_symbols_happy=1 else case e in @%:@( e) opal_c_macro_weak_symbols_happy=0 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) opal_c_macro_weak_symbols_happy=0 ;; esac 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 case e in @%:@( e) opal_cv_c_macro_weak_symbols="no" ;; esac fi unset opal_c_macro_weak_symbols_happy rm -f conftest_weak.h conftest_weak.c conftest.c conftest ;; esac 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 case e in @%:@( e) OPAL_C_HAVE_MACRO_WEAK_SYMBOLS=0 ;; esac 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 case e in @%:@( e) have_offsetof_msg="no" ;; esac 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 case e in @%:@( e) have_offsetof_msg="no" ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) ac_compiler_gnu=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) 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 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_cxx_werror_flag=$ac_save_cxx_werror_flag ;; esac 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_cxx11+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) ac_cv_prog_cxx_cxx11=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 ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) { 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" ;; esac fi ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 ac_prog_cxx_stdcxx=cxx11 ;; esac 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_cxx98+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) ac_cv_prog_cxx_cxx98=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 ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) { 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" ;; esac fi ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 ac_prog_cxx_stdcxx=cxx98 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) # 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 case e in @%:@( e) # 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 case e in @%:@( e) # Broken: fails on valid input. continue ;; esac 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 case e in @%:@( e) # Passes both tests. ac_preproc_ok=: break ;; esac 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 ;; esac 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 case e in @%:@( e) # Broken: fails on valid input. continue ;; esac 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 case e in @%:@( e) # Passes both tests. ac_preproc_ok=: break ;; esac 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 case e in @%:@( e) { { 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; } ;; esac 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 ;; esac 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 case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $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 case e in @%:@( e) ompi_cv_c_link_Cpp="no" ;; esac 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 case e in @%:@( e) ompi_cv_c_link_Cpp="no" ;; esac 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 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) opal_cv___attribute__=0 ;; esac 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 case e in @%:@( e) opal_cv___attribute__=0 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi ;; esac 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 case e in @%:@( e) # # 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 case e in @%:@( e) opal_cv___attribute__aligned=0 ;; esac 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 case e in @%:@( e) opal_cv___attribute__aligned=0 ;; esac 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 case e in @%:@( e) # # 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 ;; esac 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 ;; esac 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 case e in @%:@( e) # # 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 case e in @%:@( e) opal_cv___attribute__always_inline=0 ;; esac 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 case e in @%:@( e) opal_cv___attribute__always_inline=0 ;; esac 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 case e in @%:@( e) # # 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 ;; esac 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 ;; esac 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 case e in @%:@( e) # # 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 case e in @%:@( e) opal_cv___attribute__cold=0 ;; esac 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 case e in @%:@( e) opal_cv___attribute__cold=0 ;; esac 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 case e in @%:@( e) # # 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 ;; esac 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 ;; esac 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 case e in @%:@( e) # # 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 case e in @%:@( e) opal_cv___attribute__const=0 ;; esac 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 case e in @%:@( e) opal_cv___attribute__const=0 ;; esac 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 case e in @%:@( e) # # 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 ;; esac 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 ;; esac 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 case e in @%:@( e) # # 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 case e in @%:@( e) opal_cv___attribute__deprecated=0 ;; esac 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 case e in @%:@( e) opal_cv___attribute__deprecated=0 ;; esac 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 case e in @%:@( e) # # 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 ;; esac 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 ;; esac 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 case e in @%:@( e) # # 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 case e in @%:@( e) opal_cv___attribute__deprecated_argument=0 ;; esac 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 case e in @%:@( e) opal_cv___attribute__deprecated_argument=0 ;; esac 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 case e in @%:@( e) # # 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 ;; esac 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 ;; esac 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 case e in @%:@( e) # # 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 case e in @%:@( e) opal_cv___attribute__error=0 ;; esac 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 case e in @%:@( e) opal_cv___attribute__error=0 ;; esac 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 case e in @%:@( e) # # 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 ;; esac 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 ;; esac 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 case e in @%:@( e) # # 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 case e in @%:@( e) opal_cv___attribute__format=0 ;; esac 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 case e in @%:@( e) opal_cv___attribute__format=0 ;; esac 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 case e in @%:@( e) # # 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 ;; esac 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 ;; esac 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 case e in @%:@( e) # # 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 case e in @%:@( e) opal_cv___attribute__format_funcptr=0 ;; esac 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 case e in @%:@( e) opal_cv___attribute__format_funcptr=0 ;; esac 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 case e in @%:@( e) # # 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 ;; esac 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 ;; esac 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 case e in @%:@( e) # # 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 case e in @%:@( e) opal_cv___attribute__hot=0 ;; esac 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 case e in @%:@( e) opal_cv___attribute__hot=0 ;; esac 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 case e in @%:@( e) # # 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 ;; esac 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 ;; esac 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 case e in @%:@( e) # # 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 case e in @%:@( e) opal_cv___attribute__malloc=0 ;; esac 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 case e in @%:@( e) opal_cv___attribute__malloc=0 ;; esac 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 case e in @%:@( e) # # 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 ;; esac 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 ;; esac 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 case e in @%:@( e) # # 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 case e in @%:@( e) opal_cv___attribute__may_alias=0 ;; esac 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 case e in @%:@( e) opal_cv___attribute__may_alias=0 ;; esac 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 case e in @%:@( e) # # 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 ;; esac 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 ;; esac 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 case e in @%:@( e) # # 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 case e in @%:@( e) opal_cv___attribute__no_instrument_function=0 ;; esac 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 case e in @%:@( e) opal_cv___attribute__no_instrument_function=0 ;; esac 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 case e in @%:@( e) # # 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 ;; esac 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 ;; esac 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 case e in @%:@( e) # # 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 case e in @%:@( e) opal_cv___attribute__noinline=0 ;; esac 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 case e in @%:@( e) opal_cv___attribute__noinline=0 ;; esac 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 case e in @%:@( e) # # 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 ;; esac 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 ;; esac 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 case e in @%:@( e) # # 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 case e in @%:@( e) opal_cv___attribute__nonnull=0 ;; esac 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 case e in @%:@( e) opal_cv___attribute__nonnull=0 ;; esac 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 case e in @%:@( e) # # 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 ;; esac 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 ;; esac 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 case e in @%:@( e) # # 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 case e in @%:@( e) opal_cv___attribute__noreturn=0 ;; esac 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 case e in @%:@( e) opal_cv___attribute__noreturn=0 ;; esac 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 case e in @%:@( e) # # 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 ;; esac 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 ;; esac 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 case e in @%:@( e) # # 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 case e in @%:@( e) opal_cv___attribute__noreturn_funcptr=0 ;; esac 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 case e in @%:@( e) opal_cv___attribute__noreturn_funcptr=0 ;; esac 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 case e in @%:@( e) # # 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 ;; esac 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 ;; esac 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 case e in @%:@( e) # # 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 case e in @%:@( e) opal_cv___attribute__packed=0 ;; esac 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 case e in @%:@( e) opal_cv___attribute__packed=0 ;; esac 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 case e in @%:@( e) # # 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 ;; esac 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 ;; esac 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 case e in @%:@( e) # # 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 case e in @%:@( e) opal_cv___attribute__pure=0 ;; esac 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 case e in @%:@( e) opal_cv___attribute__pure=0 ;; esac 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 case e in @%:@( e) # # 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 ;; esac 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 ;; esac 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 case e in @%:@( e) # # 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 case e in @%:@( e) opal_cv___attribute__sentinel=0 ;; esac 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 case e in @%:@( e) opal_cv___attribute__sentinel=0 ;; esac 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 case e in @%:@( e) # # 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 ;; esac 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 ;; esac 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 case e in @%:@( e) # # 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 case e in @%:@( e) opal_cv___attribute__unused=0 ;; esac 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 case e in @%:@( e) opal_cv___attribute__unused=0 ;; esac 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 case e in @%:@( e) # # 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 ;; esac 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 ;; esac 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 case e in @%:@( e) # # 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 case e in @%:@( e) opal_cv___attribute__visibility=0 ;; esac 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 case e in @%:@( e) opal_cv___attribute__visibility=0 ;; esac 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 case e in @%:@( e) # # 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 ;; esac 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 ;; esac 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 case e in @%:@( e) # # 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 case e in @%:@( e) opal_cv___attribute__warn_unused_result=0 ;; esac 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 case e in @%:@( e) opal_cv___attribute__warn_unused_result=0 ;; esac 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 case e in @%:@( e) # # 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 ;; esac 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 ;; esac 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 case e in @%:@( e) # # 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 case e in @%:@( e) opal_cv___attribute__weak_alias=0 ;; esac 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 case e in @%:@( e) opal_cv___attribute__weak_alias=0 ;; esac 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 case e in @%:@( e) # # 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 ;; esac 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 ;; esac 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 case e in @%:@( e) # # 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 case e in @%:@( e) opal_cv___attribute__constructor=0 ;; esac 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 case e in @%:@( e) opal_cv___attribute__constructor=0 ;; esac 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 case e in @%:@( e) # # 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 ;; esac 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 ;; esac 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 case e in @%:@( e) # # 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 case e in @%:@( e) opal_cv___attribute__destructor=0 ;; esac 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 case e in @%:@( e) opal_cv___attribute__destructor=0 ;; esac 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 case e in @%:@( e) # # 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 ;; esac 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 ;; esac 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 case e in @%:@( e) # # 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 case e in @%:@( e) opal_cv___attribute__optnone=0 ;; esac 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 case e in @%:@( e) opal_cv___attribute__optnone=0 ;; esac 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 case e in @%:@( e) # # 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 ;; esac 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 ;; esac 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 case e in @%:@( e) # # 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 case e in @%:@( e) opal_cv___attribute__extension=0 ;; esac 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 case e in @%:@( e) opal_cv___attribute__extension=0 ;; esac 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 case e in @%:@( e) # # 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 ;; esac 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 ;; esac 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 case e in @%:@( e) CPPFLAGS_orig=$CPPFLAGS CPPFLAGS="-I${OPAL_TOP_SRCDIR}/opal/include $CPPFLAGS" if test "$cross_compiling" = yes then : opal_cv_compiler_FAMILYID=0 else case e in @%:@( e) 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 case e in @%:@( e) opal_cv_compiler_FAMILYID=0 ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi CPPFLAGS=$CPPFLAGS_orig ;; esac 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 case e in @%:@( e) CPPFLAGS_orig=$CPPFLAGS CPPFLAGS="-I${OPAL_TOP_SRCDIR}/opal/include $CPPFLAGS" if test "$cross_compiling" = yes then : opal_cv_compiler_VERSION=0 else case e in @%:@( e) 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 case e in @%:@( e) opal_cv_compiler_VERSION=0 ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi CPPFLAGS=$CPPFLAGS_orig ;; esac 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 case e in @%:@( e) ompi_java_dir=/System/Library/Frameworks/JavaVM.framework/Versions/Current ;; esac 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 case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac 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 case e in @%:@( e) with_jdk_headers= ;; esac fi else case e in @%:@( e) 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 case e in @%:@( e) with_jdk_headers= ;; esac fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac 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 case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi fi else case e in @%:@( e) ompi_java_found=1 ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) { 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; } ;; esac fi ;; esac fi ;; esac fi ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) { 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; } ;; esac fi ;; esac fi ;; esac fi ;; esac 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 case e in @%:@( e) 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 ;; 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 case e in @%:@( e) 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 ;; 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 case e in @%:@( e) 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 ;; 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 case e in @%:@( e) 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 ;; 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 case e in @%:@( e) ompi_java_happy=yes ;; esac 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 case e in @%:@( e) { 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 case e in @%:@( e) ompi_java_happy=no ;; esac fi ;; esac 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 case e in @%:@( e) ompi_java_happy=no ;; esac 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 case e in @%:@( e) { 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 ;; esac 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 case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } ;; esac 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 case e in @%:@( e) # 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 ;; esac fi else case e in @%:@( e) # 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; } ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) asm_result="no" ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi else case e in @%:@( e) asm_result="no - architecture not supported" ;; esac 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 case e in @%:@( e) asm_result="no" ;; esac 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 ;; esac 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 case e in @%:@( e) OPAL_C_GCC_INLINE_ASSEMBLY=0 gcc_inline=0 ;; esac 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 case e in @%:@( e) opal_cv_have___atomic=no ;; esac 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 case e in @%:@( e) opal_cv_have___atomic_64=no ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } opal_cv_have___atomic_64=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) opal_asm_check_func_happy=0 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac 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 case e in @%:@( e) 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; } ;; esac 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 case e in @%:@( e) 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; } ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) opal_asm_check_func_happy=0 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) atomic_compare_exchange_n_128_result=0 ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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; } ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) opal_asm_check_func_happy=0 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac 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 case e in @%:@( e) 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; } ;; esac 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 case e in @%:@( e) 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; } ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) opal_asm_check_func_happy=0 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) sync_bool_compare_and_swap_128_result=0 ;; esac 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 case e in @%:@( e) opal_asm_check_func_happy=0 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac 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 case e in @%:@( e) 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; } ;; esac 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 case e in @%:@( e) 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; } ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) opal_asm_check_func_happy=0 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) atomic_compare_exchange_result=0 ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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; } ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) opal_asm_check_func_happy=0 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac 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 case e in @%:@( e) 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; } ;; esac 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 case e in @%:@( e) 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; } ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) opal_asm_check_func_happy=0 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) sync_bool_compare_and_swap_128_result=0 ;; esac 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 case e in @%:@( e) opal_asm_check_func_happy=0 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac 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 case e in @%:@( e) 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; } ;; esac 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 case e in @%:@( e) 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; } ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) opal_asm_check_func_happy=0 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) cmpxchg16b_result=0 ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) cmpxchg16b_result=0 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) oac_summary_section_Miscellaneous_name="Miscellaneous" if test -z "${oac_summary_sections}" then : oac_summary_sections="Miscellaneous" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} Miscellaneous" ;; esac fi ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) oac_summary_section_Miscellaneous_value="${oac_summary_line}" ;; esac fi ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) ac_compiler_gnu=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_cv_fc_compiler_gnu=$ac_compiler_gnu ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) ac_cv_prog_fc_g=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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* ;; esac 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 case e in @%:@( e) ompi_fc_happy=1 ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) opal_cv_Fortran_works="no" ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext else case e in @%:@( e) cat > conftest.$ac_ext <<_ACEOF program main end _ACEOF if ac_fn_fc_try_run "$LINENO" then : opal_cv_Fortran_works="yes" else case e in @%:@( e) opal_cv_Fortran_works="no" ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 ;; esac 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:__oline__: $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:__oline__: \$? = $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 case e in @%:@( e) { 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:__oline__: $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:__oline__: \$? = $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 case e in @%:@( e) { 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 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac 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 case e in @%:@( e) wrapper_extra_fcflags="${wrapper_extra_fcflags} $oac_list_arg" ;; esac 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 case e in @%:@( e) OMPI_FORTRAN_WRAPPER_FLAGS=none ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) printf "%s\n" Try with new FCFLAGS: $FCFLAGS_NEW and new LDFLAGS:$LDFLAGS_NEW >&5 ;; esac fi ;; *) FCFLAGS_NEW="$FCFLAGS" LDFLAGS_NEW="$LDFLAGS" ;; esac happy=1 printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $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:__oline__: Could not determine Fortran naming convention. Output from $NM:" >&5 else case e in @%:@( e) printf "%s\n" Could not determine Fortran naming convention. Output from $NM: >&5 ;; esac fi if test -n "conftest.out" && test -f "conftest.out" then : cat conftest.out >&5 fi happy=0 fi else case e in @%:@( e) as_fn_error $? "Fortran compiler did not produce object file" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} fi ;; esac 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 case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $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 case e in @%:@( e) ompi_cv_c_link_Fortran="no" ;; esac 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 case e in @%:@( e) ompi_cv_c_link_Fortran="no" ;; esac 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 ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) { 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 ;; esac 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 ;; esac 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:__oline__: $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:__oline__: \$? = $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 case e in @%:@( e) xcode_happy=0 ;; esac 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 case e in @%:@( e) # If we failed the test, reset LDFLAGS back to its # original value. LDFLAGS=$LDFLAGS_xcode_save ;; esac 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:__oline__: $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:__oline__: \$? = $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 case e in @%:@( e) xcode_happy=0 ;; esac 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 case e in @%:@( e) # If we failed the test, reset LDFLAGS back to its # original value. LDFLAGS=$LDFLAGS_xcode_save ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) ompi_cv_fortran_have_CHARACTER=no ;; esac 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 ;; esac 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 case e in @%:@( e) ofc_have_type=0 ;; esac 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 case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : happy="yes" else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} if test "$happy" = "no" ; then if test -n "1" then : printf "%s\n" "configure:__oline__: here is the Fortran program:" >&5 else case e in @%:@( e) printf "%s\n" here is the Fortran program: >&5 ;; esac 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 case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_sizeof_CHARACTER=`cat conftestval` else case e in @%:@( e) as_fn_error $? "Could not determine size of CHARACTER" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi unset happy ompi_conftest_h rm -rf conftest* ;; esac 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 case e in @%:@( e) # 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 case e in @%:@( e) opal_cv_find_type_CHARACTER="$oft_real_type" ;; esac fi ;; esac 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 case e in @%:@( e) ofc_c_type=$opal_cv_find_type_CHARACTER ;; esac 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 case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : fortran_get_alignment_happy="yes" else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac 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 case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_alignment_CHARACTER=`cat conftestval` else case e in @%:@( e) { 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 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi rm -rf conftest* ;; esac 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 case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } ;; esac 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" | sed "$as_sed_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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) value=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) outval=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 ;; esac 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 ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) ompi_cv_fortran_have_LOGICAL=no ;; esac 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 ;; esac 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 case e in @%:@( e) ofc_have_type=0 ;; esac 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 case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : happy="yes" else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} if test "$happy" = "no" ; then if test -n "1" then : printf "%s\n" "configure:__oline__: here is the Fortran program:" >&5 else case e in @%:@( e) printf "%s\n" here is the Fortran program: >&5 ;; esac 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 case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_sizeof_LOGICAL=`cat conftestval` else case e in @%:@( e) as_fn_error $? "Could not determine size of LOGICAL" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi unset happy ompi_conftest_h rm -rf conftest* ;; esac 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 case e in @%:@( e) # 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 case e in @%:@( e) opal_cv_find_type_LOGICAL="$oft_real_type" ;; esac fi ;; esac 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 case e in @%:@( e) ofc_c_type=$opal_cv_find_type_LOGICAL ;; esac 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 case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : fortran_get_alignment_happy="yes" else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac 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 case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_alignment_LOGICAL=`cat conftestval` else case e in @%:@( e) { 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 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi rm -rf conftest* ;; esac 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 case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } ;; esac 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" | sed "$as_sed_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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) value=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) outval=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 ;; esac 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 ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) ompi_cv_fortran_have_LOGICALp1=no ;; esac 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 ;; esac 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 case e in @%:@( e) ofc_have_type=0 ;; esac 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 case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : happy="yes" else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} if test "$happy" = "no" ; then if test -n "1" then : printf "%s\n" "configure:__oline__: here is the Fortran program:" >&5 else case e in @%:@( e) printf "%s\n" here is the Fortran program: >&5 ;; esac 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 case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_sizeof_LOGICALp1=`cat conftestval` else case e in @%:@( e) as_fn_error $? "Could not determine size of LOGICAL*1" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi unset happy ompi_conftest_h rm -rf conftest* ;; esac 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" | sed "$as_sed_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 case e in @%:@( e) # 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 case e in @%:@( e) eval "$as_type_var=\"\$oft_real_type\"" ;; esac fi ;; esac 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 case e in @%:@( e) eval ofc_c_type=\$$as_type_var ;; esac 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 case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : fortran_get_alignment_happy="yes" else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac 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 case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_alignment_LOGICALp1=`cat conftestval` else case e in @%:@( e) { 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 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi rm -rf conftest* ;; esac 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 case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } ;; esac 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" | sed "$as_sed_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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) value=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) outval=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 ;; esac 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 ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) ompi_cv_fortran_have_LOGICALp2=no ;; esac 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 ;; esac 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 case e in @%:@( e) ofc_have_type=0 ;; esac 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 case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : happy="yes" else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} if test "$happy" = "no" ; then if test -n "1" then : printf "%s\n" "configure:__oline__: here is the Fortran program:" >&5 else case e in @%:@( e) printf "%s\n" here is the Fortran program: >&5 ;; esac 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 case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_sizeof_LOGICALp2=`cat conftestval` else case e in @%:@( e) as_fn_error $? "Could not determine size of LOGICAL*2" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi unset happy ompi_conftest_h rm -rf conftest* ;; esac 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" | sed "$as_sed_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 case e in @%:@( e) # 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 case e in @%:@( e) eval "$as_type_var=\"\$oft_real_type\"" ;; esac fi ;; esac 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 case e in @%:@( e) eval ofc_c_type=\$$as_type_var ;; esac 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 case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : fortran_get_alignment_happy="yes" else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac 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 case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_alignment_LOGICALp2=`cat conftestval` else case e in @%:@( e) { 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 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi rm -rf conftest* ;; esac 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 case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } ;; esac 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" | sed "$as_sed_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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) value=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) outval=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 ;; esac 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 ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) ompi_cv_fortran_have_LOGICALp4=no ;; esac 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 ;; esac 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 case e in @%:@( e) ofc_have_type=0 ;; esac 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 case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : happy="yes" else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} if test "$happy" = "no" ; then if test -n "1" then : printf "%s\n" "configure:__oline__: here is the Fortran program:" >&5 else case e in @%:@( e) printf "%s\n" here is the Fortran program: >&5 ;; esac 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 case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_sizeof_LOGICALp4=`cat conftestval` else case e in @%:@( e) as_fn_error $? "Could not determine size of LOGICAL*4" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi unset happy ompi_conftest_h rm -rf conftest* ;; esac 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" | sed "$as_sed_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 case e in @%:@( e) # 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 case e in @%:@( e) eval "$as_type_var=\"\$oft_real_type\"" ;; esac fi ;; esac 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 case e in @%:@( e) eval ofc_c_type=\$$as_type_var ;; esac 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 case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : fortran_get_alignment_happy="yes" else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac 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 case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_alignment_LOGICALp4=`cat conftestval` else case e in @%:@( e) { 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 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi rm -rf conftest* ;; esac 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 case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } ;; esac 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" | sed "$as_sed_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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) value=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) outval=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 ;; esac 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 ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) ompi_cv_fortran_have_LOGICALp8=no ;; esac 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 ;; esac 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 case e in @%:@( e) ofc_have_type=0 ;; esac 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 case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : happy="yes" else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} if test "$happy" = "no" ; then if test -n "1" then : printf "%s\n" "configure:__oline__: here is the Fortran program:" >&5 else case e in @%:@( e) printf "%s\n" here is the Fortran program: >&5 ;; esac 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 case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_sizeof_LOGICALp8=`cat conftestval` else case e in @%:@( e) as_fn_error $? "Could not determine size of LOGICAL*8" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi unset happy ompi_conftest_h rm -rf conftest* ;; esac 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" | sed "$as_sed_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 case e in @%:@( e) # 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 case e in @%:@( e) eval "$as_type_var=\"\$oft_real_type\"" ;; esac fi ;; esac 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 case e in @%:@( e) eval ofc_c_type=\$$as_type_var ;; esac 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 case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : fortran_get_alignment_happy="yes" else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac 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 case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_alignment_LOGICALp8=`cat conftestval` else case e in @%:@( e) { 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 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi rm -rf conftest* ;; esac 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 case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } ;; esac 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" | sed "$as_sed_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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) value=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) outval=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 ;; esac 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 ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) ompi_cv_fortran_have_INTEGER=no ;; esac 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 ;; esac 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 case e in @%:@( e) ofc_have_type=0 ;; esac 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 case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : happy="yes" else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} if test "$happy" = "no" ; then if test -n "1" then : printf "%s\n" "configure:__oline__: here is the Fortran program:" >&5 else case e in @%:@( e) printf "%s\n" here is the Fortran program: >&5 ;; esac 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 case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_sizeof_INTEGER=`cat conftestval` else case e in @%:@( e) as_fn_error $? "Could not determine size of INTEGER" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi unset happy ompi_conftest_h rm -rf conftest* ;; esac 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 case e in @%:@( e) # 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 case e in @%:@( e) opal_cv_find_type_INTEGER="$oft_real_type" ;; esac fi ;; esac 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 case e in @%:@( e) ofc_c_type=$opal_cv_find_type_INTEGER ;; esac 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 case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : fortran_get_alignment_happy="yes" else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac 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 case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_alignment_INTEGER=`cat conftestval` else case e in @%:@( e) { 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 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi rm -rf conftest* ;; esac 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 case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } ;; esac 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" | sed "$as_sed_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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) value=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) outval=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 ;; esac 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 ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) ompi_cv_fortran_have_INTEGERp1=no ;; esac 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 ;; esac 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 case e in @%:@( e) ofc_have_type=0 ;; esac 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 case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : happy="yes" else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} if test "$happy" = "no" ; then if test -n "1" then : printf "%s\n" "configure:__oline__: here is the Fortran program:" >&5 else case e in @%:@( e) printf "%s\n" here is the Fortran program: >&5 ;; esac 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*1" >&5 printf "%s\n" "$as_me: WARNING: Could not determine size of INTEGER*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 INTEGER*1 when cross-compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_sizeof_INTEGERp1=`cat conftestval` else case e in @%:@( e) as_fn_error $? "Could not determine size of INTEGER*1" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi unset happy ompi_conftest_h rm -rf conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_sizeof_INTEGERp1" >&5 printf "%s\n" "$ompi_cv_fortran_sizeof_INTEGERp1" >&6; } ofc_type_size=$ompi_cv_fortran_sizeof_INTEGERp1 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*1 does not have expected size!" >&5 printf "%s\n" "$as_me: WARNING: *** Fortran INTEGER*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 INTEGER*1" >&5 printf "%s\n" "$as_me: WARNING: *** Disabling MPI support for Fortran INTEGER*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_INTEGER*1" | sed "$as_sed_sh"` oft_abort_on_fail="no" oft_target_size="$ofc_type_size" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C type corresponding to INTEGER*1" >&5 printf %s "checking for C type corresponding to INTEGER*1... " >&6; } if eval test \${$as_type_var+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) # 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_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 case e in @%:@( e) eval "$as_type_var=\"\$oft_real_type\"" ;; esac fi ;; esac 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 case e in @%:@( e) eval ofc_c_type=\$$as_type_var ;; esac 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*1" >&5 printf %s "checking alignment of Fortran INTEGER*1... " >&6; } if test ${ompi_cv_fortran_alignment_INTEGERp1+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : fortran_get_alignment_happy="yes" else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac 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*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 INTEGER*1 when cross-compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_alignment_INTEGERp1=`cat conftestval` else case e in @%:@( e) { 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*1" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi rm -rf conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_alignment_INTEGERp1" >&5 printf "%s\n" "$ompi_cv_fortran_alignment_INTEGERp1" >&6; } ofc_type_alignment=$ompi_cv_fortran_alignment_INTEGERp1 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*1" >&5 printf %s "checking for corresponding KIND value of INTEGER*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 case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } ;; esac 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" | sed "$as_sed_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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) value=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) outval=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 ;; esac 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 ;; esac 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*1 and $ofc_c_type mismatch; MPI datatype unsupported" >&5 printf "%s\n" "$as_me: WARNING: Compiler INTEGER*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_INTEGER1 $ofc_have_type" >>confdefs.h printf "%s\n" "@%:@define OMPI_SIZEOF_FORTRAN_INTEGER1 $ofc_type_size" >>confdefs.h printf "%s\n" "@%:@define OMPI_ALIGNMENT_FORTRAN_INTEGER1 $ofc_type_alignment" >>confdefs.h printf "%s\n" "@%:@define OMPI_KIND_FORTRAN_INTEGER1 $ofc_type_kind" >>confdefs.h if test "char, int8_t, short, int, int64_t, long long, long" != "" && test "$ofc_define_type" = "yes"; then printf "%s\n" "@%:@define ompi_fortran_integer1_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_INTEGER1_C_TYPE=$ofc_c_type OMPI_KIND_FORTRAN_INTEGER1=$ofc_type_kind OMPI_HAVE_FORTRAN_INTEGER1=$ofc_have_type OMPI_SIZEOF_FORTRAN_INTEGER1=$ofc_type_size OMPI_ALIGNMENT_FORTRAN_INTEGER1=$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 INTEGER*2" >&5 printf %s "checking if Fortran compiler supports INTEGER*2... " >&6; } if test ${ompi_cv_fortran_have_INTEGERp2+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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*2 :: bogus_variable end program _ACEOF if ac_fn_fc_try_compile "$LINENO" then : ompi_cv_fortran_have_INTEGERp2=yes else case e in @%:@( e) ompi_cv_fortran_have_INTEGERp2=no ;; esac 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 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_have_INTEGERp2" >&5 printf "%s\n" "$ompi_cv_fortran_have_INTEGERp2" >&6; } if test "x$ompi_cv_fortran_have_INTEGERp2" = xyes then : ofc_have_type=1 else case e in @%:@( e) ofc_have_type=0 ;; esac fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports INTEGER*2" >&5 printf %s "checking if Fortran compiler supports INTEGER*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 INTEGER*2" >&5 printf %s "checking size of Fortran INTEGER*2... " >&6; } if test ${ompi_cv_fortran_sizeof_INTEGERp2+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : happy="yes" else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} if test "$happy" = "no" ; then if test -n "1" then : printf "%s\n" "configure:__oline__: here is the Fortran program:" >&5 else case e in @%:@( e) printf "%s\n" here is the Fortran program: >&5 ;; esac 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*2" >&5 printf "%s\n" "$as_me: WARNING: Could not determine size of INTEGER*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 INTEGER*2 when cross-compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_sizeof_INTEGERp2=`cat conftestval` else case e in @%:@( e) as_fn_error $? "Could not determine size of INTEGER*2" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi unset happy ompi_conftest_h rm -rf conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_sizeof_INTEGERp2" >&5 printf "%s\n" "$ompi_cv_fortran_sizeof_INTEGERp2" >&6; } ofc_type_size=$ompi_cv_fortran_sizeof_INTEGERp2 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*2 does not have expected size!" >&5 printf "%s\n" "$as_me: WARNING: *** Fortran INTEGER*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 INTEGER*2" >&5 printf "%s\n" "$as_me: WARNING: *** Disabling MPI support for Fortran INTEGER*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_INTEGER*2" | sed "$as_sed_sh"` oft_abort_on_fail="no" oft_target_size="$ofc_type_size" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C type corresponding to INTEGER*2" >&5 printf %s "checking for C type corresponding to INTEGER*2... " >&6; } if eval test \${$as_type_var+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) # 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 case e in @%:@( e) eval "$as_type_var=\"\$oft_real_type\"" ;; esac fi ;; esac 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 case e in @%:@( e) eval ofc_c_type=\$$as_type_var ;; esac 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*2" >&5 printf %s "checking alignment of Fortran INTEGER*2... " >&6; } if test ${ompi_cv_fortran_alignment_INTEGERp2+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : fortran_get_alignment_happy="yes" else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac 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*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 INTEGER*2 when cross-compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_alignment_INTEGERp2=`cat conftestval` else case e in @%:@( e) { 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*2" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi rm -rf conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_alignment_INTEGERp2" >&5 printf "%s\n" "$ompi_cv_fortran_alignment_INTEGERp2" >&6; } ofc_type_alignment=$ompi_cv_fortran_alignment_INTEGERp2 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*2" >&5 printf %s "checking for corresponding KIND value of INTEGER*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 case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } ;; esac 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" | sed "$as_sed_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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) value=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) outval=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 ;; esac 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 ;; esac 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*2 and $ofc_c_type mismatch; MPI datatype unsupported" >&5 printf "%s\n" "$as_me: WARNING: Compiler INTEGER*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_INTEGER2 $ofc_have_type" >>confdefs.h printf "%s\n" "@%:@define OMPI_SIZEOF_FORTRAN_INTEGER2 $ofc_type_size" >>confdefs.h printf "%s\n" "@%:@define OMPI_ALIGNMENT_FORTRAN_INTEGER2 $ofc_type_alignment" >>confdefs.h printf "%s\n" "@%:@define OMPI_KIND_FORTRAN_INTEGER2 $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_integer2_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_INTEGER2_C_TYPE=$ofc_c_type OMPI_KIND_FORTRAN_INTEGER2=$ofc_type_kind OMPI_HAVE_FORTRAN_INTEGER2=$ofc_have_type OMPI_SIZEOF_FORTRAN_INTEGER2=$ofc_type_size OMPI_ALIGNMENT_FORTRAN_INTEGER2=$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 INTEGER*4" >&5 printf %s "checking if Fortran compiler supports INTEGER*4... " >&6; } if test ${ompi_cv_fortran_have_INTEGERp4+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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*4 :: bogus_variable end program _ACEOF if ac_fn_fc_try_compile "$LINENO" then : ompi_cv_fortran_have_INTEGERp4=yes else case e in @%:@( e) ompi_cv_fortran_have_INTEGERp4=no ;; esac 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 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_have_INTEGERp4" >&5 printf "%s\n" "$ompi_cv_fortran_have_INTEGERp4" >&6; } if test "x$ompi_cv_fortran_have_INTEGERp4" = xyes then : ofc_have_type=1 else case e in @%:@( e) ofc_have_type=0 ;; esac fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports INTEGER*4" >&5 printf %s "checking if Fortran compiler supports INTEGER*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 INTEGER*4" >&5 printf %s "checking size of Fortran INTEGER*4... " >&6; } if test ${ompi_cv_fortran_sizeof_INTEGERp4+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : happy="yes" else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} if test "$happy" = "no" ; then if test -n "1" then : printf "%s\n" "configure:__oline__: here is the Fortran program:" >&5 else case e in @%:@( e) printf "%s\n" here is the Fortran program: >&5 ;; esac 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*4" >&5 printf "%s\n" "$as_me: WARNING: Could not determine size of INTEGER*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 INTEGER*4 when cross-compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_sizeof_INTEGERp4=`cat conftestval` else case e in @%:@( e) as_fn_error $? "Could not determine size of INTEGER*4" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi unset happy ompi_conftest_h rm -rf conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_sizeof_INTEGERp4" >&5 printf "%s\n" "$ompi_cv_fortran_sizeof_INTEGERp4" >&6; } ofc_type_size=$ompi_cv_fortran_sizeof_INTEGERp4 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*4 does not have expected size!" >&5 printf "%s\n" "$as_me: WARNING: *** Fortran INTEGER*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 INTEGER*4" >&5 printf "%s\n" "$as_me: WARNING: *** Disabling MPI support for Fortran INTEGER*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_INTEGER*4" | sed "$as_sed_sh"` oft_abort_on_fail="no" oft_target_size="$ofc_type_size" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C type corresponding to INTEGER*4" >&5 printf %s "checking for C type corresponding to INTEGER*4... " >&6; } if eval test \${$as_type_var+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) # 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 case e in @%:@( e) eval "$as_type_var=\"\$oft_real_type\"" ;; esac fi ;; esac 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 case e in @%:@( e) eval ofc_c_type=\$$as_type_var ;; esac 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*4" >&5 printf %s "checking alignment of Fortran INTEGER*4... " >&6; } if test ${ompi_cv_fortran_alignment_INTEGERp4+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : fortran_get_alignment_happy="yes" else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac 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*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 INTEGER*4 when cross-compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_alignment_INTEGERp4=`cat conftestval` else case e in @%:@( e) { 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*4" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi rm -rf conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_alignment_INTEGERp4" >&5 printf "%s\n" "$ompi_cv_fortran_alignment_INTEGERp4" >&6; } ofc_type_alignment=$ompi_cv_fortran_alignment_INTEGERp4 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*4" >&5 printf %s "checking for corresponding KIND value of INTEGER*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 case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } ;; esac 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" | sed "$as_sed_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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) value=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) outval=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 ;; esac 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 ;; esac 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*4 and $ofc_c_type mismatch; MPI datatype unsupported" >&5 printf "%s\n" "$as_me: WARNING: Compiler INTEGER*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_INTEGER4 $ofc_have_type" >>confdefs.h printf "%s\n" "@%:@define OMPI_SIZEOF_FORTRAN_INTEGER4 $ofc_type_size" >>confdefs.h printf "%s\n" "@%:@define OMPI_ALIGNMENT_FORTRAN_INTEGER4 $ofc_type_alignment" >>confdefs.h printf "%s\n" "@%:@define OMPI_KIND_FORTRAN_INTEGER4 $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_integer4_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_INTEGER4_C_TYPE=$ofc_c_type OMPI_KIND_FORTRAN_INTEGER4=$ofc_type_kind OMPI_HAVE_FORTRAN_INTEGER4=$ofc_have_type OMPI_SIZEOF_FORTRAN_INTEGER4=$ofc_type_size OMPI_ALIGNMENT_FORTRAN_INTEGER4=$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 INTEGER*8" >&5 printf %s "checking if Fortran compiler supports INTEGER*8... " >&6; } if test ${ompi_cv_fortran_have_INTEGERp8+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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*8 :: bogus_variable end program _ACEOF if ac_fn_fc_try_compile "$LINENO" then : ompi_cv_fortran_have_INTEGERp8=yes else case e in @%:@( e) ompi_cv_fortran_have_INTEGERp8=no ;; esac 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 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_have_INTEGERp8" >&5 printf "%s\n" "$ompi_cv_fortran_have_INTEGERp8" >&6; } if test "x$ompi_cv_fortran_have_INTEGERp8" = xyes then : ofc_have_type=1 else case e in @%:@( e) ofc_have_type=0 ;; esac fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports INTEGER*8" >&5 printf %s "checking if Fortran compiler supports INTEGER*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 INTEGER*8" >&5 printf %s "checking size of Fortran INTEGER*8... " >&6; } if test ${ompi_cv_fortran_sizeof_INTEGERp8+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : happy="yes" else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} if test "$happy" = "no" ; then if test -n "1" then : printf "%s\n" "configure:__oline__: here is the Fortran program:" >&5 else case e in @%:@( e) printf "%s\n" here is the Fortran program: >&5 ;; esac 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*8" >&5 printf "%s\n" "$as_me: WARNING: Could not determine size of INTEGER*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 INTEGER*8 when cross-compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_sizeof_INTEGERp8=`cat conftestval` else case e in @%:@( e) as_fn_error $? "Could not determine size of INTEGER*8" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi unset happy ompi_conftest_h rm -rf conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_sizeof_INTEGERp8" >&5 printf "%s\n" "$ompi_cv_fortran_sizeof_INTEGERp8" >&6; } ofc_type_size=$ompi_cv_fortran_sizeof_INTEGERp8 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*8 does not have expected size!" >&5 printf "%s\n" "$as_me: WARNING: *** Fortran INTEGER*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 INTEGER*8" >&5 printf "%s\n" "$as_me: WARNING: *** Disabling MPI support for Fortran INTEGER*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_INTEGER*8" | sed "$as_sed_sh"` oft_abort_on_fail="no" oft_target_size="$ofc_type_size" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C type corresponding to INTEGER*8" >&5 printf %s "checking for C type corresponding to INTEGER*8... " >&6; } if eval test \${$as_type_var+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) # 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 case e in @%:@( e) eval "$as_type_var=\"\$oft_real_type\"" ;; esac fi ;; esac 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 case e in @%:@( e) eval ofc_c_type=\$$as_type_var ;; esac 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*8" >&5 printf %s "checking alignment of Fortran INTEGER*8... " >&6; } if test ${ompi_cv_fortran_alignment_INTEGERp8+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : fortran_get_alignment_happy="yes" else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac 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*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 INTEGER*8 when cross-compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_alignment_INTEGERp8=`cat conftestval` else case e in @%:@( e) { 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*8" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi rm -rf conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_alignment_INTEGERp8" >&5 printf "%s\n" "$ompi_cv_fortran_alignment_INTEGERp8" >&6; } ofc_type_alignment=$ompi_cv_fortran_alignment_INTEGERp8 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*8" >&5 printf %s "checking for corresponding KIND value of INTEGER*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 case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } ;; esac 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" | sed "$as_sed_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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) value=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) outval=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 ;; esac 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 ;; esac 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*8 and $ofc_c_type mismatch; MPI datatype unsupported" >&5 printf "%s\n" "$as_me: WARNING: Compiler INTEGER*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_INTEGER8 $ofc_have_type" >>confdefs.h printf "%s\n" "@%:@define OMPI_SIZEOF_FORTRAN_INTEGER8 $ofc_type_size" >>confdefs.h printf "%s\n" "@%:@define OMPI_ALIGNMENT_FORTRAN_INTEGER8 $ofc_type_alignment" >>confdefs.h printf "%s\n" "@%:@define OMPI_KIND_FORTRAN_INTEGER8 $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_integer8_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_INTEGER8_C_TYPE=$ofc_c_type OMPI_KIND_FORTRAN_INTEGER8=$ofc_type_kind OMPI_HAVE_FORTRAN_INTEGER8=$ofc_have_type OMPI_SIZEOF_FORTRAN_INTEGER8=$ofc_type_size OMPI_ALIGNMENT_FORTRAN_INTEGER8=$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=16 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*16" >&5 printf %s "checking if Fortran compiler supports INTEGER*16... " >&6; } if test ${ompi_cv_fortran_have_INTEGERp16+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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*16 :: bogus_variable end program _ACEOF if ac_fn_fc_try_compile "$LINENO" then : ompi_cv_fortran_have_INTEGERp16=yes else case e in @%:@( e) ompi_cv_fortran_have_INTEGERp16=no ;; esac 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 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_have_INTEGERp16" >&5 printf "%s\n" "$ompi_cv_fortran_have_INTEGERp16" >&6; } if test "x$ompi_cv_fortran_have_INTEGERp16" = xyes then : ofc_have_type=1 else case e in @%:@( e) ofc_have_type=0 ;; esac fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports INTEGER*16" >&5 printf %s "checking if Fortran compiler supports INTEGER*16... " >&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*16" >&5 printf %s "checking size of Fortran INTEGER*16... " >&6; } if test ${ompi_cv_fortran_sizeof_INTEGERp16+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : happy="yes" else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} if test "$happy" = "no" ; then if test -n "1" then : printf "%s\n" "configure:__oline__: here is the Fortran program:" >&5 else case e in @%:@( e) printf "%s\n" here is the Fortran program: >&5 ;; esac 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*16" >&5 printf "%s\n" "$as_me: WARNING: Could not determine size of INTEGER*16" >&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*16 when cross-compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_sizeof_INTEGERp16=`cat conftestval` else case e in @%:@( e) as_fn_error $? "Could not determine size of INTEGER*16" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi unset happy ompi_conftest_h rm -rf conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_sizeof_INTEGERp16" >&5 printf "%s\n" "$ompi_cv_fortran_sizeof_INTEGERp16" >&6; } ofc_type_size=$ompi_cv_fortran_sizeof_INTEGERp16 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*16 does not have expected size!" >&5 printf "%s\n" "$as_me: WARNING: *** Fortran INTEGER*16 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*16" >&5 printf "%s\n" "$as_me: WARNING: *** Disabling MPI support for Fortran INTEGER*16" >&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_INTEGER*16" | sed "$as_sed_sh"` oft_abort_on_fail="no" oft_target_size="$ofc_type_size" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C type corresponding to INTEGER*16" >&5 printf %s "checking for C type corresponding to INTEGER*16... " >&6; } if eval test \${$as_type_var+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) # 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 case e in @%:@( e) eval "$as_type_var=\"\$oft_real_type\"" ;; esac fi ;; esac 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 case e in @%:@( e) eval ofc_c_type=\$$as_type_var ;; esac 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*16" >&5 printf %s "checking alignment of Fortran INTEGER*16... " >&6; } if test ${ompi_cv_fortran_alignment_INTEGERp16+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : fortran_get_alignment_happy="yes" else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac 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*16" "$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*16 when cross-compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_alignment_INTEGERp16=`cat conftestval` else case e in @%:@( e) { 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*16" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi rm -rf conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_alignment_INTEGERp16" >&5 printf "%s\n" "$ompi_cv_fortran_alignment_INTEGERp16" >&6; } ofc_type_alignment=$ompi_cv_fortran_alignment_INTEGERp16 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*16" >&5 printf %s "checking for corresponding KIND value of INTEGER*16... " >&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 case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } ;; esac 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" | sed "$as_sed_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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) value=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) outval=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 ;; esac 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 ;; esac 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*16 and $ofc_c_type mismatch; MPI datatype unsupported" >&5 printf "%s\n" "$as_me: WARNING: Compiler INTEGER*16 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_INTEGER16 $ofc_have_type" >>confdefs.h printf "%s\n" "@%:@define OMPI_SIZEOF_FORTRAN_INTEGER16 $ofc_type_size" >>confdefs.h printf "%s\n" "@%:@define OMPI_ALIGNMENT_FORTRAN_INTEGER16 $ofc_type_alignment" >>confdefs.h printf "%s\n" "@%:@define OMPI_KIND_FORTRAN_INTEGER16 $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_integer16_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_INTEGER16_C_TYPE=$ofc_c_type OMPI_KIND_FORTRAN_INTEGER16=$ofc_type_kind OMPI_HAVE_FORTRAN_INTEGER16=$ofc_have_type OMPI_SIZEOF_FORTRAN_INTEGER16=$ofc_type_size OMPI_ALIGNMENT_FORTRAN_INTEGER16=$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 REAL" >&5 printf %s "checking if Fortran compiler supports REAL... " >&6; } if test ${ompi_cv_fortran_have_REAL+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 REAL :: bogus_variable end program _ACEOF if ac_fn_fc_try_compile "$LINENO" then : ompi_cv_fortran_have_REAL=yes else case e in @%:@( e) ompi_cv_fortran_have_REAL=no ;; esac 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 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_have_REAL" >&5 printf "%s\n" "$ompi_cv_fortran_have_REAL" >&6; } if test "x$ompi_cv_fortran_have_REAL" = xyes then : ofc_have_type=1 else case e in @%:@( e) ofc_have_type=0 ;; esac fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports REAL" >&5 printf %s "checking if Fortran compiler supports REAL... " >&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 REAL" >&5 printf %s "checking size of Fortran REAL... " >&6; } if test ${ompi_cv_fortran_sizeof_REAL+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : happy="yes" else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} if test "$happy" = "no" ; then if test -n "1" then : printf "%s\n" "configure:__oline__: here is the Fortran program:" >&5 else case e in @%:@( e) printf "%s\n" here is the Fortran program: >&5 ;; esac 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 REAL" >&5 printf "%s\n" "$as_me: WARNING: Could not determine size of REAL" >&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 REAL when cross-compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_sizeof_REAL=`cat conftestval` else case e in @%:@( e) as_fn_error $? "Could not determine size of REAL" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi unset happy ompi_conftest_h rm -rf conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_sizeof_REAL" >&5 printf "%s\n" "$ompi_cv_fortran_sizeof_REAL" >&6; } ofc_type_size=$ompi_cv_fortran_sizeof_REAL if test "$ofc_expected_size" != "-1" && test "$ofc_type_size" != "$ofc_expected_size"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Fortran REAL does not have expected size!" >&5 printf "%s\n" "$as_me: WARNING: *** Fortran REAL 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 REAL" >&5 printf "%s\n" "$as_me: WARNING: *** Disabling MPI support for Fortran REAL" >&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 REAL" >&5 printf %s "checking for C type corresponding to REAL... " >&6; } if test ${opal_cv_find_type_REAL+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) # 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_float" = "$oft_target_size" ; then oft_real_type="short float" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_float" = "$oft_target_size" ; then oft_real_type="float" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_double" = "$oft_target_size" ; then oft_real_type="double" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_long_double" = "$oft_target_size" ; then oft_real_type="long double" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_opal_short_float_t" = "$oft_target_size" ; then oft_real_type="opal_short_float_t" fi fi fi if test -z "$oft_real_type" then : opal_cv_find_type_REAL="not found" else case e in @%:@( e) opal_cv_find_type_REAL="$oft_real_type" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cv_find_type_REAL" >&5 printf "%s\n" "$opal_cv_find_type_REAL" >&6; } if test "x$opal_cv_find_type_REAL" = 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_REAL" = x"not found" then : ofc_c_type= else case e in @%:@( e) ofc_c_type=$opal_cv_find_type_REAL ;; esac 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 REAL" >&5 printf %s "checking alignment of Fortran REAL... " >&6; } if test ${ompi_cv_fortran_alignment_REAL+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : fortran_get_alignment_happy="yes" else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac 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 REAL" "$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 REAL when cross-compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_alignment_REAL=`cat conftestval` else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error!" >&5 printf "%s\n" "Error!" >&6; } as_fn_error $? "Could not determine alignment of REAL" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi rm -rf conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_alignment_REAL" >&5 printf "%s\n" "$ompi_cv_fortran_alignment_REAL" >&6; } ofc_type_alignment=$ompi_cv_fortran_alignment_REAL 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=R 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 REAL" >&5 printf %s "checking for corresponding KIND value of REAL... " >&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 case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } ;; esac 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" | sed "$as_sed_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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) value=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) outval=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 ;; esac 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 ;; esac 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 REAL and $ofc_c_type mismatch; MPI datatype unsupported" >&5 printf "%s\n" "$as_me: WARNING: Compiler REAL 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_REAL $ofc_have_type" >>confdefs.h printf "%s\n" "@%:@define OMPI_SIZEOF_FORTRAN_REAL $ofc_type_size" >>confdefs.h printf "%s\n" "@%:@define OMPI_ALIGNMENT_FORTRAN_REAL $ofc_type_alignment" >>confdefs.h printf "%s\n" "@%:@define OMPI_KIND_FORTRAN_REAL $ofc_type_kind" >>confdefs.h if test "short float, float, double, long double, opal_short_float_t" != "" && test "$ofc_define_type" = "yes"; then printf "%s\n" "@%:@define ompi_fortran_real_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_REAL_C_TYPE=$ofc_c_type OMPI_KIND_FORTRAN_REAL=$ofc_type_kind OMPI_HAVE_FORTRAN_REAL=$ofc_have_type OMPI_SIZEOF_FORTRAN_REAL=$ofc_type_size OMPI_ALIGNMENT_FORTRAN_REAL=$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 REAL*2" >&5 printf %s "checking if Fortran compiler supports REAL*2... " >&6; } if test ${ompi_cv_fortran_have_REALp2+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 REAL*2 :: bogus_variable end program _ACEOF if ac_fn_fc_try_compile "$LINENO" then : ompi_cv_fortran_have_REALp2=yes else case e in @%:@( e) ompi_cv_fortran_have_REALp2=no ;; esac 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 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_have_REALp2" >&5 printf "%s\n" "$ompi_cv_fortran_have_REALp2" >&6; } if test "x$ompi_cv_fortran_have_REALp2" = xyes then : ofc_have_type=1 else case e in @%:@( e) ofc_have_type=0 ;; esac fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports REAL*2" >&5 printf %s "checking if Fortran compiler supports REAL*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 REAL*2" >&5 printf %s "checking size of Fortran REAL*2... " >&6; } if test ${ompi_cv_fortran_sizeof_REALp2+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : happy="yes" else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} if test "$happy" = "no" ; then if test -n "1" then : printf "%s\n" "configure:__oline__: here is the Fortran program:" >&5 else case e in @%:@( e) printf "%s\n" here is the Fortran program: >&5 ;; esac 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 REAL*2" >&5 printf "%s\n" "$as_me: WARNING: Could not determine size of REAL*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 REAL*2 when cross-compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_sizeof_REALp2=`cat conftestval` else case e in @%:@( e) as_fn_error $? "Could not determine size of REAL*2" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi unset happy ompi_conftest_h rm -rf conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_sizeof_REALp2" >&5 printf "%s\n" "$ompi_cv_fortran_sizeof_REALp2" >&6; } ofc_type_size=$ompi_cv_fortran_sizeof_REALp2 if test "$ofc_expected_size" != "-1" && test "$ofc_type_size" != "$ofc_expected_size"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Fortran REAL*2 does not have expected size!" >&5 printf "%s\n" "$as_me: WARNING: *** Fortran REAL*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 REAL*2" >&5 printf "%s\n" "$as_me: WARNING: *** Disabling MPI support for Fortran REAL*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_REAL*2" | sed "$as_sed_sh"` oft_abort_on_fail="no" oft_target_size="$ofc_type_size" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C type corresponding to REAL*2" >&5 printf %s "checking for C type corresponding to REAL*2... " >&6; } if eval test \${$as_type_var+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) # 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_float" = "$oft_target_size" ; then oft_real_type="short float" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_float" = "$oft_target_size" ; then oft_real_type="float" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_double" = "$oft_target_size" ; then oft_real_type="double" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_long_double" = "$oft_target_size" ; then oft_real_type="long double" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_opal_short_float_t" = "$oft_target_size" ; then oft_real_type="opal_short_float_t" fi fi fi if test -z "$oft_real_type" then : eval "$as_type_var=\"not found\"" else case e in @%:@( e) eval "$as_type_var=\"\$oft_real_type\"" ;; esac fi ;; esac 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 case e in @%:@( e) eval ofc_c_type=\$$as_type_var ;; esac 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 REAL*2" >&5 printf %s "checking alignment of Fortran REAL*2... " >&6; } if test ${ompi_cv_fortran_alignment_REALp2+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : fortran_get_alignment_happy="yes" else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac 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 REAL*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 REAL*2 when cross-compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_alignment_REALp2=`cat conftestval` else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error!" >&5 printf "%s\n" "Error!" >&6; } as_fn_error $? "Could not determine alignment of REAL*2" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi rm -rf conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_alignment_REALp2" >&5 printf "%s\n" "$ompi_cv_fortran_alignment_REALp2" >&6; } ofc_type_alignment=$ompi_cv_fortran_alignment_REALp2 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=R 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 REAL*2" >&5 printf %s "checking for corresponding KIND value of REAL*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 case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } ;; esac 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" | sed "$as_sed_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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) value=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) outval=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 ;; esac 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 ;; esac 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 REAL*2 and $ofc_c_type mismatch; MPI datatype unsupported" >&5 printf "%s\n" "$as_me: WARNING: Compiler REAL*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_REAL2 $ofc_have_type" >>confdefs.h printf "%s\n" "@%:@define OMPI_SIZEOF_FORTRAN_REAL2 $ofc_type_size" >>confdefs.h printf "%s\n" "@%:@define OMPI_ALIGNMENT_FORTRAN_REAL2 $ofc_type_alignment" >>confdefs.h printf "%s\n" "@%:@define OMPI_KIND_FORTRAN_REAL2 $ofc_type_kind" >>confdefs.h if test "short float, float, double, long double, opal_short_float_t" != "" && test "$ofc_define_type" = "yes"; then printf "%s\n" "@%:@define ompi_fortran_real2_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_REAL2_C_TYPE=$ofc_c_type OMPI_KIND_FORTRAN_REAL2=$ofc_type_kind OMPI_HAVE_FORTRAN_REAL2=$ofc_have_type OMPI_SIZEOF_FORTRAN_REAL2=$ofc_type_size OMPI_ALIGNMENT_FORTRAN_REAL2=$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 REAL*4" >&5 printf %s "checking if Fortran compiler supports REAL*4... " >&6; } if test ${ompi_cv_fortran_have_REALp4+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 REAL*4 :: bogus_variable end program _ACEOF if ac_fn_fc_try_compile "$LINENO" then : ompi_cv_fortran_have_REALp4=yes else case e in @%:@( e) ompi_cv_fortran_have_REALp4=no ;; esac 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 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_have_REALp4" >&5 printf "%s\n" "$ompi_cv_fortran_have_REALp4" >&6; } if test "x$ompi_cv_fortran_have_REALp4" = xyes then : ofc_have_type=1 else case e in @%:@( e) ofc_have_type=0 ;; esac fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports REAL*4" >&5 printf %s "checking if Fortran compiler supports REAL*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 REAL*4" >&5 printf %s "checking size of Fortran REAL*4... " >&6; } if test ${ompi_cv_fortran_sizeof_REALp4+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : happy="yes" else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} if test "$happy" = "no" ; then if test -n "1" then : printf "%s\n" "configure:__oline__: here is the Fortran program:" >&5 else case e in @%:@( e) printf "%s\n" here is the Fortran program: >&5 ;; esac 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 REAL*4" >&5 printf "%s\n" "$as_me: WARNING: Could not determine size of REAL*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 REAL*4 when cross-compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_sizeof_REALp4=`cat conftestval` else case e in @%:@( e) as_fn_error $? "Could not determine size of REAL*4" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi unset happy ompi_conftest_h rm -rf conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_sizeof_REALp4" >&5 printf "%s\n" "$ompi_cv_fortran_sizeof_REALp4" >&6; } ofc_type_size=$ompi_cv_fortran_sizeof_REALp4 if test "$ofc_expected_size" != "-1" && test "$ofc_type_size" != "$ofc_expected_size"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Fortran REAL*4 does not have expected size!" >&5 printf "%s\n" "$as_me: WARNING: *** Fortran REAL*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 REAL*4" >&5 printf "%s\n" "$as_me: WARNING: *** Disabling MPI support for Fortran REAL*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_REAL*4" | sed "$as_sed_sh"` oft_abort_on_fail="no" oft_target_size="$ofc_type_size" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C type corresponding to REAL*4" >&5 printf %s "checking for C type corresponding to REAL*4... " >&6; } if eval test \${$as_type_var+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) # 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_float" = "$oft_target_size" ; then oft_real_type="short float" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_float" = "$oft_target_size" ; then oft_real_type="float" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_double" = "$oft_target_size" ; then oft_real_type="double" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_long_double" = "$oft_target_size" ; then oft_real_type="long double" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_opal_short_float_t" = "$oft_target_size" ; then oft_real_type="opal_short_float_t" fi fi fi if test -z "$oft_real_type" then : eval "$as_type_var=\"not found\"" else case e in @%:@( e) eval "$as_type_var=\"\$oft_real_type\"" ;; esac fi ;; esac 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 case e in @%:@( e) eval ofc_c_type=\$$as_type_var ;; esac 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 REAL*4" >&5 printf %s "checking alignment of Fortran REAL*4... " >&6; } if test ${ompi_cv_fortran_alignment_REALp4+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : fortran_get_alignment_happy="yes" else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac 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 REAL*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 REAL*4 when cross-compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_alignment_REALp4=`cat conftestval` else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error!" >&5 printf "%s\n" "Error!" >&6; } as_fn_error $? "Could not determine alignment of REAL*4" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi rm -rf conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_alignment_REALp4" >&5 printf "%s\n" "$ompi_cv_fortran_alignment_REALp4" >&6; } ofc_type_alignment=$ompi_cv_fortran_alignment_REALp4 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=R 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 REAL*4" >&5 printf %s "checking for corresponding KIND value of REAL*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 case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } ;; esac 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" | sed "$as_sed_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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) value=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) outval=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 ;; esac 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 ;; esac 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 REAL*4 and $ofc_c_type mismatch; MPI datatype unsupported" >&5 printf "%s\n" "$as_me: WARNING: Compiler REAL*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_REAL4 $ofc_have_type" >>confdefs.h printf "%s\n" "@%:@define OMPI_SIZEOF_FORTRAN_REAL4 $ofc_type_size" >>confdefs.h printf "%s\n" "@%:@define OMPI_ALIGNMENT_FORTRAN_REAL4 $ofc_type_alignment" >>confdefs.h printf "%s\n" "@%:@define OMPI_KIND_FORTRAN_REAL4 $ofc_type_kind" >>confdefs.h if test "short float, float, double, long double, opal_short_float_t" != "" && test "$ofc_define_type" = "yes"; then printf "%s\n" "@%:@define ompi_fortran_real4_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_REAL4_C_TYPE=$ofc_c_type OMPI_KIND_FORTRAN_REAL4=$ofc_type_kind OMPI_HAVE_FORTRAN_REAL4=$ofc_have_type OMPI_SIZEOF_FORTRAN_REAL4=$ofc_type_size OMPI_ALIGNMENT_FORTRAN_REAL4=$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 REAL*8" >&5 printf %s "checking if Fortran compiler supports REAL*8... " >&6; } if test ${ompi_cv_fortran_have_REALp8+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 REAL*8 :: bogus_variable end program _ACEOF if ac_fn_fc_try_compile "$LINENO" then : ompi_cv_fortran_have_REALp8=yes else case e in @%:@( e) ompi_cv_fortran_have_REALp8=no ;; esac 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 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_have_REALp8" >&5 printf "%s\n" "$ompi_cv_fortran_have_REALp8" >&6; } if test "x$ompi_cv_fortran_have_REALp8" = xyes then : ofc_have_type=1 else case e in @%:@( e) ofc_have_type=0 ;; esac fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports REAL*8" >&5 printf %s "checking if Fortran compiler supports REAL*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 REAL*8" >&5 printf %s "checking size of Fortran REAL*8... " >&6; } if test ${ompi_cv_fortran_sizeof_REALp8+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : happy="yes" else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} if test "$happy" = "no" ; then if test -n "1" then : printf "%s\n" "configure:__oline__: here is the Fortran program:" >&5 else case e in @%:@( e) printf "%s\n" here is the Fortran program: >&5 ;; esac 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 REAL*8" >&5 printf "%s\n" "$as_me: WARNING: Could not determine size of REAL*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 REAL*8 when cross-compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_sizeof_REALp8=`cat conftestval` else case e in @%:@( e) as_fn_error $? "Could not determine size of REAL*8" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi unset happy ompi_conftest_h rm -rf conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_sizeof_REALp8" >&5 printf "%s\n" "$ompi_cv_fortran_sizeof_REALp8" >&6; } ofc_type_size=$ompi_cv_fortran_sizeof_REALp8 if test "$ofc_expected_size" != "-1" && test "$ofc_type_size" != "$ofc_expected_size"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Fortran REAL*8 does not have expected size!" >&5 printf "%s\n" "$as_me: WARNING: *** Fortran REAL*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 REAL*8" >&5 printf "%s\n" "$as_me: WARNING: *** Disabling MPI support for Fortran REAL*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_REAL*8" | sed "$as_sed_sh"` oft_abort_on_fail="no" oft_target_size="$ofc_type_size" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C type corresponding to REAL*8" >&5 printf %s "checking for C type corresponding to REAL*8... " >&6; } if eval test \${$as_type_var+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) # 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_float" = "$oft_target_size" ; then oft_real_type="short float" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_float" = "$oft_target_size" ; then oft_real_type="float" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_double" = "$oft_target_size" ; then oft_real_type="double" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_long_double" = "$oft_target_size" ; then oft_real_type="long double" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_opal_short_float_t" = "$oft_target_size" ; then oft_real_type="opal_short_float_t" fi fi fi if test -z "$oft_real_type" then : eval "$as_type_var=\"not found\"" else case e in @%:@( e) eval "$as_type_var=\"\$oft_real_type\"" ;; esac fi ;; esac 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 case e in @%:@( e) eval ofc_c_type=\$$as_type_var ;; esac 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 REAL*8" >&5 printf %s "checking alignment of Fortran REAL*8... " >&6; } if test ${ompi_cv_fortran_alignment_REALp8+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : fortran_get_alignment_happy="yes" else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac 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 REAL*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 REAL*8 when cross-compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_alignment_REALp8=`cat conftestval` else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error!" >&5 printf "%s\n" "Error!" >&6; } as_fn_error $? "Could not determine alignment of REAL*8" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi rm -rf conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_alignment_REALp8" >&5 printf "%s\n" "$ompi_cv_fortran_alignment_REALp8" >&6; } ofc_type_alignment=$ompi_cv_fortran_alignment_REALp8 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=R 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 REAL*8" >&5 printf %s "checking for corresponding KIND value of REAL*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 case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } ;; esac 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" | sed "$as_sed_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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) value=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) outval=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 ;; esac 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 ;; esac 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 REAL*8 and $ofc_c_type mismatch; MPI datatype unsupported" >&5 printf "%s\n" "$as_me: WARNING: Compiler REAL*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_REAL8 $ofc_have_type" >>confdefs.h printf "%s\n" "@%:@define OMPI_SIZEOF_FORTRAN_REAL8 $ofc_type_size" >>confdefs.h printf "%s\n" "@%:@define OMPI_ALIGNMENT_FORTRAN_REAL8 $ofc_type_alignment" >>confdefs.h printf "%s\n" "@%:@define OMPI_KIND_FORTRAN_REAL8 $ofc_type_kind" >>confdefs.h if test "short float, float, double, long double, opal_short_float_t" != "" && test "$ofc_define_type" = "yes"; then printf "%s\n" "@%:@define ompi_fortran_real8_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_REAL8_C_TYPE=$ofc_c_type OMPI_KIND_FORTRAN_REAL8=$ofc_type_kind OMPI_HAVE_FORTRAN_REAL8=$ofc_have_type OMPI_SIZEOF_FORTRAN_REAL8=$ofc_type_size OMPI_ALIGNMENT_FORTRAN_REAL8=$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=16 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 REAL*16" >&5 printf %s "checking if Fortran compiler supports REAL*16... " >&6; } if test ${ompi_cv_fortran_have_REALp16+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 REAL*16 :: bogus_variable end program _ACEOF if ac_fn_fc_try_compile "$LINENO" then : ompi_cv_fortran_have_REALp16=yes else case e in @%:@( e) ompi_cv_fortran_have_REALp16=no ;; esac 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 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_have_REALp16" >&5 printf "%s\n" "$ompi_cv_fortran_have_REALp16" >&6; } if test "x$ompi_cv_fortran_have_REALp16" = xyes then : ofc_have_type=1 else case e in @%:@( e) ofc_have_type=0 ;; esac fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports REAL*16" >&5 printf %s "checking if Fortran compiler supports REAL*16... " >&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 REAL*16" >&5 printf %s "checking size of Fortran REAL*16... " >&6; } if test ${ompi_cv_fortran_sizeof_REALp16+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : happy="yes" else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} if test "$happy" = "no" ; then if test -n "1" then : printf "%s\n" "configure:__oline__: here is the Fortran program:" >&5 else case e in @%:@( e) printf "%s\n" here is the Fortran program: >&5 ;; esac 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 REAL*16" >&5 printf "%s\n" "$as_me: WARNING: Could not determine size of REAL*16" >&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 REAL*16 when cross-compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_sizeof_REALp16=`cat conftestval` else case e in @%:@( e) as_fn_error $? "Could not determine size of REAL*16" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi unset happy ompi_conftest_h rm -rf conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_sizeof_REALp16" >&5 printf "%s\n" "$ompi_cv_fortran_sizeof_REALp16" >&6; } ofc_type_size=$ompi_cv_fortran_sizeof_REALp16 if test "$ofc_expected_size" != "-1" && test "$ofc_type_size" != "$ofc_expected_size"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Fortran REAL*16 does not have expected size!" >&5 printf "%s\n" "$as_me: WARNING: *** Fortran REAL*16 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 REAL*16" >&5 printf "%s\n" "$as_me: WARNING: *** Disabling MPI support for Fortran REAL*16" >&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_REAL*16" | sed "$as_sed_sh"` oft_abort_on_fail="no" oft_target_size="$ofc_type_size" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C type corresponding to REAL*16" >&5 printf %s "checking for C type corresponding to REAL*16... " >&6; } if eval test \${$as_type_var+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) # 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_float" = "$oft_target_size" ; then oft_real_type="short float" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_float" = "$oft_target_size" ; then oft_real_type="float" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_double" = "$oft_target_size" ; then oft_real_type="double" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_long_double" = "$oft_target_size" ; then oft_real_type="long double" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_opal_short_float_t" = "$oft_target_size" ; then oft_real_type="opal_short_float_t" fi fi fi if test -z "$oft_real_type" then : eval "$as_type_var=\"not found\"" else case e in @%:@( e) eval "$as_type_var=\"\$oft_real_type\"" ;; esac fi ;; esac 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 case e in @%:@( e) eval ofc_c_type=\$$as_type_var ;; esac 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 REAL*16" >&5 printf %s "checking alignment of Fortran REAL*16... " >&6; } if test ${ompi_cv_fortran_alignment_REALp16+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : fortran_get_alignment_happy="yes" else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac 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 REAL*16" "$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 REAL*16 when cross-compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_alignment_REALp16=`cat conftestval` else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error!" >&5 printf "%s\n" "Error!" >&6; } as_fn_error $? "Could not determine alignment of REAL*16" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi rm -rf conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_alignment_REALp16" >&5 printf "%s\n" "$ompi_cv_fortran_alignment_REALp16" >&6; } ofc_type_alignment=$ompi_cv_fortran_alignment_REALp16 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=R 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 REAL*16" >&5 printf %s "checking for corresponding KIND value of REAL*16... " >&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 case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } ;; esac 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" | sed "$as_sed_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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) value=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) outval=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 ;; esac 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 ;; esac 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 REAL*16 and $ofc_c_type mismatch; MPI datatype unsupported" >&5 printf "%s\n" "$as_me: WARNING: Compiler REAL*16 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_REAL16 $ofc_have_type" >>confdefs.h printf "%s\n" "@%:@define OMPI_SIZEOF_FORTRAN_REAL16 $ofc_type_size" >>confdefs.h printf "%s\n" "@%:@define OMPI_ALIGNMENT_FORTRAN_REAL16 $ofc_type_alignment" >>confdefs.h printf "%s\n" "@%:@define OMPI_KIND_FORTRAN_REAL16 $ofc_type_kind" >>confdefs.h if test "short float, float, double, long double, opal_short_float_t" != "" && test "$ofc_define_type" = "yes"; then printf "%s\n" "@%:@define ompi_fortran_real16_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_REAL16_C_TYPE=$ofc_c_type OMPI_KIND_FORTRAN_REAL16=$ofc_type_kind OMPI_HAVE_FORTRAN_REAL16=$ofc_have_type OMPI_SIZEOF_FORTRAN_REAL16=$ofc_type_size OMPI_ALIGNMENT_FORTRAN_REAL16=$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 # In some compilers, the bit representation of REAL*16 is not the same # as the C counterpart that we found. If this is the case, then we # want to disable reduction support for MPI_REAL16 (per ticket #1603). opal_var_scope_push ${LINENO} fortran_real16_happy define_value msg CFLAGS_save # We have to do this as a cache check for cross-compilation platforms { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C type matching bit representation of REAL*16" >&5 printf %s "checking for C type matching bit representation of REAL*16... " >&6; } if test ${ompi_cv_real16_c_equiv+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test "$OMPI_TRY_FORTRAN_BINDINGS" -gt "$OMPI_FORTRAN_NO_BINDINGS" && \ test "$OMPI_HAVE_FORTRAN_REAL16" = "1" then : # AC_CACHE_CHECK automatically does its own AC_MSG_CHECKING, so close it out { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: pending" >&5 printf "%s\n" "pending" >&6; } # First check the type that we found was the same length in C { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $OMPI_FORTRAN_REAL16_C_TYPE == REAL*16" >&5 printf %s "checking if $OMPI_FORTRAN_REAL16_C_TYPE == REAL*16... " >&6; } # C module cat > conftest_c.c < #include #ifdef __cplusplus extern "C" { #endif void c_backend($OMPI_FORTRAN_REAL16_C_TYPE *a) { $OMPI_FORTRAN_REAL16_C_TYPE foo = 11; FILE *fp = fopen("conftestval", "w"); if (NULL == fp) exit(1); foo = 1 / foo; fprintf(fp, "%s\n", (foo == *a) ? "yes" : "no"); fclose(fp); } void C($OMPI_FORTRAN_REAL16_C_TYPE *a) { c_backend(a); } void c($OMPI_FORTRAN_REAL16_C_TYPE *a) { c_backend(a); } void c_($OMPI_FORTRAN_REAL16_C_TYPE *a) { c_backend(a); } /* JMS I'm pretty sure this one will never happen...? */ void c__($OMPI_FORTRAN_REAL16_C_TYPE *a) { c_backend(a); } #ifdef __cplusplus } #endif EOF # Fortran module cat > conftest_f.f <&5 $CC $CFLAGS -I. -c conftest_c.c 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $FC $FCFLAGS conftest_f.f conftest_c.o -o conftest $LDFLAGS $LIBS" >&5 $FC $FCFLAGS conftest_f.f conftest_c.o -o conftest $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : fortran_real16_happy="yes" else case e in @%:@( e) fortran_real16_happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) fortran_real16_happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} if test "$fortran_real16_happy" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Could not determine if REAL*16 bit-matches C type" >&5 printf "%s\n" "Could not determine if REAL*16 bit-matches C type" >&6; } else case e in @%:@( e) # If it worked so far, try running to see what we get if test "$fortran_real16_happy" = "yes" && 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 if REAL*16 bit-matches C if cross compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : fortran_real16_happy=`cat conftestval` else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error!" >&5 printf "%s\n" "Error!" >&6; } as_fn_error $? "Could not determine if REAL*16 bit-matches C type" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi ;; esac fi # All done; whack tmp files rm -rf conftest* # If that didn't work, see if we have a compiler-specific # type that might work if test "$fortran_real16_happy" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fortran_real16_happy" >&5 printf "%s\n" "$fortran_real16_happy" >&6; } # Intel compiler has a special type that should work if test "$opal_cv_c_compiler_vendor" = "intel" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if intel compiler _Quad == REAL*16" >&5 printf %s "checking if intel compiler _Quad == REAL*16... " >&6; } CFLAGS_save="$CFLAGS" oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in "-Qoption,cpp,--extended_float_types"; 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 case e in @%:@( e) CFLAGS="${CFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val # C module cat > conftest_c.c < #include #ifdef __cplusplus extern "C" { #endif void c_backend(_Quad *a) { _Quad foo = 11; FILE *fp = fopen("conftestval", "w"); if (NULL == fp) exit(1); foo = 1 / foo; fprintf(fp, "%s\n", (foo == *a) ? "yes" : "no"); fclose(fp); } void C(_Quad *a) { c_backend(a); } void c(_Quad *a) { c_backend(a); } void c_(_Quad *a) { c_backend(a); } /* JMS I'm pretty sure this one will never happen...? */ void c__(_Quad *a) { c_backend(a); } #ifdef __cplusplus } #endif EOF # Fortran module cat > conftest_f.f <&5 $CC $CFLAGS -I. -c conftest_c.c 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $FC $FCFLAGS conftest_f.f conftest_c.o -o conftest $LDFLAGS $LIBS" >&5 $FC $FCFLAGS conftest_f.f conftest_c.o -o conftest $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : fortran_real16_happy="yes" else case e in @%:@( e) fortran_real16_happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) fortran_real16_happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} if test "$fortran_real16_happy" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Could not determine if REAL*16 bit-matches C type" >&5 printf "%s\n" "Could not determine if REAL*16 bit-matches C type" >&6; } else case e in @%:@( e) # If it worked so far, try running to see what we get if test "$fortran_real16_happy" = "yes" && 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 if REAL*16 bit-matches C if cross compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : fortran_real16_happy=`cat conftestval` else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error!" >&5 printf "%s\n" "Error!" >&6; } as_fn_error $? "Could not determine if REAL*16 bit-matches C type" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi ;; esac fi # All done; whack tmp files rm -rf conftest* if test "$fortran_real16_happy" = "yes" then : OMPI_FORTRAN_REAL16_C_TYPE="_Quad" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: works!" >&5 printf "%s\n" "works!" >&6; } else case e in @%:@( e) CFLAGS="$CFLAGS_save" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: does not work" >&5 printf "%s\n" "does not work" >&6; } ;; esac fi fi if test "$opal_cv_c_compiler_vendor" = "gnu" && test "$ac_cv_type___float128" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if gnu compiler __float128 == REAL*16" >&5 printf %s "checking if gnu compiler __float128 == REAL*16... " >&6; } # C module cat > conftest_c.c < #include #ifdef __cplusplus extern "C" { #endif void c_backend(__float128 *a) { __float128 foo = 11; FILE *fp = fopen("conftestval", "w"); if (NULL == fp) exit(1); foo = 1 / foo; fprintf(fp, "%s\n", (foo == *a) ? "yes" : "no"); fclose(fp); } void C(__float128 *a) { c_backend(a); } void c(__float128 *a) { c_backend(a); } void c_(__float128 *a) { c_backend(a); } /* JMS I'm pretty sure this one will never happen...? */ void c__(__float128 *a) { c_backend(a); } #ifdef __cplusplus } #endif EOF # Fortran module cat > conftest_f.f <&5 $CC $CFLAGS -I. -c conftest_c.c 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $FC $FCFLAGS conftest_f.f conftest_c.o -o conftest $LDFLAGS $LIBS" >&5 $FC $FCFLAGS conftest_f.f conftest_c.o -o conftest $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : fortran_real16_happy="yes" else case e in @%:@( e) fortran_real16_happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) fortran_real16_happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} if test "$fortran_real16_happy" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Could not determine if REAL*16 bit-matches C type" >&5 printf "%s\n" "Could not determine if REAL*16 bit-matches C type" >&6; } else case e in @%:@( e) # If it worked so far, try running to see what we get if test "$fortran_real16_happy" = "yes" && 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 if REAL*16 bit-matches C if cross compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : fortran_real16_happy=`cat conftestval` else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error!" >&5 printf "%s\n" "Error!" >&6; } as_fn_error $? "Could not determine if REAL*16 bit-matches C type" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi ;; esac fi # All done; whack tmp files rm -rf conftest* if test "$fortran_real16_happy" = "yes" then : OMPI_FORTRAN_REAL16_C_TYPE="__float128" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: works!" >&5 printf "%s\n" "works!" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: does not work" >&5 printf "%s\n" "does not work" >&6; } ;; esac fi fi # We have to [re-]print a new message here, because # AC_CACHE_CHECK will automatically AC_MSG_RESULT { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C type matching bit representation of REAL*16" >&5 printf %s "checking for C type matching bit representation of REAL*16... " >&6; } fi ompi_cv_real16_c_equiv=$fortran_real16_happy else case e in @%:@( e) # No fortran bindings or no REAL*16 if test "$OMPI_TRY_FORTRAN_BINDINGS" = "$OMPI_FORTRAN_NO_BINDINGS" then : msg="skipped (no Fortran MPI bindings)" else case e in @%:@( e) msg="skipped (no REAL*16)" ;; esac fi ompi_cv_real16_c_equiv=$msg ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_real16_c_equiv" >&5 printf "%s\n" "$ompi_cv_real16_c_equiv" >&6; } ompi_real16_matches_c=$ompi_cv_real16_c_equiv if test "$ompi_real16_matches_c" = "yes" then : define_value=1 else case e in @%:@( e) define_value=0 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MPI_REAL16 and MPI_COMPLEX32 support have been disabled" >&5 printf "%s\n" "$as_me: WARNING: MPI_REAL16 and MPI_COMPLEX32 support have been disabled" >&2;} ;; esac fi printf "%s\n" "@%:@define OMPI_REAL16_MATCHES_C $define_value" >>confdefs.h opal_var_scope_pop fortran_real16_happy define_value msg CFLAGS_save 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 DOUBLE PRECISION" >&5 printf %s "checking if Fortran compiler supports DOUBLE PRECISION... " >&6; } if test ${ompi_cv_fortran_have_DOUBLE_PRECISION+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 DOUBLE PRECISION :: bogus_variable end program _ACEOF if ac_fn_fc_try_compile "$LINENO" then : ompi_cv_fortran_have_DOUBLE_PRECISION=yes else case e in @%:@( e) ompi_cv_fortran_have_DOUBLE_PRECISION=no ;; esac 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 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_have_DOUBLE_PRECISION" >&5 printf "%s\n" "$ompi_cv_fortran_have_DOUBLE_PRECISION" >&6; } if test "x$ompi_cv_fortran_have_DOUBLE_PRECISION" = xyes then : ofc_have_type=1 else case e in @%:@( e) ofc_have_type=0 ;; esac fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports DOUBLE PRECISION" >&5 printf %s "checking if Fortran compiler supports DOUBLE PRECISION... " >&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 DOUBLE PRECISION" >&5 printf %s "checking size of Fortran DOUBLE PRECISION... " >&6; } if test ${ompi_cv_fortran_sizeof_DOUBLE_PRECISION+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : happy="yes" else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} if test "$happy" = "no" ; then if test -n "1" then : printf "%s\n" "configure:__oline__: here is the Fortran program:" >&5 else case e in @%:@( e) printf "%s\n" here is the Fortran program: >&5 ;; esac 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 DOUBLE PRECISION" >&5 printf "%s\n" "$as_me: WARNING: Could not determine size of DOUBLE PRECISION" >&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 DOUBLE PRECISION when cross-compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_sizeof_DOUBLE_PRECISION=`cat conftestval` else case e in @%:@( e) as_fn_error $? "Could not determine size of DOUBLE PRECISION" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi unset happy ompi_conftest_h rm -rf conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_sizeof_DOUBLE_PRECISION" >&5 printf "%s\n" "$ompi_cv_fortran_sizeof_DOUBLE_PRECISION" >&6; } ofc_type_size=$ompi_cv_fortran_sizeof_DOUBLE_PRECISION if test "$ofc_expected_size" != "-1" && test "$ofc_type_size" != "$ofc_expected_size"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Fortran DOUBLE PRECISION does not have expected size!" >&5 printf "%s\n" "$as_me: WARNING: *** Fortran DOUBLE PRECISION 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 DOUBLE PRECISION" >&5 printf "%s\n" "$as_me: WARNING: *** Disabling MPI support for Fortran DOUBLE PRECISION" >&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 DOUBLE PRECISION" >&5 printf %s "checking for C type corresponding to DOUBLE PRECISION... " >&6; } if test ${opal_cv_find_type_DOUBLE_PRECISION+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) # 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_float" = "$oft_target_size" ; then oft_real_type="short float" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_float" = "$oft_target_size" ; then oft_real_type="float" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_double" = "$oft_target_size" ; then oft_real_type="double" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_long_double" = "$oft_target_size" ; then oft_real_type="long double" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_opal_short_float_t" = "$oft_target_size" ; then oft_real_type="opal_short_float_t" fi fi fi if test -z "$oft_real_type" then : opal_cv_find_type_DOUBLE_PRECISION="not found" else case e in @%:@( e) opal_cv_find_type_DOUBLE_PRECISION="$oft_real_type" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cv_find_type_DOUBLE_PRECISION" >&5 printf "%s\n" "$opal_cv_find_type_DOUBLE_PRECISION" >&6; } if test "x$opal_cv_find_type_DOUBLE_PRECISION" = 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_DOUBLE_PRECISION" = x"not found" then : ofc_c_type= else case e in @%:@( e) ofc_c_type=$opal_cv_find_type_DOUBLE_PRECISION ;; esac 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 DOUBLE PRECISION" >&5 printf %s "checking alignment of Fortran DOUBLE PRECISION... " >&6; } if test ${ompi_cv_fortran_alignment_DOUBLE_PRECISION+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : fortran_get_alignment_happy="yes" else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac 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 DOUBLE PRECISION" "$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 DOUBLE PRECISION when cross-compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_alignment_DOUBLE_PRECISION=`cat conftestval` else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error!" >&5 printf "%s\n" "Error!" >&6; } as_fn_error $? "Could not determine alignment of DOUBLE PRECISION" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi rm -rf conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_alignment_DOUBLE_PRECISION" >&5 printf "%s\n" "$ompi_cv_fortran_alignment_DOUBLE_PRECISION" >&6; } ofc_type_alignment=$ompi_cv_fortran_alignment_DOUBLE_PRECISION 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=D 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 DOUBLE PRECISION" >&5 printf %s "checking for corresponding KIND value of DOUBLE PRECISION... " >&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 case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } ;; esac 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" | sed "$as_sed_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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) value=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) outval=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 ;; esac 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 ;; esac 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 DOUBLE PRECISION and $ofc_c_type mismatch; MPI datatype unsupported" >&5 printf "%s\n" "$as_me: WARNING: Compiler DOUBLE PRECISION 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_DOUBLE_PRECISION $ofc_have_type" >>confdefs.h printf "%s\n" "@%:@define OMPI_SIZEOF_FORTRAN_DOUBLE_PRECISION $ofc_type_size" >>confdefs.h printf "%s\n" "@%:@define OMPI_ALIGNMENT_FORTRAN_DOUBLE_PRECISION $ofc_type_alignment" >>confdefs.h printf "%s\n" "@%:@define OMPI_KIND_FORTRAN_DOUBLE_PRECISION $ofc_type_kind" >>confdefs.h if test "short float, float, double, long double, opal_short_float_t" != "" && test "$ofc_define_type" = "yes"; then printf "%s\n" "@%:@define ompi_fortran_double_precision_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_DOUBLE_PRECISION_C_TYPE=$ofc_c_type OMPI_KIND_FORTRAN_DOUBLE_PRECISION=$ofc_type_kind OMPI_HAVE_FORTRAN_DOUBLE_PRECISION=$ofc_have_type OMPI_SIZEOF_FORTRAN_DOUBLE_PRECISION=$ofc_type_size OMPI_ALIGNMENT_FORTRAN_DOUBLE_PRECISION=$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=no 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 COMPLEX" >&5 printf %s "checking if Fortran compiler supports COMPLEX... " >&6; } if test ${ompi_cv_fortran_have_COMPLEX+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 COMPLEX :: bogus_variable end program _ACEOF if ac_fn_fc_try_compile "$LINENO" then : ompi_cv_fortran_have_COMPLEX=yes else case e in @%:@( e) ompi_cv_fortran_have_COMPLEX=no ;; esac 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 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_have_COMPLEX" >&5 printf "%s\n" "$ompi_cv_fortran_have_COMPLEX" >&6; } if test "x$ompi_cv_fortran_have_COMPLEX" = xyes then : ofc_have_type=1 else case e in @%:@( e) ofc_have_type=0 ;; esac fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports COMPLEX" >&5 printf %s "checking if Fortran compiler supports COMPLEX... " >&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 COMPLEX" >&5 printf %s "checking size of Fortran COMPLEX... " >&6; } if test ${ompi_cv_fortran_sizeof_COMPLEX+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : happy="yes" else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} if test "$happy" = "no" ; then if test -n "1" then : printf "%s\n" "configure:__oline__: here is the Fortran program:" >&5 else case e in @%:@( e) printf "%s\n" here is the Fortran program: >&5 ;; esac 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 COMPLEX" >&5 printf "%s\n" "$as_me: WARNING: Could not determine size of COMPLEX" >&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 COMPLEX when cross-compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_sizeof_COMPLEX=`cat conftestval` else case e in @%:@( e) as_fn_error $? "Could not determine size of COMPLEX" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi unset happy ompi_conftest_h rm -rf conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_sizeof_COMPLEX" >&5 printf "%s\n" "$ompi_cv_fortran_sizeof_COMPLEX" >&6; } ofc_type_size=$ompi_cv_fortran_sizeof_COMPLEX if test "$ofc_expected_size" != "-1" && test "$ofc_type_size" != "$ofc_expected_size"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Fortran COMPLEX does not have expected size!" >&5 printf "%s\n" "$as_me: WARNING: *** Fortran COMPLEX 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 COMPLEX" >&5 printf "%s\n" "$as_me: WARNING: *** Disabling MPI support for Fortran COMPLEX" >&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 COMPLEX" >&5 printf %s "checking for C type corresponding to COMPLEX... " >&6; } if test ${opal_cv_find_type_COMPLEX+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) # 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_float__Complex" = "$oft_target_size" ; then oft_real_type="short float _Complex" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_float__Complex" = "$oft_target_size" ; then oft_real_type="float _Complex" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_double__Complex" = "$oft_target_size" ; then oft_real_type="double _Complex" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_long_double__Complex" = "$oft_target_size" ; then oft_real_type="long double _Complex" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_opal_short_float_complex_t" = "$oft_target_size" ; then oft_real_type="opal_short_float_complex_t" fi fi fi if test -z "$oft_real_type" then : opal_cv_find_type_COMPLEX="not found" else case e in @%:@( e) opal_cv_find_type_COMPLEX="$oft_real_type" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cv_find_type_COMPLEX" >&5 printf "%s\n" "$opal_cv_find_type_COMPLEX" >&6; } if test "x$opal_cv_find_type_COMPLEX" = 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_COMPLEX" = x"not found" then : ofc_c_type= else case e in @%:@( e) ofc_c_type=$opal_cv_find_type_COMPLEX ;; esac 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 COMPLEX" >&5 printf %s "checking alignment of Fortran COMPLEX... " >&6; } if test ${ompi_cv_fortran_alignment_COMPLEX+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : fortran_get_alignment_happy="yes" else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac 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 COMPLEX" "$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 COMPLEX when cross-compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_alignment_COMPLEX=`cat conftestval` else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error!" >&5 printf "%s\n" "Error!" >&6; } as_fn_error $? "Could not determine alignment of COMPLEX" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi rm -rf conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_alignment_COMPLEX" >&5 printf "%s\n" "$ompi_cv_fortran_alignment_COMPLEX" >&6; } ofc_type_alignment=$ompi_cv_fortran_alignment_COMPLEX 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 COMPLEX" >&5 printf %s "checking for corresponding KIND value of COMPLEX... " >&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 case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } ;; esac 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" | sed "$as_sed_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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) value=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) outval=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 ;; esac 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 ;; esac 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 COMPLEX and $ofc_c_type mismatch; MPI datatype unsupported" >&5 printf "%s\n" "$as_me: WARNING: Compiler COMPLEX 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_COMPLEX $ofc_have_type" >>confdefs.h printf "%s\n" "@%:@define OMPI_SIZEOF_FORTRAN_COMPLEX $ofc_type_size" >>confdefs.h printf "%s\n" "@%:@define OMPI_ALIGNMENT_FORTRAN_COMPLEX $ofc_type_alignment" >>confdefs.h printf "%s\n" "@%:@define OMPI_KIND_FORTRAN_COMPLEX $ofc_type_kind" >>confdefs.h if test "short float _Complex, float _Complex, double _Complex, long double _Complex, opal_short_float_complex_t" != "" && test "$ofc_define_type" = "yes"; then printf "%s\n" "@%:@define ompi_fortran_complex_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_COMPLEX_C_TYPE=$ofc_c_type OMPI_KIND_FORTRAN_COMPLEX=$ofc_type_kind OMPI_HAVE_FORTRAN_COMPLEX=$ofc_have_type OMPI_SIZEOF_FORTRAN_COMPLEX=$ofc_type_size OMPI_ALIGNMENT_FORTRAN_COMPLEX=$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 # The complex*N tests are a bit different (note: the complex tests are # the same as all the rest, because complex is a composite of two # reals, which we *have* to have. It's only the complex*N tests that # are different). The fortran complex types are composites of the # real*(N/2) types. So for us to support complex*N, two conditions # must be true: # # a) we must support real*(N/2) (i.e., compiler supports it and we # have a back-end C type for it) # b) compiler supports complex*N 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=no 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 COMPLEX*4" >&5 printf %s "checking if Fortran compiler supports COMPLEX*4... " >&6; } if test ${ompi_cv_fortran_have_COMPLEXp4+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 COMPLEX*4 :: bogus_variable end program _ACEOF if ac_fn_fc_try_compile "$LINENO" then : ompi_cv_fortran_have_COMPLEXp4=yes else case e in @%:@( e) ompi_cv_fortran_have_COMPLEXp4=no ;; esac 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 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_have_COMPLEXp4" >&5 printf "%s\n" "$ompi_cv_fortran_have_COMPLEXp4" >&6; } if test "x$ompi_cv_fortran_have_COMPLEXp4" = xyes then : ofc_have_type=1 else case e in @%:@( e) ofc_have_type=0 ;; esac fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports COMPLEX*4" >&5 printf %s "checking if Fortran compiler supports COMPLEX*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 COMPLEX*4" >&5 printf %s "checking size of Fortran COMPLEX*4... " >&6; } if test ${ompi_cv_fortran_sizeof_COMPLEXp4+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : happy="yes" else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} if test "$happy" = "no" ; then if test -n "1" then : printf "%s\n" "configure:__oline__: here is the Fortran program:" >&5 else case e in @%:@( e) printf "%s\n" here is the Fortran program: >&5 ;; esac 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 COMPLEX*4" >&5 printf "%s\n" "$as_me: WARNING: Could not determine size of COMPLEX*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 COMPLEX*4 when cross-compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_sizeof_COMPLEXp4=`cat conftestval` else case e in @%:@( e) as_fn_error $? "Could not determine size of COMPLEX*4" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi unset happy ompi_conftest_h rm -rf conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_sizeof_COMPLEXp4" >&5 printf "%s\n" "$ompi_cv_fortran_sizeof_COMPLEXp4" >&6; } ofc_type_size=$ompi_cv_fortran_sizeof_COMPLEXp4 if test "$ofc_expected_size" != "-1" && test "$ofc_type_size" != "$ofc_expected_size"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Fortran COMPLEX*4 does not have expected size!" >&5 printf "%s\n" "$as_me: WARNING: *** Fortran COMPLEX*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 COMPLEX*4" >&5 printf "%s\n" "$as_me: WARNING: *** Disabling MPI support for Fortran COMPLEX*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_COMPLEX*4" | sed "$as_sed_sh"` oft_abort_on_fail="no" oft_target_size="$ofc_type_size" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C type corresponding to COMPLEX*4" >&5 printf %s "checking for C type corresponding to COMPLEX*4... " >&6; } if eval test \${$as_type_var+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) # 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_float__Complex" = "$oft_target_size" ; then oft_real_type="short float _Complex" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_float__Complex" = "$oft_target_size" ; then oft_real_type="float _Complex" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_double__Complex" = "$oft_target_size" ; then oft_real_type="double _Complex" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_long_double__Complex" = "$oft_target_size" ; then oft_real_type="long double _Complex" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_opal_short_float_complex_t" = "$oft_target_size" ; then oft_real_type="opal_short_float_complex_t" fi fi fi if test -z "$oft_real_type" then : eval "$as_type_var=\"not found\"" else case e in @%:@( e) eval "$as_type_var=\"\$oft_real_type\"" ;; esac fi ;; esac 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 case e in @%:@( e) eval ofc_c_type=\$$as_type_var ;; esac 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 COMPLEX*4" >&5 printf %s "checking alignment of Fortran COMPLEX*4... " >&6; } if test ${ompi_cv_fortran_alignment_COMPLEXp4+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : fortran_get_alignment_happy="yes" else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac 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 COMPLEX*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 COMPLEX*4 when cross-compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_alignment_COMPLEXp4=`cat conftestval` else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error!" >&5 printf "%s\n" "Error!" >&6; } as_fn_error $? "Could not determine alignment of COMPLEX*4" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi rm -rf conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_alignment_COMPLEXp4" >&5 printf "%s\n" "$ompi_cv_fortran_alignment_COMPLEXp4" >&6; } ofc_type_alignment=$ompi_cv_fortran_alignment_COMPLEXp4 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 COMPLEX*4" >&5 printf %s "checking for corresponding KIND value of COMPLEX*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 case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } ;; esac 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" | sed "$as_sed_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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) value=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) outval=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 ;; esac 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 ;; esac 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 COMPLEX*4 and $ofc_c_type mismatch; MPI datatype unsupported" >&5 printf "%s\n" "$as_me: WARNING: Compiler COMPLEX*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_COMPLEX4 $ofc_have_type" >>confdefs.h printf "%s\n" "@%:@define OMPI_SIZEOF_FORTRAN_COMPLEX4 $ofc_type_size" >>confdefs.h printf "%s\n" "@%:@define OMPI_ALIGNMENT_FORTRAN_COMPLEX4 $ofc_type_alignment" >>confdefs.h printf "%s\n" "@%:@define OMPI_KIND_FORTRAN_COMPLEX4 $ofc_type_kind" >>confdefs.h if test "short float _Complex, float _Complex, double _Complex, long double _Complex, opal_short_float_complex_t" != "" && test "$ofc_define_type" = "yes"; then printf "%s\n" "@%:@define ompi_fortran_complex4_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_COMPLEX4_C_TYPE=$ofc_c_type OMPI_KIND_FORTRAN_COMPLEX4=$ofc_type_kind OMPI_HAVE_FORTRAN_COMPLEX4=$ofc_have_type OMPI_SIZEOF_FORTRAN_COMPLEX4=$ofc_type_size OMPI_ALIGNMENT_FORTRAN_COMPLEX4=$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=no 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 COMPLEX*8" >&5 printf %s "checking if Fortran compiler supports COMPLEX*8... " >&6; } if test ${ompi_cv_fortran_have_COMPLEXp8+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 COMPLEX*8 :: bogus_variable end program _ACEOF if ac_fn_fc_try_compile "$LINENO" then : ompi_cv_fortran_have_COMPLEXp8=yes else case e in @%:@( e) ompi_cv_fortran_have_COMPLEXp8=no ;; esac 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 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_have_COMPLEXp8" >&5 printf "%s\n" "$ompi_cv_fortran_have_COMPLEXp8" >&6; } if test "x$ompi_cv_fortran_have_COMPLEXp8" = xyes then : ofc_have_type=1 else case e in @%:@( e) ofc_have_type=0 ;; esac fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports COMPLEX*8" >&5 printf %s "checking if Fortran compiler supports COMPLEX*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 COMPLEX*8" >&5 printf %s "checking size of Fortran COMPLEX*8... " >&6; } if test ${ompi_cv_fortran_sizeof_COMPLEXp8+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : happy="yes" else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} if test "$happy" = "no" ; then if test -n "1" then : printf "%s\n" "configure:__oline__: here is the Fortran program:" >&5 else case e in @%:@( e) printf "%s\n" here is the Fortran program: >&5 ;; esac 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 COMPLEX*8" >&5 printf "%s\n" "$as_me: WARNING: Could not determine size of COMPLEX*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 COMPLEX*8 when cross-compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_sizeof_COMPLEXp8=`cat conftestval` else case e in @%:@( e) as_fn_error $? "Could not determine size of COMPLEX*8" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi unset happy ompi_conftest_h rm -rf conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_sizeof_COMPLEXp8" >&5 printf "%s\n" "$ompi_cv_fortran_sizeof_COMPLEXp8" >&6; } ofc_type_size=$ompi_cv_fortran_sizeof_COMPLEXp8 if test "$ofc_expected_size" != "-1" && test "$ofc_type_size" != "$ofc_expected_size"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Fortran COMPLEX*8 does not have expected size!" >&5 printf "%s\n" "$as_me: WARNING: *** Fortran COMPLEX*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 COMPLEX*8" >&5 printf "%s\n" "$as_me: WARNING: *** Disabling MPI support for Fortran COMPLEX*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_COMPLEX*8" | sed "$as_sed_sh"` oft_abort_on_fail="no" oft_target_size="$ofc_type_size" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C type corresponding to COMPLEX*8" >&5 printf %s "checking for C type corresponding to COMPLEX*8... " >&6; } if eval test \${$as_type_var+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) # 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_float__Complex" = "$oft_target_size" ; then oft_real_type="short float _Complex" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_float__Complex" = "$oft_target_size" ; then oft_real_type="float _Complex" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_double__Complex" = "$oft_target_size" ; then oft_real_type="double _Complex" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_long_double__Complex" = "$oft_target_size" ; then oft_real_type="long double _Complex" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_opal_short_float_complex_t" = "$oft_target_size" ; then oft_real_type="opal_short_float_complex_t" fi fi fi if test -z "$oft_real_type" then : eval "$as_type_var=\"not found\"" else case e in @%:@( e) eval "$as_type_var=\"\$oft_real_type\"" ;; esac fi ;; esac 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 case e in @%:@( e) eval ofc_c_type=\$$as_type_var ;; esac 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 COMPLEX*8" >&5 printf %s "checking alignment of Fortran COMPLEX*8... " >&6; } if test ${ompi_cv_fortran_alignment_COMPLEXp8+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : fortran_get_alignment_happy="yes" else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac 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 COMPLEX*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 COMPLEX*8 when cross-compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_alignment_COMPLEXp8=`cat conftestval` else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error!" >&5 printf "%s\n" "Error!" >&6; } as_fn_error $? "Could not determine alignment of COMPLEX*8" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi rm -rf conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_alignment_COMPLEXp8" >&5 printf "%s\n" "$ompi_cv_fortran_alignment_COMPLEXp8" >&6; } ofc_type_alignment=$ompi_cv_fortran_alignment_COMPLEXp8 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 COMPLEX*8" >&5 printf %s "checking for corresponding KIND value of COMPLEX*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 case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } ;; esac 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" | sed "$as_sed_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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) value=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) outval=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 ;; esac 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 ;; esac 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 COMPLEX*8 and $ofc_c_type mismatch; MPI datatype unsupported" >&5 printf "%s\n" "$as_me: WARNING: Compiler COMPLEX*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_COMPLEX8 $ofc_have_type" >>confdefs.h printf "%s\n" "@%:@define OMPI_SIZEOF_FORTRAN_COMPLEX8 $ofc_type_size" >>confdefs.h printf "%s\n" "@%:@define OMPI_ALIGNMENT_FORTRAN_COMPLEX8 $ofc_type_alignment" >>confdefs.h printf "%s\n" "@%:@define OMPI_KIND_FORTRAN_COMPLEX8 $ofc_type_kind" >>confdefs.h if test "short float _Complex, float _Complex, double _Complex, long double _Complex, opal_short_float_complex_t" != "" && test "$ofc_define_type" = "yes"; then printf "%s\n" "@%:@define ompi_fortran_complex8_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_COMPLEX8_C_TYPE=$ofc_c_type OMPI_KIND_FORTRAN_COMPLEX8=$ofc_type_kind OMPI_HAVE_FORTRAN_COMPLEX8=$ofc_have_type OMPI_SIZEOF_FORTRAN_COMPLEX8=$ofc_type_size OMPI_ALIGNMENT_FORTRAN_COMPLEX8=$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=16 ofc_define_type=no 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 COMPLEX*16" >&5 printf %s "checking if Fortran compiler supports COMPLEX*16... " >&6; } if test ${ompi_cv_fortran_have_COMPLEXp16+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 COMPLEX*16 :: bogus_variable end program _ACEOF if ac_fn_fc_try_compile "$LINENO" then : ompi_cv_fortran_have_COMPLEXp16=yes else case e in @%:@( e) ompi_cv_fortran_have_COMPLEXp16=no ;; esac 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 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_have_COMPLEXp16" >&5 printf "%s\n" "$ompi_cv_fortran_have_COMPLEXp16" >&6; } if test "x$ompi_cv_fortran_have_COMPLEXp16" = xyes then : ofc_have_type=1 else case e in @%:@( e) ofc_have_type=0 ;; esac fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports COMPLEX*16" >&5 printf %s "checking if Fortran compiler supports COMPLEX*16... " >&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 COMPLEX*16" >&5 printf %s "checking size of Fortran COMPLEX*16... " >&6; } if test ${ompi_cv_fortran_sizeof_COMPLEXp16+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : happy="yes" else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} if test "$happy" = "no" ; then if test -n "1" then : printf "%s\n" "configure:__oline__: here is the Fortran program:" >&5 else case e in @%:@( e) printf "%s\n" here is the Fortran program: >&5 ;; esac 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 COMPLEX*16" >&5 printf "%s\n" "$as_me: WARNING: Could not determine size of COMPLEX*16" >&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 COMPLEX*16 when cross-compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_sizeof_COMPLEXp16=`cat conftestval` else case e in @%:@( e) as_fn_error $? "Could not determine size of COMPLEX*16" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi unset happy ompi_conftest_h rm -rf conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_sizeof_COMPLEXp16" >&5 printf "%s\n" "$ompi_cv_fortran_sizeof_COMPLEXp16" >&6; } ofc_type_size=$ompi_cv_fortran_sizeof_COMPLEXp16 if test "$ofc_expected_size" != "-1" && test "$ofc_type_size" != "$ofc_expected_size"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Fortran COMPLEX*16 does not have expected size!" >&5 printf "%s\n" "$as_me: WARNING: *** Fortran COMPLEX*16 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 COMPLEX*16" >&5 printf "%s\n" "$as_me: WARNING: *** Disabling MPI support for Fortran COMPLEX*16" >&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_COMPLEX*16" | sed "$as_sed_sh"` oft_abort_on_fail="no" oft_target_size="$ofc_type_size" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C type corresponding to COMPLEX*16" >&5 printf %s "checking for C type corresponding to COMPLEX*16... " >&6; } if eval test \${$as_type_var+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) # 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_float__Complex" = "$oft_target_size" ; then oft_real_type="short float _Complex" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_float__Complex" = "$oft_target_size" ; then oft_real_type="float _Complex" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_double__Complex" = "$oft_target_size" ; then oft_real_type="double _Complex" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_long_double__Complex" = "$oft_target_size" ; then oft_real_type="long double _Complex" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_opal_short_float_complex_t" = "$oft_target_size" ; then oft_real_type="opal_short_float_complex_t" fi fi fi if test -z "$oft_real_type" then : eval "$as_type_var=\"not found\"" else case e in @%:@( e) eval "$as_type_var=\"\$oft_real_type\"" ;; esac fi ;; esac 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 case e in @%:@( e) eval ofc_c_type=\$$as_type_var ;; esac 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 COMPLEX*16" >&5 printf %s "checking alignment of Fortran COMPLEX*16... " >&6; } if test ${ompi_cv_fortran_alignment_COMPLEXp16+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : fortran_get_alignment_happy="yes" else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac 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 COMPLEX*16" "$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 COMPLEX*16 when cross-compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_alignment_COMPLEXp16=`cat conftestval` else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error!" >&5 printf "%s\n" "Error!" >&6; } as_fn_error $? "Could not determine alignment of COMPLEX*16" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi rm -rf conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_alignment_COMPLEXp16" >&5 printf "%s\n" "$ompi_cv_fortran_alignment_COMPLEXp16" >&6; } ofc_type_alignment=$ompi_cv_fortran_alignment_COMPLEXp16 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 COMPLEX*16" >&5 printf %s "checking for corresponding KIND value of COMPLEX*16... " >&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 case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } ;; esac 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" | sed "$as_sed_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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) value=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) outval=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 ;; esac 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 ;; esac 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 COMPLEX*16 and $ofc_c_type mismatch; MPI datatype unsupported" >&5 printf "%s\n" "$as_me: WARNING: Compiler COMPLEX*16 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_COMPLEX16 $ofc_have_type" >>confdefs.h printf "%s\n" "@%:@define OMPI_SIZEOF_FORTRAN_COMPLEX16 $ofc_type_size" >>confdefs.h printf "%s\n" "@%:@define OMPI_ALIGNMENT_FORTRAN_COMPLEX16 $ofc_type_alignment" >>confdefs.h printf "%s\n" "@%:@define OMPI_KIND_FORTRAN_COMPLEX16 $ofc_type_kind" >>confdefs.h if test "short float _Complex, float _Complex, double _Complex, long double _Complex, opal_short_float_complex_t" != "" && test "$ofc_define_type" = "yes"; then printf "%s\n" "@%:@define ompi_fortran_complex16_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_COMPLEX16_C_TYPE=$ofc_c_type OMPI_KIND_FORTRAN_COMPLEX16=$ofc_type_kind OMPI_HAVE_FORTRAN_COMPLEX16=$ofc_have_type OMPI_SIZEOF_FORTRAN_COMPLEX16=$ofc_type_size OMPI_ALIGNMENT_FORTRAN_COMPLEX16=$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=32 ofc_define_type=no 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 COMPLEX*32" >&5 printf %s "checking if Fortran compiler supports COMPLEX*32... " >&6; } if test ${ompi_cv_fortran_have_COMPLEXp32+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 COMPLEX*32 :: bogus_variable end program _ACEOF if ac_fn_fc_try_compile "$LINENO" then : ompi_cv_fortran_have_COMPLEXp32=yes else case e in @%:@( e) ompi_cv_fortran_have_COMPLEXp32=no ;; esac 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 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_have_COMPLEXp32" >&5 printf "%s\n" "$ompi_cv_fortran_have_COMPLEXp32" >&6; } if test "x$ompi_cv_fortran_have_COMPLEXp32" = xyes then : ofc_have_type=1 else case e in @%:@( e) ofc_have_type=0 ;; esac fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports COMPLEX*32" >&5 printf %s "checking if Fortran compiler supports COMPLEX*32... " >&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 COMPLEX*32" >&5 printf %s "checking size of Fortran COMPLEX*32... " >&6; } if test ${ompi_cv_fortran_sizeof_COMPLEXp32+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : happy="yes" else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} if test "$happy" = "no" ; then if test -n "1" then : printf "%s\n" "configure:__oline__: here is the Fortran program:" >&5 else case e in @%:@( e) printf "%s\n" here is the Fortran program: >&5 ;; esac 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 COMPLEX*32" >&5 printf "%s\n" "$as_me: WARNING: Could not determine size of COMPLEX*32" >&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 COMPLEX*32 when cross-compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_sizeof_COMPLEXp32=`cat conftestval` else case e in @%:@( e) as_fn_error $? "Could not determine size of COMPLEX*32" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi unset happy ompi_conftest_h rm -rf conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_sizeof_COMPLEXp32" >&5 printf "%s\n" "$ompi_cv_fortran_sizeof_COMPLEXp32" >&6; } ofc_type_size=$ompi_cv_fortran_sizeof_COMPLEXp32 if test "$ofc_expected_size" != "-1" && test "$ofc_type_size" != "$ofc_expected_size"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Fortran COMPLEX*32 does not have expected size!" >&5 printf "%s\n" "$as_me: WARNING: *** Fortran COMPLEX*32 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 COMPLEX*32" >&5 printf "%s\n" "$as_me: WARNING: *** Disabling MPI support for Fortran COMPLEX*32" >&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_COMPLEX*32" | sed "$as_sed_sh"` oft_abort_on_fail="no" oft_target_size="$ofc_type_size" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C type corresponding to COMPLEX*32" >&5 printf %s "checking for C type corresponding to COMPLEX*32... " >&6; } if eval test \${$as_type_var+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) # 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_float__Complex" = "$oft_target_size" ; then oft_real_type="short float _Complex" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_float__Complex" = "$oft_target_size" ; then oft_real_type="float _Complex" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_double__Complex" = "$oft_target_size" ; then oft_real_type="double _Complex" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_long_double__Complex" = "$oft_target_size" ; then oft_real_type="long double _Complex" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_opal_short_float_complex_t" = "$oft_target_size" ; then oft_real_type="opal_short_float_complex_t" fi fi fi if test -z "$oft_real_type" then : eval "$as_type_var=\"not found\"" else case e in @%:@( e) eval "$as_type_var=\"\$oft_real_type\"" ;; esac fi ;; esac 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 case e in @%:@( e) eval ofc_c_type=\$$as_type_var ;; esac 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 COMPLEX*32" >&5 printf %s "checking alignment of Fortran COMPLEX*32... " >&6; } if test ${ompi_cv_fortran_alignment_COMPLEXp32+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : fortran_get_alignment_happy="yes" else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac 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 COMPLEX*32" "$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 COMPLEX*32 when cross-compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_alignment_COMPLEXp32=`cat conftestval` else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error!" >&5 printf "%s\n" "Error!" >&6; } as_fn_error $? "Could not determine alignment of COMPLEX*32" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi rm -rf conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_alignment_COMPLEXp32" >&5 printf "%s\n" "$ompi_cv_fortran_alignment_COMPLEXp32" >&6; } ofc_type_alignment=$ompi_cv_fortran_alignment_COMPLEXp32 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 COMPLEX*32" >&5 printf %s "checking for corresponding KIND value of COMPLEX*32... " >&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 case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } ;; esac 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" | sed "$as_sed_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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) value=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) outval=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 ;; esac 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 ;; esac 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 COMPLEX*32 and $ofc_c_type mismatch; MPI datatype unsupported" >&5 printf "%s\n" "$as_me: WARNING: Compiler COMPLEX*32 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_COMPLEX32 $ofc_have_type" >>confdefs.h printf "%s\n" "@%:@define OMPI_SIZEOF_FORTRAN_COMPLEX32 $ofc_type_size" >>confdefs.h printf "%s\n" "@%:@define OMPI_ALIGNMENT_FORTRAN_COMPLEX32 $ofc_type_alignment" >>confdefs.h printf "%s\n" "@%:@define OMPI_KIND_FORTRAN_COMPLEX32 $ofc_type_kind" >>confdefs.h if test "short float _Complex, float _Complex, double _Complex, long double _Complex, opal_short_float_complex_t" != "" && test "$ofc_define_type" = "yes"; then printf "%s\n" "@%:@define ompi_fortran_complex32_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_COMPLEX32_C_TYPE=$ofc_c_type OMPI_KIND_FORTRAN_COMPLEX32=$ofc_type_kind OMPI_HAVE_FORTRAN_COMPLEX32=$ofc_have_type OMPI_SIZEOF_FORTRAN_COMPLEX32=$ofc_type_size OMPI_ALIGNMENT_FORTRAN_COMPLEX32=$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 # Double precision complex types are not standard, but many # compilers support it. Code should be wrapped with #ifdef # OMPI_HAVE_FORTRAN_DOUBLE_COMPLEX 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=no 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 DOUBLE COMPLEX" >&5 printf %s "checking if Fortran compiler supports DOUBLE COMPLEX... " >&6; } if test ${ompi_cv_fortran_have_DOUBLE_COMPLEX+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 DOUBLE COMPLEX :: bogus_variable end program _ACEOF if ac_fn_fc_try_compile "$LINENO" then : ompi_cv_fortran_have_DOUBLE_COMPLEX=yes else case e in @%:@( e) ompi_cv_fortran_have_DOUBLE_COMPLEX=no ;; esac 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 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_have_DOUBLE_COMPLEX" >&5 printf "%s\n" "$ompi_cv_fortran_have_DOUBLE_COMPLEX" >&6; } if test "x$ompi_cv_fortran_have_DOUBLE_COMPLEX" = xyes then : ofc_have_type=1 else case e in @%:@( e) ofc_have_type=0 ;; esac fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports DOUBLE COMPLEX" >&5 printf %s "checking if Fortran compiler supports DOUBLE COMPLEX... " >&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 DOUBLE COMPLEX" >&5 printf %s "checking size of Fortran DOUBLE COMPLEX... " >&6; } if test ${ompi_cv_fortran_sizeof_DOUBLE_COMPLEX+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : happy="yes" else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} if test "$happy" = "no" ; then if test -n "1" then : printf "%s\n" "configure:__oline__: here is the Fortran program:" >&5 else case e in @%:@( e) printf "%s\n" here is the Fortran program: >&5 ;; esac 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 DOUBLE COMPLEX" >&5 printf "%s\n" "$as_me: WARNING: Could not determine size of DOUBLE COMPLEX" >&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 DOUBLE COMPLEX when cross-compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_sizeof_DOUBLE_COMPLEX=`cat conftestval` else case e in @%:@( e) as_fn_error $? "Could not determine size of DOUBLE COMPLEX" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi unset happy ompi_conftest_h rm -rf conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_sizeof_DOUBLE_COMPLEX" >&5 printf "%s\n" "$ompi_cv_fortran_sizeof_DOUBLE_COMPLEX" >&6; } ofc_type_size=$ompi_cv_fortran_sizeof_DOUBLE_COMPLEX if test "$ofc_expected_size" != "-1" && test "$ofc_type_size" != "$ofc_expected_size"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Fortran DOUBLE COMPLEX does not have expected size!" >&5 printf "%s\n" "$as_me: WARNING: *** Fortran DOUBLE COMPLEX 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 DOUBLE COMPLEX" >&5 printf "%s\n" "$as_me: WARNING: *** Disabling MPI support for Fortran DOUBLE COMPLEX" >&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="no" oft_target_size="$ofc_type_size" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C type corresponding to DOUBLE COMPLEX" >&5 printf %s "checking for C type corresponding to DOUBLE COMPLEX... " >&6; } if test ${opal_cv_find_type_DOUBLE_COMPLEX+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) # 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_float__Complex" = "$oft_target_size" ; then oft_real_type="short float _Complex" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_float__Complex" = "$oft_target_size" ; then oft_real_type="float _Complex" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_double__Complex" = "$oft_target_size" ; then oft_real_type="double _Complex" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_long_double__Complex" = "$oft_target_size" ; then oft_real_type="long double _Complex" fi fi if test -z "$oft_real_type"; then if test "$ac_cv_sizeof_opal_short_float_complex_t" = "$oft_target_size" ; then oft_real_type="opal_short_float_complex_t" fi fi fi if test -z "$oft_real_type" then : opal_cv_find_type_DOUBLE_COMPLEX="not found" else case e in @%:@( e) opal_cv_find_type_DOUBLE_COMPLEX="$oft_real_type" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_cv_find_type_DOUBLE_COMPLEX" >&5 printf "%s\n" "$opal_cv_find_type_DOUBLE_COMPLEX" >&6; } if test "x$opal_cv_find_type_DOUBLE_COMPLEX" = 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_DOUBLE_COMPLEX" = x"not found" then : ofc_c_type= else case e in @%:@( e) ofc_c_type=$opal_cv_find_type_DOUBLE_COMPLEX ;; esac 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 DOUBLE COMPLEX" >&5 printf %s "checking alignment of Fortran DOUBLE COMPLEX... " >&6; } if test ${ompi_cv_fortran_alignment_DOUBLE_COMPLEX+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : fortran_get_alignment_happy="yes" else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) fortran_get_alignment_happy="no" ;; esac 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 DOUBLE COMPLEX" "$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 DOUBLE COMPLEX when cross-compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ompi_cv_fortran_alignment_DOUBLE_COMPLEX=`cat conftestval` else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Error!" >&5 printf "%s\n" "Error!" >&6; } as_fn_error $? "Could not determine alignment of DOUBLE COMPLEX" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi rm -rf conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_alignment_DOUBLE_COMPLEX" >&5 printf "%s\n" "$ompi_cv_fortran_alignment_DOUBLE_COMPLEX" >&6; } ofc_type_alignment=$ompi_cv_fortran_alignment_DOUBLE_COMPLEX 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=D 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 DOUBLE COMPLEX" >&5 printf %s "checking for corresponding KIND value of DOUBLE COMPLEX... " >&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 case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } ;; esac 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" | sed "$as_sed_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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) value=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) outval=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 ;; esac 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 ;; esac 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 DOUBLE COMPLEX and $ofc_c_type mismatch; MPI datatype unsupported" >&5 printf "%s\n" "$as_me: WARNING: Compiler DOUBLE COMPLEX 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_DOUBLE_COMPLEX $ofc_have_type" >>confdefs.h printf "%s\n" "@%:@define OMPI_SIZEOF_FORTRAN_DOUBLE_COMPLEX $ofc_type_size" >>confdefs.h printf "%s\n" "@%:@define OMPI_ALIGNMENT_FORTRAN_DOUBLE_COMPLEX $ofc_type_alignment" >>confdefs.h printf "%s\n" "@%:@define OMPI_KIND_FORTRAN_DOUBLE_COMPLEX $ofc_type_kind" >>confdefs.h if test "short float _Complex, float _Complex, double _Complex, long double _Complex, opal_short_float_complex_t" != "" && test "$ofc_define_type" = "yes"; then printf "%s\n" "@%:@define ompi_fortran_double_complex_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_DOUBLE_COMPLEX_C_TYPE=$ofc_c_type OMPI_KIND_FORTRAN_DOUBLE_COMPLEX=$ofc_type_kind OMPI_HAVE_FORTRAN_DOUBLE_COMPLEX=$ofc_have_type OMPI_SIZEOF_FORTRAN_DOUBLE_COMPLEX=$ofc_type_size OMPI_ALIGNMENT_FORTRAN_DOUBLE_COMPLEX=$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 # Regardless of whether we have fortran bindings, or even a # fortran compiler, get the max value for a fortran MPI handle # (this macro handles the case where we don't have a fortran # compiler). { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for max Fortran MPI handle index" >&5 printf %s "checking for max Fortran MPI handle index... " >&6; } if test ${ompi_cv_fortran_handle_max+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) # Find max fortran INTEGER value. Set to sentinel value if we don't # have a Fortran compiler (e.g., if --disable-fortran was given). if test $ompi_fortran_happy -eq 0; then ompi_fint_max=0 else # This is more complicated than it really should be. But some # expr implementations (OpenBSD) have an expr with a max value of # 2^31 - 1, and we sometimes want to compute the max value of a # type as big or bigger than that... opal_num_bits=`expr $OMPI_SIZEOF_FORTRAN_INTEGER \* 8 - 1` newval=1 value=1 overflow=0 while test $opal_num_bits -ne 0 ; do newval=`expr $value \* 2` if test 0 -eq `expr $newval \< 0` ; then # if the new value is not negative, next iteration... value=$newval opal_num_bits=`expr $opal_num_bits - 1` # if this was the last iteration, subtract 1 (as signed # max positive is 2^num_bits - 1). Do this here instead # of outside of the while loop because we might have # already subtracted 1 by then if we're trying to find the # max value of the same datatype expr uses as it's # internal representation (ie, if we hit the else # below...) if test 0 -eq $opal_num_bits ; then value=`expr $value - 1` fi else # if the new value is negative, we've over flowed. First, # try adding value - 1 instead of value (see if we can get # to positive max of expr) newval=`expr $value - 1 + $value` if test 0 -eq `expr $newval \< 0` ; then value=$newval # Still positive, this is as high as we can go. If # opal_num_bits is 1, we didn't actually overflow. # Otherwise, we overflowed. if test 1 -ne $opal_num_bits ; then overflow=1 fi else # still negative. Time to give up. overflow=1 fi opal_num_bits=0 fi done ompi_fint_max=$value if test $overflow -ne 0 then : fi fi # Get INT_MAX. Compute a SWAG if we are cross compiling or something # goes wrong. rm -f conftest.out >/dev/null 2>&1 if test "$cross_compiling" = yes then : #cross compiling is fun. compute INT_MAX same as INTEGER max # This is more complicated than it really should be. But some # expr implementations (OpenBSD) have an expr with a max value of # 2^31 - 1, and we sometimes want to compute the max value of a # type as big or bigger than that... opal_num_bits=`expr $ac_cv_sizeof_int \* 8 - 1` newval=1 value=1 overflow=0 while test $opal_num_bits -ne 0 ; do newval=`expr $value \* 2` if test 0 -eq `expr $newval \< 0` ; then # if the new value is not negative, next iteration... value=$newval opal_num_bits=`expr $opal_num_bits - 1` # if this was the last iteration, subtract 1 (as signed # max positive is 2^num_bits - 1). Do this here instead # of outside of the while loop because we might have # already subtracted 1 by then if we're trying to find the # max value of the same datatype expr uses as it's # internal representation (ie, if we hit the else # below...) if test 0 -eq $opal_num_bits ; then value=`expr $value - 1` fi else # if the new value is negative, we've over flowed. First, # try adding value - 1 instead of value (see if we can get # to positive max of expr) newval=`expr $value - 1 + $value` if test 0 -eq `expr $newval \< 0` ; then value=$newval # Still positive, this is as high as we can go. If # opal_num_bits is 1, we didn't actually overflow. # Otherwise, we overflowed. if test 1 -ne $opal_num_bits ; then overflow=1 fi else # still negative. Time to give up. overflow=1 fi opal_num_bits=0 fi done ompi_cint_max=$value if test $overflow -ne 0 then : fi else case e in @%:@( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main (void) { FILE *fp = fopen("conftest.out", "w"); long cint = INT_MAX; fprintf(fp, "%ld", cint); fclose(fp); ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO" then : ompi_cint_max=`cat conftest.out` else case e in @%:@( e) ompi_cint_max=0 ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi # Use string comparisons with "test"; see comment above for # rationale. if test "$ompi_cint_max" = "0" ; then # wow - something went really wrong. Be conservative value=32767 elif test "$ompi_fint_max" = "0" ; then # we aren't compiling Fortran - just set it to C INT_MAX value=$ompi_cint_max else # Take the lesser of C INT_MAX and Fortran INTEGER max. # The resulting value will then be storable in either # type. Use expr (instead of "test -lt"), because it can # handle 8-byte integer values. value=$ompi_fint_max if test "`expr $ompi_cint_max \< $value`" = "1"; then value=$ompi_cint_max fi fi ompi_cv_fortran_handle_max=$value rm -f conftest.out > /dev/null 2>&1 unset value ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_handle_max" >&5 printf "%s\n" "$ompi_cv_fortran_handle_max" >&6; } ompi_fortran_handle_max=$ompi_cv_fortran_handle_max # sanity check; OMPI gets very unhappy if this value is negative... if test 0 -ne `expr $ompi_fortran_handle_max \< 0` ; then as_fn_error $? "Detected negative max handle size." "$LINENO" 5 fi printf "%s\n" "@%:@define OMPI_FORTRAN_HANDLE_MAX $ompi_fortran_handle_max" >>confdefs.h # Check for Fortran compilers value of TRUE and for the correct # assumption on LOGICAL for conversion into what C considers to be # a true value. # invalidate cache if result came from a run where FORTRAN was disabled if test "$ompi_cv_fortran_true_value" = "0" ; then unset ompi_cv_fortran_true_value fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Fortran value for .TRUE. logical type" >&5 printf %s "checking Fortran value for .TRUE. logical type... " >&6; } if test ${ompi_cv_fortran_true_value+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test "" = "none" || \ test $OMPI_TRY_FORTRAN_BINDINGS -eq $OMPI_FORTRAN_NO_BINDINGS || \ test $ompi_fortran_happy -eq 0 ; then value=77 else # # C module # We really need the confdefs.h Header file for # the ompi_fortran_logical_t definition # if test \! -f confdefs.h ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Problem running configure test!" >&5 printf "%s\n" "$as_me: WARNING: *** Problem running configure test!" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Cannot find confdefs.h file for config test" >&5 printf "%s\n" "$as_me: WARNING: *** Cannot find confdefs.h file for config test" >&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 cat > conftest.c < #include #include "confdefs.h" #ifdef __cplusplus extern "C" { #endif void ompi_print_f(ompi_fortran_logical_t * logical) { FILE *f=fopen("conftestval", "w"); if (!f) exit(1); if( SIZEOF_INT >= sizeof(ompi_fortran_logical_t) ) { fprintf(f, "%d\n", (int)*logical); } else if (SIZEOF_LONG >= sizeof(ompi_fortran_logical_t) ) { fprintf(f, "%ld\n", (long) *logical); } else if (SIZEOF_LONG_LONG >= sizeof(ompi_fortran_logical_t) ) { fprintf(f, "%lld\n", (long long) *logical); } else { exit(1); } } void ompi_print(ompi_fortran_logical_t *logical) { ompi_print_f(logical); } void ompi_print_(ompi_fortran_logical_t *logical) { ompi_print_f(logical); } void ompi_print__(ompi_fortran_logical_t *logical) { ompi_print_f(logical); } void OMPI_PRINT(ompi_fortran_logical_t *logical) { ompi_print_f(logical); } #ifdef __cplusplus } #endif EOF cat > conftestf.f <&5 $CC $CFLAGS -I. -c conftest.c 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $FC $FCFLAGS -o conftest conftest.o conftestf.f $LDFLAGS $LIBS" >&5 $FC $FCFLAGS -o conftest conftest.o conftestf.f $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : happy=1 else case e in @%:@( e) happy=0 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) happy=0 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} if test $happy -eq 0 && test $ompi_fortran_happy -eq 1 then : as_fn_error $? "Could not compile Fortran .TRUE. test. Aborting." "$LINENO" 5 fi if test "$cross_compiling" = "yes" then : as_fn_error $? "Can not determine value of .TRUE. when cross-compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : value=`sed 's/ *//' conftestval` else case e in @%:@( e) as_fn_error $? "Could not determine value of Fotran .TRUE.. Aborting." "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi fi ompi_cv_fortran_true_value=$value unset value ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_true_value" >&5 printf "%s\n" "$ompi_cv_fortran_true_value" >&6; } ompi_fortran_true_value=$ompi_cv_fortran_true_value printf "%s\n" "@%:@define OMPI_FORTRAN_VALUE_TRUE $ompi_fortran_true_value" >>confdefs.h unset happy ompi_print_logical_fn rm -rf conftest* { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for correct handling of Fortran logical arrays" >&5 printf %s "checking for correct handling of Fortran logical arrays... " >&6; } if test ${ompi_cv_fortran_logical_array_correct+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test "" = "none" || \ test $OMPI_TRY_FORTRAN_BINDINGS -eq $OMPI_FORTRAN_NO_BINDINGS || \ test $ompi_fortran_happy -eq 0; then value=skipped else # Fortran module cat > conftestf.f <&5 printf "%s\n" "$as_me: WARNING: *** Problem running configure test!" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Cannot find confdefs.h file for config test" >&5 printf "%s\n" "$as_me: WARNING: *** Cannot find confdefs.h file for config test" >&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 cat > conftest.c < #include #include "confdefs.h" #ifdef __cplusplus extern "C" { #endif void ompi_check_f(ompi_fortran_logical_t * logical) { int result = 0; FILE *f=fopen("conftestval", "w"); if (!f) exit(1); if (logical[0] == 0 && logical[1] == $ompi_cv_fortran_true_value) result = 1; fprintf(f, "%d\n", result); } void ompi_check(ompi_fortran_logical_t * logical) { ompi_check_f(logical); } void ompi_check_(ompi_fortran_logical_t * logical) { ompi_check_f(logical); } void ompi_check__(ompi_fortran_logical_t * logical) { ompi_check_f(logical); } void OMPI_CHECK(ompi_fortran_logical_t * logical) { ompi_check_f(logical); } #ifdef __cplusplus } #endif EOF # Try the compilation and run. Can't use AC_TRY_RUN # because it's two module files. printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : happy=1 else case e in @%:@( e) happy=0 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) happy=0 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} if test "$happy" = "0" ; then as_fn_error $? "Error determining if arrays of logical values work properly." "$LINENO" 5 fi if test "$cross_compiling" = "yes" then : # assume we're ok value=yes else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : if test "`cat conftestval`" = "1" ; then value=yes else value=no fi else case e in @%:@( e) value=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi fi ompi_cv_fortran_logical_array_correct=$value ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_logical_array_correct" >&5 printf "%s\n" "$ompi_cv_fortran_logical_array_correct" >&6; } ompi_fortran_logical_array_correct=$ompi_cv_fortran_logical_array_correct if test "$ompi_fortran_logical_array_correct" = "no" ; then as_fn_error $? "Error determining if arrays of logical values work properly." "$LINENO" 5 fi unset happy ompi_check_logical_fn rm -rf conftest* # Find out how many array ranks this compiler supports. opal_var_scope_push ${LINENO} f_max_rank f_fail f_rank f_i f_dim { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking max supported Fortran array rank" >&5 printf %s "checking max supported Fortran array rank... " >&6; } if test ${ompi_cv_fortran_max_array_rank+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 f_max_rank=0 f_fail=0 # Realistically, this will only be 7 or 15. But what the heck # -- try them all. Note that we don't test above 15, because # that's the max value from the F2008 spec (and some compilers # will let you go above rank=16, e.g., Intel ifort). for f_rank in 2 3 4 5 6 7 8 9 10 11 12 13 14 15; do if test $f_fail -eq 0; then f_i=1 f_dim=2 while test `expr $f_i + 1` -le $f_rank; do f_dim="$f_dim,2" f_i=`expr $f_i + 1` done if test -n "" then : printf "%s\n" "configure:__oline__: testing Fortran dimension $f_rank / $f_dim" >&5 else case e in @%:@( e) printf "%s\n" testing Fortran dimension $f_rank / $f_dim >&5 ;; esac fi cat > conftest.$ac_ext <<_ACEOF PROGRAM test_program INTEGER, DIMENSION($f_dim) :: var var($f_dim) = 3 END PROGRAM test_program _ACEOF if ac_fn_fc_try_compile "$LINENO" then : f_max_rank=$f_rank else case e in @%:@( e) f_fail=1 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi done ompi_cv_fortran_max_array_rank=$f_max_rank 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 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_max_array_rank" >&5 printf "%s\n" "$ompi_cv_fortran_max_array_rank" >&6; } OMPI_FORTRAN_MAX_ARRAY_RANK=$ompi_cv_fortran_max_array_rank printf "%s\n" "@%:@define OMPI_FORTRAN_MAX_ARRAY_RANK $OMPI_FORTRAN_MAX_ARRAY_RANK" >>confdefs.h opal_var_scope_pop f_max_rank f_fail f_rank f_i f_dim # How big should MPI_STATUS_SIZE be? (i.e., the size of # MPI_STATUS, expressed in units of Fortran INTEGERs). The C # MPI_Status struct contains 4 C ints and a size_t. OMPI_FORTRAN_STATUS_SIZE=0 # Calculate how many C int's can fit in sizeof(MPI_Status). Yes, # I do mean C ints -- not Fortran INTEGERS. The reason is because # an mpif.h MPI_Status is an array of INTEGERS. But these # sizeof(INTEGER) may be larger than sizeof(int). Hence, # MPI_Status_ctof() basically does this: # # MPI_Fint *f_status = ...; # int *s = (int*) &c_status; # for i=0..sizeof(MPI_Status)/sizeof(int) # f_status[i] = c_status[i]; # # Meaning: we have to have as many Fortran INTEGERs in the array # as int's will fit in a C MPI_Status (vs. just having a Fortran # array of INTEGERs that has enough bytes to hold a C MPI_Status). bytes=`expr 4 \* $ac_cv_sizeof_int + $ac_cv_sizeof_size_t` { printf "%s\n" "$as_me:${as_lineno-$LINENO}: C MPI_Status is $bytes bytes long" >&5 printf "%s\n" "$as_me: C MPI_Status is $bytes bytes long" >&6;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for the value of MPI_STATUS_SIZE" >&5 printf %s "checking for the value of MPI_STATUS_SIZE... " >&6; } num_ints=`expr $bytes / $ac_cv_sizeof_int` sanity=`expr $num_ints \* $ac_cv_sizeof_int` if test "$sanity" != "$bytes" then : { 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: WARNING: Size of C int: $ac_cv_sizeof_int" >&5 printf "%s\n" "$as_me: WARNING: WARNING: Size of C int: $ac_cv_sizeof_int" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: WARNING: Size of C size_t: $ac_cv_sizeof_size_t" >&5 printf "%s\n" "$as_me: WARNING: WARNING: Size of C size_t: $ac_cv_sizeof_size_t" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: WARNING: Size of Fortran INTEGER: $OMPI_SIZEOF_FORTRAN_INTEGER" >&5 printf "%s\n" "$as_me: WARNING: WARNING: Size of Fortran INTEGER: $OMPI_SIZEOF_FORTRAN_INTEGER" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not make this work out evenly...!" >&5 printf "%s\n" "$as_me: WARNING: Could not make this work out evenly...!" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi OMPI_FORTRAN_STATUS_SIZE=$num_ints { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OMPI_FORTRAN_STATUS_SIZE Fortran INTEGERs" >&5 printf "%s\n" "$OMPI_FORTRAN_STATUS_SIZE Fortran INTEGERs" >&6; } printf "%s\n" "@%:@define OMPI_FORTRAN_STATUS_SIZE $OMPI_FORTRAN_STATUS_SIZE" >>confdefs.h # Setup for the compilers that don't support ignore TKR functionality oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=OMPI_FORTRAN_IKINDS # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${OMPI_FORTRAN_IKINDS}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=OMPI_FORTRAN_RKINDS # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${OMPI_FORTRAN_RKINDS}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=OMPI_FORTRAN_CKINDS # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${OMPI_FORTRAN_CKINDS}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val # We can't use C_INTxx_T KIND values in mpif.h because many # existing MPI Fortran applications are of the form: # # program main # implicit none # include 'mpif.h' # # ...and you can't have a "use..." statement before that (to get # the Fortran/C interop C_INTxx_T KIND values). So figure out # those KIND values here and just substitute them in via # AC_DEFINE's. Kinda gross, but there you are. :-\ # Use of m4_translit suggested by Eric Blake: # http://lists.gnu.org/archive/html/bug-autoconf/2010-10/msg00016.html rm -f conftest.out { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking KIND value of Fortran C_INT16_T" >&5 printf %s "checking KIND value of Fortran C_INT16_T... " >&6; } if test ${ompi_cv_fortran_kind_value_C_INT16_T+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 case e in @%:@( e) cat > conftest.$ac_ext <<_ACEOF program main use, intrinsic :: ISO_C_BINDING implicit none open(unit = 7, file = "conftest.out") write(7, *) C_INT16_T close(7) end _ACEOF if ac_fn_fc_try_run "$LINENO" then : value=`cat conftest.out | awk '{print $1}'` else case e in @%:@( e) value=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) 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 case e in @%:@( e) outval=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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 ;; esac 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 C_INT16_T" >&5 printf "%s\n" "$as_me: WARNING: Could not determine KIND value of C_INT16_T" >&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 C_INT16_T when cross-compiling" "$LINENO" 5 fi ompi_cv_fortran_kind_value_C_INT16_T=$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 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_kind_value_C_INT16_T" >&5 printf "%s\n" "$ompi_cv_fortran_kind_value_C_INT16_T" >&6; } OMPI_FORTRAN_C_INT16_T_KIND=$ompi_cv_fortran_kind_value_C_INT16_T # Use of m4_translit suggested by Eric Blake: # http://lists.gnu.org/archive/html/bug-autoconf/2010-10/msg00016.html rm -f conftest.out { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking KIND value of Fortran C_INT32_T" >&5 printf %s "checking KIND value of Fortran C_INT32_T... " >&6; } if test ${ompi_cv_fortran_kind_value_C_INT32_T+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 case e in @%:@( e) cat > conftest.$ac_ext <<_ACEOF program main use, intrinsic :: ISO_C_BINDING implicit none open(unit = 7, file = "conftest.out") write(7, *) C_INT32_T close(7) end _ACEOF if ac_fn_fc_try_run "$LINENO" then : value=`cat conftest.out | awk '{print $1}'` else case e in @%:@( e) value=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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(9)" >&5 printf %s "checking Fortran value of selected_int_kind(9)... " >&6; } if test ${ompi_cv_fortran_int_kind_9+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 case e in @%:@( e) cat > conftest.$ac_ext <<_ACEOF program main open(8, file="conftest.out") write(8, fmt="(I5)") selected_int_kind(9) close(8) end _ACEOF if ac_fn_fc_try_run "$LINENO" then : outval=`cat conftest.out | awk '{print $1}'` else case e in @%:@( e) outval=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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_9=$outval unset outval ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_int_kind_9" >&5 printf "%s\n" "$ompi_cv_fortran_int_kind_9" >&6; } # All analysis of $value is done in the upper-level / calling # macro value=$ompi_cv_fortran_int_kind_9 fi if test "$value" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not determine KIND value of C_INT32_T" >&5 printf "%s\n" "$as_me: WARNING: Could not determine KIND value of C_INT32_T" >&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 C_INT32_T when cross-compiling" "$LINENO" 5 fi ompi_cv_fortran_kind_value_C_INT32_T=$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 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_kind_value_C_INT32_T" >&5 printf "%s\n" "$ompi_cv_fortran_kind_value_C_INT32_T" >&6; } OMPI_FORTRAN_C_INT32_T_KIND=$ompi_cv_fortran_kind_value_C_INT32_T # Use of m4_translit suggested by Eric Blake: # http://lists.gnu.org/archive/html/bug-autoconf/2010-10/msg00016.html rm -f conftest.out { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking KIND value of Fortran C_INT64_T" >&5 printf %s "checking KIND value of Fortran C_INT64_T... " >&6; } if test ${ompi_cv_fortran_kind_value_C_INT64_T+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 case e in @%:@( e) cat > conftest.$ac_ext <<_ACEOF program main use, intrinsic :: ISO_C_BINDING implicit none open(unit = 7, file = "conftest.out") write(7, *) C_INT64_T close(7) end _ACEOF if ac_fn_fc_try_run "$LINENO" then : value=`cat conftest.out | awk '{print $1}'` else case e in @%:@( e) value=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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(18)" >&5 printf %s "checking Fortran value of selected_int_kind(18)... " >&6; } if test ${ompi_cv_fortran_int_kind_18+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 case e in @%:@( e) cat > conftest.$ac_ext <<_ACEOF program main open(8, file="conftest.out") write(8, fmt="(I5)") selected_int_kind(18) close(8) end _ACEOF if ac_fn_fc_try_run "$LINENO" then : outval=`cat conftest.out | awk '{print $1}'` else case e in @%:@( e) outval=no ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac 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_18=$outval unset outval ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_int_kind_18" >&5 printf "%s\n" "$ompi_cv_fortran_int_kind_18" >&6; } # All analysis of $value is done in the upper-level / calling # macro value=$ompi_cv_fortran_int_kind_18 fi if test "$value" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not determine KIND value of C_INT64_T" >&5 printf "%s\n" "$as_me: WARNING: Could not determine KIND value of C_INT64_T" >&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 C_INT64_T when cross-compiling" "$LINENO" 5 fi ompi_cv_fortran_kind_value_C_INT64_T=$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 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_kind_value_C_INT64_T" >&5 printf "%s\n" "$ompi_cv_fortran_kind_value_C_INT64_T" >&6; } OMPI_FORTRAN_C_INT64_T_KIND=$ompi_cv_fortran_kind_value_C_INT64_T # # See if "attributes deprecated" is supported # - False positives were seen with compilers like XL which will ignore # this option by default, but if the user specifies some options to # the wrapper compiler later it will fail to recognize the option. # - For now just limit this check to compilers that we know will work # This directive is only recognized, and works, for gfortran 11.0 and # later. As a result, this directive is generated only if the # Fortran compiler building Open MPI is gfortran 11.0 or later. OMPI_FORTRAN_HAVE_ATTR_DEPRECATED=0 if test $ompi_fortran_happy -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports the deprecated attribute" >&5 printf %s "checking if Fortran compiler supports the deprecated attribute... " >&6; } if test "$opal_cv_c_compiler_vendor" = "gnu" 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 cat > conftest.$ac_ext <<_ACEOF program check_for_attr_deprecated !GCC$ ATTRIBUTES DEPRECATED :: x real*4 x x = 123.4 print *,x end program _ACEOF if ac_fn_fc_try_compile "$LINENO" then : OMPI_FORTRAN_HAVE_ATTR_DEPRECATED=1 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Yes" >&5 printf "%s\n" "Yes" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: No" >&5 printf "%s\n" "No" >&6; } ;; esac 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 else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Unknown" >&5 printf "%s\n" "Unknown" >&6; } ;; esac fi fi printf "%s\n" "@%:@define OMPI_FORTRAN_HAVE_ATTR_DEPRECATED $OMPI_FORTRAN_HAVE_ATTR_DEPRECATED" >>confdefs.h #-------------------------------------------------------- # Fortran mpif.h MPI bindings #-------------------------------------------------------- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if building Fortran mpif.h bindings" >&5 printf %s "checking if building Fortran mpif.h bindings... " >&6; } if test $ompi_fortran_happy -eq 1 then : OMPI_BUILD_FORTRAN_BINDINGS=$OMPI_FORTRAN_MPIFH_BINDINGS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } else case e in @%:@( e) OMPI_TRY_FORTRAN_BINDINGS=$OMPI_FORTRAN_NO_BINDINGS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac fi # "INTERFACE" is needed for MPI_SIZEOF if test $ompi_fortran_happy -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports INTERFACE" >&5 printf %s "checking if Fortran compiler supports INTERFACE... " >&6; } if test ${ompi_cv_fortran_interface+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 MODULE my_module INTERFACE MPI_Foo SUBROUTINE inky(a) DOUBLE PRECISION A END SUBROUTINE inky SUBROUTINE blinky(a) INTEGER A END SUBROUTINE blinky END INTERFACE MPI_Foo END MODULE my_module _ACEOF if ac_fn_fc_try_compile "$LINENO" then : ompi_cv_fortran_interface=yes else case e in @%:@( e) ompi_cv_fortran_interface=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext touch conftest_foo.mod rm -rf *.mod 2>/dev/null 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 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_interface" >&5 printf "%s\n" "$ompi_cv_fortran_interface" >&6; } if test "x$ompi_cv_fortran_interface" = xyes then : OMPI_FORTRAN_HAVE_INTERFACE=1 else case e in @%:@( e) OMPI_FORTRAN_HAVE_INTERFACE=0 ;; esac fi fi # The iso_fortran_env module is needed for MPI_SIZEOF if test $ompi_fortran_happy -eq 1 then : opal_var_scope_push ${LINENO} iso_fortran_env_kind { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports ISO_FORTRAN_ENV" >&5 printf %s "checking if Fortran compiler supports ISO_FORTRAN_ENV... " >&6; } if test ${ompi_cv_fortran_have_iso_fortran_env+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test $OMPI_HAVE_FORTRAN_REAL16 -eq 1 then : iso_fortran_env_kind=real128 else case e in @%:@( e) iso_fortran_env_kind=real32 ;; esac fi ac_ext=${ac_fc_srcext-f} ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_fc_compiler_gnu cat > conftest.$ac_ext <<_ACEOF program check_for_iso_fortran_env use, intrinsic :: iso_fortran_env real($iso_fortran_env_kind) :: var var = 12.34 end program _ACEOF if ac_fn_fc_try_compile "$LINENO" then : ompi_cv_fortran_have_iso_fortran_env=yes else case e in @%:@( e) ompi_cv_fortran_have_iso_fortran_env=no ;; esac 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 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_have_iso_fortran_env" >&5 printf "%s\n" "$ompi_cv_fortran_have_iso_fortran_env" >&6; } opal_var_scope_pop iso_fortran_env_kind if test "x$ompi_cv_fortran_have_iso_fortran_env" = xyes then : OMPI_FORTRAN_HAVE_ISO_FORTRAN_ENV=1 else case e in @%:@( e) OMPI_FORTRAN_HAVE_ISO_FORTRAN_ENV=0 ;; esac fi fi # The non standard iso_fortran_env:real16 can be used for MPI_SIZEOF OMPI_FORTRAN_HAVE_ISO_FORTRAN_ENV_REAL16=0 if test $ompi_fortran_happy -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports ISO_FORTRAN_ENV:REAL16" >&5 printf %s "checking if Fortran compiler supports ISO_FORTRAN_ENV:REAL16... " >&6; } if test ${ompi_cv_fortran_have_iso_fortran_env_real16+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 check_for_iso_fortran_env_real16 use, intrinsic :: iso_fortran_env real(REAL16) :: var var = 12.34 end program _ACEOF if ac_fn_fc_try_compile "$LINENO" then : ompi_cv_fortran_have_iso_fortran_env_real16=yes else case e in @%:@( e) ompi_cv_fortran_have_iso_fortran_env_real16=no ;; esac 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 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_have_iso_fortran_env_real16" >&5 printf "%s\n" "$ompi_cv_fortran_have_iso_fortran_env_real16" >&6; } if test "x$ompi_cv_fortran_have_iso_fortran_env_real16" = xyes then : OMPI_FORTRAN_HAVE_ISO_FORTRAN_ENV_REAL16=1 fi fi # Ensure that the fortran compiler supports STORAGE_SIZE for # enough relevant types. if test $ompi_fortran_happy -eq 1 then : # Re PR: https://github.com/open-mpi/ompi/pull/3822 # We explored correcting the following syntax to compile with gfortran 4.8 # - size = storage_size(x) / 8 # + size = storage_size(x(1)) / 8 # That allowed gfortran 4.8 to pass this configure test, but fail to # correctly handle mpi_sizeof due to the weak test for INTERFACE in # ompi_fortran_check_interface.m4. Until we can strengthen that configure # check we reverted the commit from PR #3822 to keep the old logic here # so that gfortran 4.8 will disqualify itself correctly for mpi_sizeof() # support. # { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports STORAGE_SIZE for relevant types" >&5 printf %s "checking if Fortran compiler supports STORAGE_SIZE for relevant types... " >&6; } if test ${ompi_cv_fortran_have_storage_size+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 check_for_storage_size USE, INTRINSIC :: iso_fortran_env, ONLY: REAL32, INT32 integer size complex(real32) :: c32 complex(real32), dimension(5) :: c32_array real(real32) :: r32 real(real32), dimension(5) :: r32_array integer(int32) :: i32 integer(int32), dimension(5) :: i32_array call storage_size_complex32_scalar(c32, size) call storage_size_complex32_r1(c32_array, size) call storage_size_int32_scalar(i32, size) call storage_size_int32_r1(i32_array, size) call storage_size_real32_scalar(r32, size) call storage_size_real32_r1(r32_array, size) end program SUBROUTINE storage_size_complex32_scalar(x, size) USE, INTRINSIC :: iso_fortran_env, ONLY: REAL32 COMPLEX(REAL32) ::x INTEGER, INTENT(OUT) :: size size = storage_size(x) / 8 END SUBROUTINE storage_size_complex32_scalar SUBROUTINE storage_size_complex32_r1(x, size) USE, INTRINSIC :: iso_fortran_env, ONLY: REAL32 COMPLEX(REAL32), DIMENSION(*)::x INTEGER, INTENT(OUT) :: size size = storage_size(x) / 8 END SUBROUTINE storage_size_complex32_r1 SUBROUTINE storage_size_int32_scalar(x, size) USE, INTRINSIC :: iso_fortran_env, ONLY: INT32 INTEGER(INT32) ::x INTEGER, INTENT(OUT) :: size size = storage_size(x) / 8 END SUBROUTINE storage_size_int32_scalar SUBROUTINE storage_size_int32_r1(x, size) USE, INTRINSIC :: iso_fortran_env, ONLY: INT32 INTEGER(INT32), DIMENSION(*)::x INTEGER, INTENT(OUT) :: size size = storage_size(x) / 8 END SUBROUTINE storage_size_int32_r1 SUBROUTINE storage_size_real32_scalar(x, size) USE, INTRINSIC :: iso_fortran_env, ONLY: REAL32 REAL(REAL32) ::x INTEGER, INTENT(OUT) :: size size = storage_size(x) / 8 END SUBROUTINE storage_size_real32_scalar SUBROUTINE storage_size_real32_r1(x, size) USE, INTRINSIC :: iso_fortran_env, ONLY: REAL32 REAL(REAL32), DIMENSION(*)::x INTEGER, INTENT(OUT) :: size size = storage_size(x) / 8 END SUBROUTINE storage_size_real32_r1 _ACEOF if ac_fn_fc_try_link "$LINENO" then : ompi_cv_fortran_have_storage_size=yes else case e in @%:@( e) ompi_cv_fortran_have_storage_size=no ;; esac 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 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_have_storage_size" >&5 printf "%s\n" "$ompi_cv_fortran_have_storage_size" >&6; } if test "x$ompi_cv_fortran_have_storage_size" = xyes then : OMPI_FORTRAN_HAVE_STORAGE_SIZE=1 else case e in @%:@( e) OMPI_FORTRAN_HAVE_STORAGE_SIZE=0 ;; esac fi fi # We need INTERFACE, ISO_FORTRAN_ENV, and STORAGE_SIZE() support # to build MPI_SIZEOF support if test $ompi_fortran_happy -eq 1 && \ test $OMPI_FORTRAN_HAVE_INTERFACE -eq 1 && \ test $OMPI_FORTRAN_HAVE_ISO_FORTRAN_ENV -eq 1 && \ test $OMPI_FORTRAN_HAVE_STORAGE_SIZE -eq 1 then : OMPI_FORTRAN_BUILD_SIZEOF=1 else case e in @%:@( e) OMPI_FORTRAN_BUILD_SIZEOF=0 ;; esac fi #-------------------------------------------- # Fortran use mpi or use mpi_f08 MPI bindings #-------------------------------------------- if test $ompi_fortran_happy -eq 1 && \ test $OMPI_TRY_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPI_BINDINGS then : # Look for the fortran module compiler flag OMPI_FC_MODULE_FLAG= { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Fortran compiler module include flag" >&5 printf %s "checking for Fortran compiler module include flag... " >&6; } if test ${ompi_cv_fortran_module_include_flag+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) ofi_possible_flags="-I -p -M" mkdir conftest.$$ cd conftest.$$ # Try to compile a Fortran module mkdir subdir cd subdir cat > conftest-module.f90 <&5 $FC $FCFLAGS $FCFLAGS_f90 -c conftest-module.f90 $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : else case e in @%:@( e) cd .. rm -rf conftest.$$ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Whoops!" >&5 printf "%s\n" "Whoops!" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Cannot seem to compile a Fortran module" >&5 printf "%s\n" "$as_me: WARNING: *** Cannot seem to compile a Fortran module" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} cd .. # # Now try to compile a simple program using that module, iterating # through the possible flags that the compiler might use # cat > conftest.f90 <&5 $FC $FCFLAGS $FCFLAGS_f90 conftest.f90 ${flag}subdir $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ofi_module_flag=$flag else case e in @%:@( e) printf "%s\n" "configure:__oline__: $FC $FCFLAGS $FCFLAGS_f90 conftest.f90 subdir/conftest-module.o \ ${flag}subdir $LDFLAGS $LIBS" >&5 $FC $FCFLAGS $FCFLAGS_f90 conftest.f90 subdir/conftest-module.o \ ${flag}subdir $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ofi_module_flag=$flag fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} fi done if test -n "$ofi_module_flag" then : ompi_cv_fortran_module_include_flag=$ofi_module_flag fi cd .. rm -rf conftest.$$ ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_module_include_flag" >&5 printf "%s\n" "$ompi_cv_fortran_module_include_flag" >&6; } OMPI_FC_MODULE_FLAG=$ompi_cv_fortran_module_include_flag if test "$OMPI_FC_MODULE_FLAG" != "" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Could not determine the fortran compiler flag to indicate where modules reside" >&5 printf "%s\n" "$as_me: WARNING: *** Could not determine the fortran compiler flag to indicate where modules reside" >&2;} as_fn_error $? "*** Cannot continue" "$LINENO" 5 ;; esac fi # Look for ignore TKR syntax opal_var_scope_push ${LINENO} result ignore_tkr_happy type predecl OMPI_FORTRAN_IGNORE_TKR_PREDECL= OMPI_FORTRAN_IGNORE_TKR_TYPE= # Note that we can only cache 1 value at a time, but this test # needs to check for 2 things: the ignore TKR predecl and the # type. So we encode them into a string of the form # <1|0>::. Ugh. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Fortran compiler ignore TKR syntax" >&5 printf %s "checking Fortran compiler ignore TKR syntax... " >&6; } if test ${ompi_cv_fortran_ignore_tkr_data+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) opal_var_scope_push ${LINENO} internal_ignore_tkr_happy ompi_fortran_ignore_tkr_predecl ompi_fortran_ignore_tkr_type # If we were called here, it means that the value was not cached, # so we need to check several different things. Since CACHE_CHECK # puts up a MSG_CHECKING, we need to terminate it with a bogus # answer before doing the individual checks. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not cached; checking variants" >&5 printf "%s\n" "not cached; checking variants" >&6; } # Default values ompi_fortran_ignore_tkr_predecl=! ompi_fortran_ignore_tkr_type=real # Vendor-neutral, TYPE(*) syntax opal_var_scope_push ${LINENO} msg 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 compiler support of TYPE(*), DIMENSION(*)" >&5 printf %s "checking for Fortran compiler support of TYPE(*), DIMENSION(*)... " >&6; } cat > conftest.$ac_ext <<_ACEOF program main ! ! Autoconf puts "program main" at the top implicit none interface subroutine force_assumed_shape(a, count) integer :: count complex, dimension(:,:) :: a end subroutine force_assumed_shape end interface interface subroutine foo(buffer, count) ! buffer type(*), intent(in) :: buffer integer, intent(in) :: count end subroutine foo end interface ! Simple interface with an un-typed first argument (e.g., a choice buffer) integer :: count real :: buffer1(3) character :: buffer2 complex :: buffer3(4,4) complex, pointer, dimension(:,:) :: ptr target :: buffer3 integer :: buffer4 integer :: a ptr => buffer3 ! Set some known values (somewhat irrelevant for this test, but just be ! sure that the values are initialized) a = 17 buffer1(1) = 4.5 buffer1(2) = 6.7 buffer1(3) = 8.9 buffer2 = 'a' ! Call with one type for the first argument call foo(buffer1, count) ! Call with a different type for the first argument call foo(buffer2, count) ! Force us through an assumed shape call force_assumed_shape(buffer3, count) ! Force a pointer call through an assumed shape (!) ptr => buffer3 ! Also try with a simple scalar integer ! (Intel 2016 compiler suite only partially supports GCC pragmas; ! they work with all the above buffer types, but fail with a ! simple scalar integer) call foo(buffer4, count) end program subroutine force_assumed_shape(a, count) integer :: count real, dimension(:,:) :: a call foo(a, count) end subroutine force_assumed_shape module check_ignore_tkr interface subroutine foobar(buffer, count) ! buffer type(*), intent(in) :: buffer integer, intent(in) :: count end subroutine foobar end interface end module subroutine bar(var) use check_ignore_tkr implicit none real, intent(inout) :: var(:, :, :) call foobar(var(1,1,1), 1) ! Autoconf puts "end" after the last line end _ACEOF if ac_fn_fc_try_compile "$LINENO" then : msg=yes ompi_fortran_ignore_tkr_predecl="!" ompi_fortran_ignore_tkr_type="type(*)" internal_ignore_tkr_happy=1 else case e in @%:@( e) msg=no internal_ignore_tkr_happy=0 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $msg" >&5 printf "%s\n" "$msg" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu opal_var_scope_pop msg # GCC compilers if test $internal_ignore_tkr_happy -eq 0 then : opal_var_scope_push ${LINENO} msg 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 compiler support of !GCC\$ ATTRIBUTES NO_ARG_CHECK" >&5 printf %s "checking for Fortran compiler support of !GCC\$ ATTRIBUTES NO_ARG_CHECK... " >&6; } cat > conftest.$ac_ext <<_ACEOF program main ! ! Autoconf puts "program main" at the top implicit none interface subroutine force_assumed_shape(a, count) integer :: count complex, dimension(:,:) :: a end subroutine force_assumed_shape end interface interface subroutine foo(buffer, count) !GCC\$ ATTRIBUTES NO_ARG_CHECK :: buffer type(*), dimension(*), intent(in) :: buffer integer, intent(in) :: count end subroutine foo end interface ! Simple interface with an un-typed first argument (e.g., a choice buffer) integer :: count real :: buffer1(3) character :: buffer2 complex :: buffer3(4,4) complex, pointer, dimension(:,:) :: ptr target :: buffer3 integer :: buffer4 integer :: a ptr => buffer3 ! Set some known values (somewhat irrelevant for this test, but just be ! sure that the values are initialized) a = 17 buffer1(1) = 4.5 buffer1(2) = 6.7 buffer1(3) = 8.9 buffer2 = 'a' ! Call with one type for the first argument call foo(buffer1, count) ! Call with a different type for the first argument call foo(buffer2, count) ! Force us through an assumed shape call force_assumed_shape(buffer3, count) ! Force a pointer call through an assumed shape (!) ptr => buffer3 ! Also try with a simple scalar integer ! (Intel 2016 compiler suite only partially supports GCC pragmas; ! they work with all the above buffer types, but fail with a ! simple scalar integer) call foo(buffer4, count) end program subroutine force_assumed_shape(a, count) integer :: count real, dimension(:,:) :: a call foo(a, count) end subroutine force_assumed_shape module check_ignore_tkr interface subroutine foobar(buffer, count) !GCC\$ ATTRIBUTES NO_ARG_CHECK :: buffer type(*), dimension(*), intent(in) :: buffer integer, intent(in) :: count end subroutine foobar end interface end module subroutine bar(var) use check_ignore_tkr implicit none real, intent(inout) :: var(:, :, :) call foobar(var(1,1,1), 1) ! Autoconf puts "end" after the last line end _ACEOF if ac_fn_fc_try_compile "$LINENO" then : msg=yes ompi_fortran_ignore_tkr_predecl="!GCC\$ ATTRIBUTES NO_ARG_CHECK ::" ompi_fortran_ignore_tkr_type="type(*), dimension(*)" internal_ignore_tkr_happy=1 else case e in @%:@( e) msg=no internal_ignore_tkr_happy=0 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $msg" >&5 printf "%s\n" "$msg" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu opal_var_scope_pop msg fi # LLVM compilers if test $internal_ignore_tkr_happy -eq 0 then : opal_var_scope_push ${LINENO} msg 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 compiler support of !DIR\$ IGNORE_TKR" >&5 printf %s "checking for Fortran compiler support of !DIR\$ IGNORE_TKR... " >&6; } cat > conftest.$ac_ext <<_ACEOF program main ! ! Autoconf puts "program main" at the top implicit none interface subroutine force_assumed_shape(a, count) integer :: count complex, dimension(:,:) :: a end subroutine force_assumed_shape end interface interface subroutine foo(buffer, count) !DIR\$ IGNORE_TKR buffer type(*), intent(in) :: buffer integer, intent(in) :: count end subroutine foo end interface ! Simple interface with an un-typed first argument (e.g., a choice buffer) integer :: count real :: buffer1(3) character :: buffer2 complex :: buffer3(4,4) complex, pointer, dimension(:,:) :: ptr target :: buffer3 integer :: buffer4 integer :: a ptr => buffer3 ! Set some known values (somewhat irrelevant for this test, but just be ! sure that the values are initialized) a = 17 buffer1(1) = 4.5 buffer1(2) = 6.7 buffer1(3) = 8.9 buffer2 = 'a' ! Call with one type for the first argument call foo(buffer1, count) ! Call with a different type for the first argument call foo(buffer2, count) ! Force us through an assumed shape call force_assumed_shape(buffer3, count) ! Force a pointer call through an assumed shape (!) ptr => buffer3 ! Also try with a simple scalar integer ! (Intel 2016 compiler suite only partially supports GCC pragmas; ! they work with all the above buffer types, but fail with a ! simple scalar integer) call foo(buffer4, count) end program subroutine force_assumed_shape(a, count) integer :: count real, dimension(:,:) :: a call foo(a, count) end subroutine force_assumed_shape module check_ignore_tkr interface subroutine foobar(buffer, count) !DIR\$ IGNORE_TKR buffer type(*), intent(in) :: buffer integer, intent(in) :: count end subroutine foobar end interface end module subroutine bar(var) use check_ignore_tkr implicit none real, intent(inout) :: var(:, :, :) call foobar(var(1,1,1), 1) ! Autoconf puts "end" after the last line end _ACEOF if ac_fn_fc_try_compile "$LINENO" then : msg=yes ompi_fortran_ignore_tkr_predecl="!DIR\$ IGNORE_TKR" ompi_fortran_ignore_tkr_type="type(*)" internal_ignore_tkr_happy=1 else case e in @%:@( e) msg=no internal_ignore_tkr_happy=0 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $msg" >&5 printf "%s\n" "$msg" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu opal_var_scope_pop msg fi # Intel compilers if test $internal_ignore_tkr_happy -eq 0 then : opal_var_scope_push ${LINENO} msg 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 compiler support of !DEC\$ ATTRIBUTES NO_ARG_CHECK" >&5 printf %s "checking for Fortran compiler support of !DEC\$ ATTRIBUTES NO_ARG_CHECK... " >&6; } cat > conftest.$ac_ext <<_ACEOF program main ! ! Autoconf puts "program main" at the top implicit none interface subroutine force_assumed_shape(a, count) integer :: count complex, dimension(:,:) :: a end subroutine force_assumed_shape end interface interface subroutine foo(buffer, count) !DEC\$ ATTRIBUTES NO_ARG_CHECK :: buffer real, dimension(*), intent(in) :: buffer integer, intent(in) :: count end subroutine foo end interface ! Simple interface with an un-typed first argument (e.g., a choice buffer) integer :: count real :: buffer1(3) character :: buffer2 complex :: buffer3(4,4) complex, pointer, dimension(:,:) :: ptr target :: buffer3 integer :: buffer4 integer :: a ptr => buffer3 ! Set some known values (somewhat irrelevant for this test, but just be ! sure that the values are initialized) a = 17 buffer1(1) = 4.5 buffer1(2) = 6.7 buffer1(3) = 8.9 buffer2 = 'a' ! Call with one type for the first argument call foo(buffer1, count) ! Call with a different type for the first argument call foo(buffer2, count) ! Force us through an assumed shape call force_assumed_shape(buffer3, count) ! Force a pointer call through an assumed shape (!) ptr => buffer3 ! Also try with a simple scalar integer ! (Intel 2016 compiler suite only partially supports GCC pragmas; ! they work with all the above buffer types, but fail with a ! simple scalar integer) call foo(buffer4, count) end program subroutine force_assumed_shape(a, count) integer :: count real, dimension(:,:) :: a call foo(a, count) end subroutine force_assumed_shape module check_ignore_tkr interface subroutine foobar(buffer, count) !DEC\$ ATTRIBUTES NO_ARG_CHECK :: buffer real, dimension(*), intent(in) :: buffer integer, intent(in) :: count end subroutine foobar end interface end module subroutine bar(var) use check_ignore_tkr implicit none real, intent(inout) :: var(:, :, :) call foobar(var(1,1,1), 1) ! Autoconf puts "end" after the last line end _ACEOF if ac_fn_fc_try_compile "$LINENO" then : msg=yes ompi_fortran_ignore_tkr_predecl="!DEC\$ ATTRIBUTES NO_ARG_CHECK ::" ompi_fortran_ignore_tkr_type="real, dimension(*)" internal_ignore_tkr_happy=1 else case e in @%:@( e) msg=no internal_ignore_tkr_happy=0 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $msg" >&5 printf "%s\n" "$msg" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu opal_var_scope_pop msg fi # Solaris Studio compilers # Note that due to a compiler bug, we have been advised by Oracle to # use the "character(*)" type if test $internal_ignore_tkr_happy -eq 0 then : opal_var_scope_push ${LINENO} msg 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 compiler support of !\$PRAGMA IGNORE_TKR" >&5 printf %s "checking for Fortran compiler support of !\$PRAGMA IGNORE_TKR... " >&6; } cat > conftest.$ac_ext <<_ACEOF program main ! ! Autoconf puts "program main" at the top implicit none interface subroutine force_assumed_shape(a, count) integer :: count complex, dimension(:,:) :: a end subroutine force_assumed_shape end interface interface subroutine foo(buffer, count) !\$PRAGMA IGNORE_TKR buffer character(*), intent(in) :: buffer integer, intent(in) :: count end subroutine foo end interface ! Simple interface with an un-typed first argument (e.g., a choice buffer) integer :: count real :: buffer1(3) character :: buffer2 complex :: buffer3(4,4) complex, pointer, dimension(:,:) :: ptr target :: buffer3 integer :: buffer4 integer :: a ptr => buffer3 ! Set some known values (somewhat irrelevant for this test, but just be ! sure that the values are initialized) a = 17 buffer1(1) = 4.5 buffer1(2) = 6.7 buffer1(3) = 8.9 buffer2 = 'a' ! Call with one type for the first argument call foo(buffer1, count) ! Call with a different type for the first argument call foo(buffer2, count) ! Force us through an assumed shape call force_assumed_shape(buffer3, count) ! Force a pointer call through an assumed shape (!) ptr => buffer3 ! Also try with a simple scalar integer ! (Intel 2016 compiler suite only partially supports GCC pragmas; ! they work with all the above buffer types, but fail with a ! simple scalar integer) call foo(buffer4, count) end program subroutine force_assumed_shape(a, count) integer :: count real, dimension(:,:) :: a call foo(a, count) end subroutine force_assumed_shape module check_ignore_tkr interface subroutine foobar(buffer, count) !\$PRAGMA IGNORE_TKR buffer character(*), intent(in) :: buffer integer, intent(in) :: count end subroutine foobar end interface end module subroutine bar(var) use check_ignore_tkr implicit none real, intent(inout) :: var(:, :, :) call foobar(var(1,1,1), 1) ! Autoconf puts "end" after the last line end _ACEOF if ac_fn_fc_try_compile "$LINENO" then : msg=yes ompi_fortran_ignore_tkr_predecl="!\$PRAGMA IGNORE_TKR" ompi_fortran_ignore_tkr_type="character(*)" internal_ignore_tkr_happy=1 else case e in @%:@( e) msg=no internal_ignore_tkr_happy=0 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $msg" >&5 printf "%s\n" "$msg" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu opal_var_scope_pop msg fi # Cray compilers if test $internal_ignore_tkr_happy -eq 0 then : opal_var_scope_push ${LINENO} msg 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 compiler support of !DIR\$ IGNORE_TKR" >&5 printf %s "checking for Fortran compiler support of !DIR\$ IGNORE_TKR... " >&6; } cat > conftest.$ac_ext <<_ACEOF program main ! ! Autoconf puts "program main" at the top implicit none interface subroutine force_assumed_shape(a, count) integer :: count complex, dimension(:,:) :: a end subroutine force_assumed_shape end interface interface subroutine foo(buffer, count) !DIR\$ IGNORE_TKR buffer real, dimension(*), intent(in) :: buffer integer, intent(in) :: count end subroutine foo end interface ! Simple interface with an un-typed first argument (e.g., a choice buffer) integer :: count real :: buffer1(3) character :: buffer2 complex :: buffer3(4,4) complex, pointer, dimension(:,:) :: ptr target :: buffer3 integer :: buffer4 integer :: a ptr => buffer3 ! Set some known values (somewhat irrelevant for this test, but just be ! sure that the values are initialized) a = 17 buffer1(1) = 4.5 buffer1(2) = 6.7 buffer1(3) = 8.9 buffer2 = 'a' ! Call with one type for the first argument call foo(buffer1, count) ! Call with a different type for the first argument call foo(buffer2, count) ! Force us through an assumed shape call force_assumed_shape(buffer3, count) ! Force a pointer call through an assumed shape (!) ptr => buffer3 ! Also try with a simple scalar integer ! (Intel 2016 compiler suite only partially supports GCC pragmas; ! they work with all the above buffer types, but fail with a ! simple scalar integer) call foo(buffer4, count) end program subroutine force_assumed_shape(a, count) integer :: count real, dimension(:,:) :: a call foo(a, count) end subroutine force_assumed_shape module check_ignore_tkr interface subroutine foobar(buffer, count) !DIR\$ IGNORE_TKR buffer real, dimension(*), intent(in) :: buffer integer, intent(in) :: count end subroutine foobar end interface end module subroutine bar(var) use check_ignore_tkr implicit none real, intent(inout) :: var(:, :, :) call foobar(var(1,1,1), 1) ! Autoconf puts "end" after the last line end _ACEOF if ac_fn_fc_try_compile "$LINENO" then : msg=yes ompi_fortran_ignore_tkr_predecl="!DIR\$ IGNORE_TKR" ompi_fortran_ignore_tkr_type="real, dimension(*)" internal_ignore_tkr_happy=1 else case e in @%:@( e) msg=no internal_ignore_tkr_happy=0 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $msg" >&5 printf "%s\n" "$msg" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu opal_var_scope_pop msg fi # IBM compilers if test $internal_ignore_tkr_happy -eq 0 then : opal_var_scope_push ${LINENO} msg 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 compiler support of !IBM* IGNORE_TKR" >&5 printf %s "checking for Fortran compiler support of !IBM* IGNORE_TKR... " >&6; } cat > conftest.$ac_ext <<_ACEOF program main ! ! Autoconf puts "program main" at the top implicit none interface subroutine force_assumed_shape(a, count) integer :: count complex, dimension(:,:) :: a end subroutine force_assumed_shape end interface interface subroutine foo(buffer, count) !IBM* IGNORE_TKR buffer real, dimension(*), intent(in) :: buffer integer, intent(in) :: count end subroutine foo end interface ! Simple interface with an un-typed first argument (e.g., a choice buffer) integer :: count real :: buffer1(3) character :: buffer2 complex :: buffer3(4,4) complex, pointer, dimension(:,:) :: ptr target :: buffer3 integer :: buffer4 integer :: a ptr => buffer3 ! Set some known values (somewhat irrelevant for this test, but just be ! sure that the values are initialized) a = 17 buffer1(1) = 4.5 buffer1(2) = 6.7 buffer1(3) = 8.9 buffer2 = 'a' ! Call with one type for the first argument call foo(buffer1, count) ! Call with a different type for the first argument call foo(buffer2, count) ! Force us through an assumed shape call force_assumed_shape(buffer3, count) ! Force a pointer call through an assumed shape (!) ptr => buffer3 ! Also try with a simple scalar integer ! (Intel 2016 compiler suite only partially supports GCC pragmas; ! they work with all the above buffer types, but fail with a ! simple scalar integer) call foo(buffer4, count) end program subroutine force_assumed_shape(a, count) integer :: count real, dimension(:,:) :: a call foo(a, count) end subroutine force_assumed_shape module check_ignore_tkr interface subroutine foobar(buffer, count) !IBM* IGNORE_TKR buffer real, dimension(*), intent(in) :: buffer integer, intent(in) :: count end subroutine foobar end interface end module subroutine bar(var) use check_ignore_tkr implicit none real, intent(inout) :: var(:, :, :) call foobar(var(1,1,1), 1) ! Autoconf puts "end" after the last line end _ACEOF if ac_fn_fc_try_compile "$LINENO" then : msg=yes ompi_fortran_ignore_tkr_predecl="!IBM* IGNORE_TKR" ompi_fortran_ignore_tkr_type="real, dimension(*)" internal_ignore_tkr_happy=1 else case e in @%:@( e) msg=no internal_ignore_tkr_happy=0 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $msg" >&5 printf "%s\n" "$msg" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu opal_var_scope_pop msg fi ompi_cv_fortran_ignore_tkr_data=${internal_ignore_tkr_happy}:${ompi_fortran_ignore_tkr_type}:${ompi_fortran_ignore_tkr_predecl} # Now put the original CACHE_CHECK MSG_CHECKING back so that it can # output the MSG_RESULT. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Fortran compiler ignore TKR syntax" >&5 printf %s "checking Fortran compiler ignore TKR syntax... " >&6; } opal_var_scope_pop internal_ignore_tkr_happy ompi_fortran_ignore_tkr_predecl ompi_fortran_ignore_tkr_type ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_ignore_tkr_data" >&5 printf "%s\n" "$ompi_cv_fortran_ignore_tkr_data" >&6; } result=$ompi_cv_fortran_ignore_tkr_data # Parse the result ignore_tkr_happy=`echo $result | cut -d: -f1` type=`echo $result | cut -d: -f2` predecl=`echo $result | cut -d: -f3-` if test $ignore_tkr_happy -eq 1 then : OMPI_FORTRAN_IGNORE_TKR_PREDECL=$predecl OMPI_FORTRAN_IGNORE_TKR_TYPE=$type OMPI_FORTRAN_HAVE_IGNORE_TKR=1 fi opal_var_scope_pop result ignore_tkr_happy type predecl fi # If we got here, we can build the mpi module if it was requested. # Decide whether to build the ignore TKR version or the # non-ignore-TKR/legacy version. if test $OMPI_TRY_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPI_BINDINGS && \ test $ompi_fortran_happy -eq 1 then : OMPI_BUILD_FORTRAN_BINDINGS=$OMPI_FORTRAN_USEMPI_BINDINGS if test $OMPI_FORTRAN_HAVE_IGNORE_TKR -eq 1 then : OMPI_FORTRAN_USEMPI_DIR=mpi/fortran/use-mpi-ignore-tkr OMPI_FORTRAN_USEMPI_LIB=-l${with_libmpi_name}_usempi_ignore_tkr else case e in @%:@( e) OMPI_FORTRAN_USEMPI_DIR=mpi/fortran/use-mpi-tkr OMPI_FORTRAN_USEMPI_LIB=-l${with_libmpi_name}_usempi ;; esac fi fi OMPI_FORTRAN_HAVE_ISO_C_BINDING=0 if test $OMPI_TRY_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPI_BINDINGS && \ test $ompi_fortran_happy -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports ISO_C_BINDING" >&5 printf %s "checking if Fortran compiler supports ISO_C_BINDING... " >&6; } if test ${ompi_cv_fortran_have_iso_c_binding+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 check_for_iso_c_binding use, intrinsic :: iso_c_binding type CType integer(C_INT) :: i end type end program _ACEOF if ac_fn_fc_try_compile "$LINENO" then : ompi_cv_fortran_have_iso_c_binding=yes else case e in @%:@( e) ompi_cv_fortran_have_iso_c_binding=no ;; esac 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 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_have_iso_c_binding" >&5 printf "%s\n" "$ompi_cv_fortran_have_iso_c_binding" >&6; } if test "x$ompi_cv_fortran_have_iso_c_binding" = xyes then : OMPI_FORTRAN_HAVE_ISO_C_BINDING=1 else case e in @%:@( e) OMPI_FORTRAN_HAVE_ISO_C_BINDING=0 ;; esac fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if building Fortran 'use mpi' bindings" >&5 printf %s "checking if building Fortran 'use mpi' bindings... " >&6; } if test $OMPI_BUILD_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPI_BINDINGS then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } else case e in @%:@( e) OMPI_TRY_FORTRAN_BINDINGS=$OMPI_FORTRAN_MPIFH_BINDINGS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac fi OMPI_FORTRAN_HAVE_BIND_C_TYPE=0 OMPI_FORTRAN_HAVE_TYPE_MPI_STATUS=0 if test $OMPI_BUILD_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPI_BINDINGS then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports TYPE, BIND(C)" >&5 printf %s "checking if Fortran compiler supports TYPE, BIND(C)... " >&6; } if test ${ompi_cv_fortran_have_bind_c_type+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 module bindc_test use, intrinsic :: iso_c_binding type, bind(c) :: foo integer :: value end type foo end module _ACEOF if ac_fn_fc_try_compile "$LINENO" then : ompi_cv_fortran_have_bind_c_type=yes else case e in @%:@( e) ompi_cv_fortran_have_bind_c_type=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext rm -rf *.mod 2>/dev/null 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 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_have_bind_c_type" >&5 printf "%s\n" "$ompi_cv_fortran_have_bind_c_type" >&6; } if test "x$ompi_cv_fortran_have_bind_c_type" = xyes then : OMPI_FORTRAN_HAVE_BIND_C_TYPE=1 OMPI_FORTRAN_HAVE_TYPE_MPI_STATUS=1 fi fi if test $OMPI_FORTRAN_HAVE_TYPE_MPI_STATUS -eq 1; then OMPI_FORTRAN_HAVE_TYPE_MPI_STATUS_TRUE= OMPI_FORTRAN_HAVE_TYPE_MPI_STATUS_FALSE='#' else OMPI_FORTRAN_HAVE_TYPE_MPI_STATUS_TRUE='#' OMPI_FORTRAN_HAVE_TYPE_MPI_STATUS_FALSE= fi #--------------------------------- # Fortran use mpi_f08 MPI bindings #--------------------------------- # If we got all the stuff from above, then also look for the new # F08 syntax that we can use for the use_mpif08 module. # We need to have ignore TKR functionality to build the mpi_f08 # module if test $OMPI_TRY_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS && \ test $OMPI_FORTRAN_HAVE_IGNORE_TKR -eq 1 then : OMPI_BUILD_FORTRAN_BINDINGS=$OMPI_FORTRAN_USEMPIF08_BINDINGS OMPI_FORTRAN_F08_PREDECL=$OMPI_FORTRAN_IGNORE_TKR_PREDECL OMPI_FORTRAN_F08_TYPE=$OMPI_FORTRAN_IGNORE_TKR_TYPE fi # The overall "_BIND_C" variable will be set to 1 if we have all # the necessary forms of BIND(C) OMPI_FORTRAN_HAVE_BIND_C=0 if test $OMPI_TRY_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS && \ test $OMPI_BUILD_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS then : # If we don't have ISO C bindings, we won't build mpi_f08 at all if test "$OMPI_FORTRAN_HAVE_ISO_C_BINDING" -eq 0 then : OMPI_BUILD_FORTRAN_BINDINGS=$OMPI_FORTRAN_USEMPI_BINDINGS fi fi OMPI_FORTRAN_HAVE_BIND_C_SUB=0 if test $OMPI_TRY_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS && \ test $OMPI_BUILD_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS then : # If we don't have SUBROUTINE BIND(C), we won't build mpi_f08 at all { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports SUBROUTINE BIND(C)" >&5 printf %s "checking if Fortran compiler supports SUBROUTINE BIND(C)... " >&6; } if test ${ompi_cv_fortran_have_bind_c_sub+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 check_for_bind_c_sub use, intrinsic :: iso_c_binding interface subroutine foo(i) bind(c) integer :: i end subroutine foo end interface end program _ACEOF if ac_fn_fc_try_compile "$LINENO" then : ompi_cv_fortran_have_bind_c_sub=yes else case e in @%:@( e) ompi_cv_fortran_have_bind_c_sub=no ;; esac 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 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_have_bind_c_sub" >&5 printf "%s\n" "$ompi_cv_fortran_have_bind_c_sub" >&6; } if test "x$ompi_cv_fortran_have_bind_c_sub" = xyes then : OMPI_FORTRAN_HAVE_BIND_C_SUB=1 else case e in @%:@( e) OMPI_FORTRAN_HAVE_BIND_C_SUB=0 OMPI_BUILD_FORTRAN_BINDINGS=$OMPI_FORTRAN_USEMPI_BINDINGS ;; esac fi fi if test $OMPI_TRY_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS && \ test $OMPI_BUILD_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS then : # If we don't have TYPE, BIND(C), we won't build mpi_f08 at all if test $OMPI_FORTRAN_HAVE_BIND_C_TYPE -ne 1 then : OMPI_BUILD_FORTRAN_BINDINGS=$OMPI_FORTRAN_USEMPI_BINDINGS fi fi # Per discussion on the devel list starting here: # https://www.open-mpi.org/community/lists/devel/2014/01/13799.php # we need a new litmus test to disqualify older Fortran compilers # (e.g., Pathscale 4.0.12) that *seem* to support all the Right # Things, but a) do not support BIND(C, name="super_long_name") or # b) run into an internal error when compiling our mpi_f08 module. # Testing for b) is sketchy at best. But OMPI has some BIND(C) # names that are >32 characters, and the same compilers that # exhibit b) also seem to not support BIND(C) names that are >32 # characters (i.e., a)). Hence, the following BIND(C) test checks # to ensure that BIND(C, name="foo") works, where "foo" is # actually a name >32 characters. OMPI_FORTRAN_HAVE_BIND_C_TYPE_NAME=0 if test $OMPI_TRY_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS && \ test $OMPI_BUILD_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS then : # If we don't have TYPE, BIND(C, name="foo"), we won't build mpi_f08 at all # See comment in ompi_setup_mpi_fortran.m4: it is important that # the bind(c) name in this text is longer than 32 characters. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports TYPE(type), BIND(C, NAME=\"name\")" >&5 printf %s "checking if Fortran compiler supports TYPE(type), BIND(C, NAME=\"name\")... " >&6; } if test ${ompi_cv_fortran_have_bind_c_type_name+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 module bindc_test use, intrinsic :: iso_c_binding type, bind(c) :: foo integer :: value end type foo type(foo), bind(c, name="really_long_name_longer_than_32_chars") :: bar end module _ACEOF if ac_fn_fc_try_compile "$LINENO" then : ompi_cv_fortran_have_bind_c_type_name=yes else case e in @%:@( e) ompi_cv_fortran_have_bind_c_type_name=no ;; esac 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 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_have_bind_c_type_name" >&5 printf "%s\n" "$ompi_cv_fortran_have_bind_c_type_name" >&6; } if test "x$ompi_cv_fortran_have_bind_c_type_name" = xyes then : # If we got here, we have all the required forms of # BIND(C), so set the top-level _BIND_C variable to 1. OMPI_FORTRAN_HAVE_BIND_C=1 OMPI_FORTRAN_HAVE_BIND_C_TYPE_NAME=1 else case e in @%:@( e) OMPI_FORTRAN_HAVE_BIND_C_TYPE_NAME=0 OMPI_BUILD_FORTRAN_BINDINGS=$OMPI_FORTRAN_USEMPI_BINDINGS ;; esac fi fi # Per https://svn.open-mpi.org/trac/ompi/ticket/4590, if the # Fortran compiler doesn't support PROCEDURE in the way we # want/need, disable the mpi_f08 module. OMPI_FORTRAN_HAVE_PROCEDURE=0 if test $OMPI_TRY_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS && \ test $OMPI_BUILD_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS then : # Does the compiler support "procedure" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports PROCEDURE" >&5 printf %s "checking if Fortran compiler supports PROCEDURE... " >&6; } if test ${ompi_cv_fortran_procedure+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 MODULE proc_mod INTERFACE SUBROUTINE MPI_User_function END SUBROUTINE END INTERFACE END MODULE proc_mod PROGRAM test_proc INTERFACE SUBROUTINE binky(user_fn) USE proc_mod PROCEDURE(MPI_User_function) :: user_fn END SUBROUTINE END INTERFACE END PROGRAM _ACEOF if ac_fn_fc_try_compile "$LINENO" then : ompi_cv_fortran_procedure=yes else case e in @%:@( e) ompi_cv_fortran_procedure=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext touch conftest_foo.mod rm -rf *.mod 2>/dev/null 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 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_procedure" >&5 printf "%s\n" "$ompi_cv_fortran_procedure" >&6; } if test "x$ompi_cv_fortran_procedure" = xyes then : OMPI_FORTRAN_HAVE_PROCEDURE=1 else case e in @%:@( e) OMPI_FORTRAN_HAVE_PROCEDURE=0 OMPI_BUILD_FORTRAN_BINDINGS=$OMPI_FORTRAN_USEMPI_BINDINGS ;; esac fi fi # Per https://github.com/open-mpi/ompi/issues/857, if the Fortran # compiler doesn't properly support "USE ... ONLY" notation, # disable the mpi_f08 module. OMPI_FORTRAN_HAVE_USE_ONLY=0 if test $OMPI_TRY_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS && \ test $OMPI_BUILD_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS then : # Does the compiler support "USE ... ONLY" opal_var_scope_push ${LINENO} FCFLAGS_save FCFLAGS_save=$FCFLAGS FCFLAGS="-I. $FCFLAGS" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports USE...ONLY" >&5 printf %s "checking if Fortran compiler supports USE...ONLY... " >&6; } if test ${ompi_cv_fortran_use_only+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > aaa.f90 << EOF MODULE aaa INTEGER :: CMON(1) COMMON/CMMON/CMON INTEGER :: global_aaa END MODULE aaa EOF cat > bbb.f90 << EOF MODULE bbb integer, bind(C, name="cmmon_") :: CMON INTEGER :: global_bbb END MODULE bbb EOF printf "%s\n" "configure:__oline__: $FC $FCFLAGS -c aaa.f90" >&5 $FC $FCFLAGS -c aaa.f90 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $FC $FCFLAGS -c bbb.f90" >&5 $FC $FCFLAGS -c bbb.f90 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : cat > conftest.$ac_ext <<_ACEOF PROGRAM test USE aaa, ONLY : global_aaa USE bbb, ONLY : global_bbb implicit none END PROGRAM _ACEOF if ac_fn_fc_try_compile "$LINENO" then : ompi_cv_fortran_use_only=yes else case e in @%:@( e) ompi_cv_fortran_use_only=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext else case e in @%:@( e) ompi_cv_fortran_use_only=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) ompi_cv_fortran_use_only=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} rm -rf aaa.f90 aaa.o bbb.f90 bbb.o *.mod 2>/dev/null 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 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_use_only" >&5 printf "%s\n" "$ompi_cv_fortran_use_only" >&6; } if test "x$ompi_cv_fortran_use_only" = xyes then : OMPI_FORTRAN_HAVE_USE_ONLY=1 else case e in @%:@( e) OMPI_FORTRAN_HAVE_USE_ONLY=0 OMPI_BUILD_FORTRAN_BINDINGS=$OMPI_FORTRAN_USEMPI_BINDINGS ;; esac fi FCFLAGS=$FCFLAGS_save opal_var_scope_pop FCFLAGS_save fi OMPI_FORTRAN_HAVE_OPTIONAL_ARGS=0 if test $OMPI_TRY_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS && \ test $OMPI_BUILD_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS then : # Does the compiler have optional arguments? { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports optional arguments" >&5 printf %s "checking if Fortran compiler supports optional arguments... " >&6; } if test ${ompi_cv_fortran_optional+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 check_for_optional use, intrinsic :: iso_c_binding interface subroutine check_op(i, ierror) integer, intent(in), value :: i integer, intent(out), optional :: ierror end subroutine check_op end interface integer :: ierror call check_op(0) call check_op(1, ierror) end program _ACEOF if ac_fn_fc_try_compile "$LINENO" then : ompi_cv_fortran_optional=yes else case e in @%:@( e) ompi_cv_fortran_optional=no ;; esac 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 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_optional" >&5 printf "%s\n" "$ompi_cv_fortran_optional" >&6; } if test "x$ompi_cv_fortran_optional" = xyes then : OMPI_FORTRAN_HAVE_OPTIONAL_ARGS=1 else case e in @%:@( e) OMPI_FORTRAN_HAVE_OPTIONAL_ARGS=0 OMPI_BUILD_FORTRAN_BINDINGS=$OMPI_FORTRAN_USEMPI_BINDINGS ;; esac fi fi OMPI_FORTRAN_HAVE_C_FUNLOC=0 if test $OMPI_TRY_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS && \ test $OMPI_BUILD_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS then : # Does the compiler supports c_funloc per # TS 29113 subclause 8.1 ? { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports C_FUNLOC/TS 29113" >&5 printf %s "checking if Fortran compiler supports C_FUNLOC/TS 29113... " >&6; } if test ${ompi_cv_fortran_c_funloc+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 abstract interface subroutine MPI_Comm_errhandler_function(comm, error_code) implicit none integer :: comm, error_code end subroutine end interface contains subroutine mysub(fn) use, intrinsic :: iso_c_binding, only : c_funloc, c_funptr procedure(MPI_Comm_errhandler_function) :: comm_errhandler_fn type(c_funptr) :: comm_errhandler_fn_c comm_errhandler_fn_c = c_funloc(comm_errhandler_fn) end subroutine mysub end program _ACEOF if ac_fn_fc_try_compile "$LINENO" then : ompi_cv_fortran_c_funloc=yes else case e in @%:@( e) ompi_cv_fortran_c_funloc=no ;; esac 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 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_c_funloc" >&5 printf "%s\n" "$ompi_cv_fortran_c_funloc" >&6; } if test "x$ompi_cv_fortran_c_funloc" = xyes then : OMPI_FORTRAN_HAVE_C_FUNLOC=1 else case e in @%:@( e) OMPI_FORTRAN_HAVE_C_FUNLOC=0 OMPI_BUILD_FORTRAN_BINDINGS=$OMPI_FORTRAN_USEMPI_BINDINGS ;; esac fi fi OMPI_FORTRAN_HAVE_PRIVATE=0 if test $OMPI_TRY_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS && \ test $OMPI_BUILD_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS then : # Does the compiler support "private" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports PRIVATE" >&5 printf %s "checking if Fortran compiler supports PRIVATE... " >&6; } if test ${ompi_cv_fortran_private+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 module test_for_private type :: derived_with_private integer :: this_is_a_public_integer integer, private :: this_is_a_private_integer end type derived_with_private end module test_for_private _ACEOF if ac_fn_fc_try_compile "$LINENO" then : ompi_cv_fortran_private=yes else case e in @%:@( e) ompi_cv_fortran_private=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext touch conftest_foo.mod rm -rf *.mod 2>/dev/null 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 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_private" >&5 printf "%s\n" "$ompi_cv_fortran_private" >&6; } if test "x$ompi_cv_fortran_private" = xyes then : OMPI_FORTRAN_HAVE_PRIVATE=1 else case e in @%:@( e) OMPI_FORTRAN_HAVE_PRIVATE=0 ;; esac fi fi OMPI_FORTRAN_HAVE_ABSTRACT=0 if test $OMPI_TRY_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS && \ test $OMPI_BUILD_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS then : # Does the compiler support "abstract" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports ABSTRACT" >&5 printf %s "checking if Fortran compiler supports ABSTRACT... " >&6; } if test ${ompi_cv_fortran_abstract+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 MODULE abstract_mod ABSTRACT INTERFACE SUBROUTINE binky END SUBROUTINE END INTERFACE END MODULE abstract_mod _ACEOF if ac_fn_fc_try_compile "$LINENO" then : ompi_cv_fortran_abstract=yes else case e in @%:@( e) ompi_cv_fortran_abstract=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext touch conftest_foo.mod rm -rf *.mod 2>/dev/null 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 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_abstract" >&5 printf "%s\n" "$ompi_cv_fortran_abstract" >&6; } if test "x$ompi_cv_fortran_abstract" = xyes then : OMPI_FORTRAN_HAVE_ABSTRACT=1 else case e in @%:@( e) OMPI_FORTRAN_HAVE_ABSTRACT=0 ;; esac fi fi OMPI_FORTRAN_HAVE_ASYNCHRONOUS=0 if test $OMPI_TRY_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS && \ test $OMPI_BUILD_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS then : # Does the compiler support "asynchronous" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports ASYNCHRONOUS" >&5 printf %s "checking if Fortran compiler supports ASYNCHRONOUS... " >&6; } if test ${ompi_cv_fortran_asynchronous+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 MODULE asynch_mod INTERFACE SUBROUTINE binky(buf) REAL, DIMENSION(*), ASYNCHRONOUS :: buf END SUBROUTINE END INTERFACE CONTAINS SUBROUTINE wookie(buf) REAL, DIMENSION(*), ASYNCHRONOUS :: buf END SUBROUTINE END MODULE asynch_mod _ACEOF if ac_fn_fc_try_compile "$LINENO" then : ompi_cv_fortran_asynchronous=yes else case e in @%:@( e) ompi_cv_fortran_asynchronous=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext touch conftest_foo.mod rm -rf *.mod 2>/dev/null 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 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_asynchronous" >&5 printf "%s\n" "$ompi_cv_fortran_asynchronous" >&6; } if test "x$ompi_cv_fortran_asynchronous" = xyes then : OMPI_FORTRAN_HAVE_ASYNCHRONOUS=1 else case e in @%:@( e) OMPI_FORTRAN_HAVE_ASYNCHRONOUS=0 ;; esac fi fi OMPI_FORTRAN_F08_HANDLE_SIZE=4 OMPI_FORTRAN_F08_HANDLE_ALIGNMENT=4 if test $OMPI_TRY_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS && \ test $OMPI_BUILD_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS then : # How big are derived types with a single INTEGER? # Use of m4_translit suggested by Eric Blake: # http://lists.gnu.org/archive/html/bug-autoconf/2010-10/msg00016.html as_type_var=`printf "%s\n" "ompi_cv_fortran_sizeof_type(test_mpi_handle)" | sed "$as_sed_sh"` { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of Fortran type(test_mpi_handle)" >&5 printf %s "checking size of Fortran type(test_mpi_handle)... " >&6; } if eval test \${$as_type_var+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : happy="yes" else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) happy="no" ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} if test "$happy" = "no" ; then if test -n "1" then : printf "%s\n" "configure:__oline__: here is the Fortran program:" >&5 else case e in @%:@( e) printf "%s\n" here is the Fortran program: >&5 ;; esac 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 type(test_mpi_handle)" >&5 printf "%s\n" "$as_me: WARNING: Could not determine size of type(test_mpi_handle)" >&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 type(test_mpi_handle) when cross-compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : eval "$as_type_var=\`cat conftestval\`" else case e in @%:@( e) as_fn_error $? "Could not determine size of type(test_mpi_handle)" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi unset happy ompi_conftest_h rm -rf conftest* ;; esac 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; } eval OMPI_FORTRAN_F08_HANDLE_SIZE=\$$as_type_var # Use of m4_translit suggested by Eric Blake: # http://lists.gnu.org/archive/html/bug-autoconf/2010-10/msg00016.html as_type_var=`printf "%s\n" "ompi_cv_fortran_alignment_type(test_mpi_handle)" | sed "$as_sed_sh"` { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking alignment of Fortran type(test_mpi_handle)" >&5 printf %s "checking alignment of Fortran type(test_mpi_handle)... " >&6; } if eval test \${$as_type_var+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 module alignment_mod type, BIND(C) :: test_mpi_handle integer :: MPI_VAL end type test_mpi_handle type(test_mpi_handle) :: t1 type(test_mpi_handle) :: t2 end module program falignment use alignment_mod OPEN(UNIT=10, FILE="conftestval") if (LOC(t1) > LOC(t2)) then write (10,'(I5)') LOC(t1)-LOC(t2) else write (10,'(I5)') LOC(t2)-LOC(t1) endif CLOSE(10) end program _ACEOF if ac_fn_fc_try_link "$LINENO" then : if test "$cross_compiling" = "yes" then : as_fn_error $? "Can not determine alignment of type(test_mpi_handle) when cross-compiling" "$LINENO" 5 else case e in @%:@( e) printf "%s\n" "configure:__oline__: ./conftest" >&5 ./conftest 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : eval "$as_type_var=\`cat conftestval\`" else case e in @%:@( e) as_fn_error $? "Could not determine alignment of type(test_mpi_handle)" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} ;; esac fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not determine alignment of type(test_mpi_handle)" >&5 printf "%s\n" "$as_me: WARNING: Could not determine alignment of type(test_mpi_handle)" >&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 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext rm -rf conftest* *.mod 2> /dev/null 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 ;; esac 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; } eval OMPI_FORTRAN_F08_HANDLE_ALIGNMENT=\$$as_type_var fi OMPI_FORTRAN_NEED_WRAPPER_ROUTINES=1 OMPI_FORTRAN_F08_PREDECL='!' OMPI_FORTRAN_F08_TYPE=real OMPI_FORTRAN_HAVE_F08_ASSUMED_RANK=0 if test $OMPI_TRY_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS && \ test $OMPI_BUILD_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS then : # Look for Fortran 2008 assumed rank syntax { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Fortran compiler F08 assumed rank syntax" >&5 printf %s "checking Fortran compiler F08 assumed rank syntax... " >&6; } if test ${ompi_cv_fortran_f08_assumed_rank+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) opal_var_scope_push ${LINENO} f08_assumed_rank_happy # If we were called here, it means that the value was not cached, # so we need to check several different things. Since CACHE_CHECK # puts up a MSG_CHECKING, we need to terminate it with a bogus # answer before doing the individual checks. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not cached; checking" >&5 printf "%s\n" "not cached; checking" >&6; } # Check for the F08 type(*),dimension(..) syntax opal_var_scope_push ${LINENO} msg 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 compiler support of TYPE(*), DIMENSION(..)" >&5 printf %s "checking for Fortran compiler support of TYPE(*), DIMENSION(..)... " >&6; } cat > conftest.$ac_ext <<_ACEOF program main ! ! Autoconf puts "program main" at the top implicit none interface subroutine force_assumed_shape(a, count) integer :: count complex, dimension(:,:) :: a end subroutine force_assumed_shape end interface interface subroutine foo(buffer, count) ! buffer TYPE(*), DIMENSION(..), intent(in) :: buffer integer, intent(in) :: count end subroutine foo end interface ! Simple interface with an un-typed first argument (e.g., a choice buffer) integer :: count real :: buffer1(3) character :: buffer2 complex :: buffer3(4,4) complex, pointer, dimension(:,:) :: ptr target :: buffer3 integer :: buffer4 integer :: a ptr => buffer3 ! Set some known values (somewhat irrelevant for this test, but just be ! sure that the values are initialized) a = 17 buffer1(1) = 4.5 buffer1(2) = 6.7 buffer1(3) = 8.9 buffer2 = 'a' ! Call with one type for the first argument call foo(buffer1, count) ! Call with a different type for the first argument call foo(buffer2, count) ! Force us through an assumed shape call force_assumed_shape(buffer3, count) ! Force a pointer call through an assumed shape (!) ptr => buffer3 ! Also try with a simple scalar integer ! (Intel 2016 compiler suite only partially supports GCC pragmas; ! they work with all the above buffer types, but fail with a ! simple scalar integer) call foo(buffer4, count) end program subroutine force_assumed_shape(a, count) integer :: count real, dimension(:,:) :: a call foo(a, count) end subroutine force_assumed_shape module check_ignore_tkr interface subroutine foobar(buffer, count) ! buffer TYPE(*), DIMENSION(..), intent(in) :: buffer integer, intent(in) :: count end subroutine foobar end interface end module subroutine bar(var) use check_ignore_tkr implicit none real, intent(inout) :: var(:, :, :) call foobar(var(1,1,1), 1) ! Autoconf puts "end" after the last line end _ACEOF if ac_fn_fc_try_compile "$LINENO" then : msg=yes ompi_fortran_ignore_tkr_predecl="!" ompi_fortran_ignore_tkr_type="TYPE(*), DIMENSION(..)" f08_assumed_rank_happy=yes else case e in @%:@( e) msg=no f08_assumed_rank_happy=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $msg" >&5 printf "%s\n" "$msg" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu opal_var_scope_pop msg ompi_cv_fortran_f08_assumed_rank=$f08_assumed_rank_happy; # Now put the original CACHE_CHECK MSG_CHECKING back so that it can # output the MSG_RESULT. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Fortran compiler F08 assumed rank syntax" >&5 printf %s "checking Fortran compiler F08 assumed rank syntax... " >&6; } opal_var_scope_pop f08_assumed_rank_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_f08_assumed_rank" >&5 printf "%s\n" "$ompi_cv_fortran_f08_assumed_rank" >&6; } if test "x$ompi_cv_fortran_f08_assumed_rank" = xyes then : # If we have assumed rank, we can build the use # mpi_f08 module "better" OMPI_FORTRAN_F08_PREDECL='!' OMPI_FORTRAN_F08_TYPE='type(*), dimension(..)' OMPI_FORTRAN_HAVE_F08_ASSUMED_RANK=1 fi # Which mpi_f08 implementation are we using? # a) compiler supports BIND(C) and optional arguments # ("good" compilers) # b) compiler that does not support the items listed # in b) ("bad" compilers) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which mpi_f08 implementation to build" >&5 printf %s "checking which mpi_f08 implementation to build... " >&6; } if test $OMPI_FORTRAN_HAVE_OPTIONAL_ARGS -eq 1 then : # Case a) "good compiler" OMPI_FORTRAN_NEED_WRAPPER_ROUTINES=0 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: \"good\" compiler, no array subsections" >&5 printf "%s\n" "\"good\" compiler, no array subsections" >&6; } else case e in @%:@( e) # Case b) "bad compiler" OMPI_FORTRAN_NEED_WRAPPER_ROUTINES=1 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: \"bad\" compiler, no array subsections" >&5 printf "%s\n" "\"bad\" compiler, no array subsections" >&6; } ;; esac fi fi OMPI_FORTRAN_HAVE_ELEMENTAL=0 if test $OMPI_TRY_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS && \ test $OMPI_BUILD_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS then : # Does the compiler support "elemental" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports ELEMENTAL" >&5 printf %s "checking if Fortran compiler supports ELEMENTAL... " >&6; } if test ${ompi_cv_fortran_elemental+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 ELEMENTAL SUBROUTINE binky(buf) REAL,INTENT(INOUT) :: buf BUF = BUF + 1 END SUBROUTINE binky _ACEOF if ac_fn_fc_try_compile "$LINENO" then : ompi_cv_fortran_elemental=yes else case e in @%:@( e) ompi_cv_fortran_elemental=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext touch conftest_foo.mod rm -rf *.mod 2>/dev/null 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 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_fortran_elemental" >&5 printf "%s\n" "$ompi_cv_fortran_elemental" >&6; } if test "x$ompi_cv_fortran_elemental" = xyes then : OMPI_FORTRAN_ELEMENTAL_TYPE="ELEMENTAL" else case e in @%:@( e) OMPI_FORTRAN_ELEMENTAL_TYPE= ;; esac fi fi # Note: the current implementation *only* has wrappers; # there is no optimized implementation for a "good" # compiler. I'm leaving the above logic in place for # if we ever do the optimized/no-wrapper # implementation, but for now, I'm just hard-wiring # OMPI_FORTRAN_NEED_WRAPPER_ROUTINES to 1 when we're # building the F08 wrappers. if test $OMPI_BUILD_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS then : OMPI_FORTRAN_NEED_WRAPPER_ROUTINES=1 else case e in @%:@( e) OMPI_FORTRAN_NEED_WRAPPER_ROUTINES=0 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if building Fortran 'use mpi_f08' bindings" >&5 printf %s "checking if building Fortran 'use mpi_f08' bindings... " >&6; } if test $OMPI_BUILD_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS then : OMPI_FORTRAN_USEMPIF08_LIB=-l${with_libmpi_name}_usempif08 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } else case e in @%:@( e) OMPI_TRY_FORTRAN_BINDIGS=$OMPI_FORTRAN_USEMPI_BINDINGS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac fi # If Fortran bindings is requested, make sure at least one can be built if test $OMPI_MIN_REQUIRED_FORTRAN_BINDINGS -gt $OMPI_BUILD_FORTRAN_BINDINGS then : as_fn_error $? "Cannot build requested Fortran bindings, aborting" "$LINENO" 5 fi # ------------------- # mpif.h final setup # ------------------- # A preprocessor header file just for Fortran. We cannot use AC # CONFIG_HEADER because it adds a /* */-style comment at the top, # and this header file must be usable in .F90 files. :-( ac_config_files="$ac_config_files ompi/mpi/fortran/configure-fortran-output.h" # Values for wrapper compilers OMPI_FC=$FC set dummy $OMPI_FC OMPI_FC_ARGV0=$2 if test -n "$OMPI_FC_ARGV0" then : BASEFC="`basename $OMPI_FC_ARGV0`" # 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_FC_ARGV0 # There are 3 cases: # 1. opal_prog is an absolute filename. If that absolute filename # exists and is executable, return OMPI_FC_ABSOLUTE with that name. Otherwise, # OMPI_FC_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_FC_ABSOLUTE. # Otherwise, OMPI_FC_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_FC_ABSOLUTE. Otherwise, OMPI_FC_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_FC_ABSOLUTE=$opal_prog fi ;; *[\\/]*) # Case 2: relative with 1 or more / if test -x "$opal_prog" then : OMPI_FC_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_FC_ABSOLUTE="$opal_dir/$opal_prog" fi done IFS=$IFS_SAVE ;; esac opal_var_scope_pop opal_prog opal_file opal_dir opal_sentinel else case e in @%:@( e) OMPI_FC=none BASEFC=none OMPI_FC_ABSOLUTE=none ;; esac fi printf "%s\n" "@%:@define OMPI_FC \"$OMPI_FC\"" >>confdefs.h printf "%s\n" "@%:@define OMPI_FC_ABSOLUTE \"$OMPI_FC_ABSOLUTE\"" >>confdefs.h # These go into ompi/info/param.c printf "%s\n" "@%:@define OMPI_FORTRAN_BUILD_SIZEOF $OMPI_FORTRAN_BUILD_SIZEOF" >>confdefs.h printf "%s\n" "@%:@define OMPI_FORTRAN_HAVE_INTERFACE $OMPI_FORTRAN_HAVE_INTERFACE" >>confdefs.h printf "%s\n" "@%:@define OMPI_FORTRAN_HAVE_ISO_FORTRAN_ENV $OMPI_FORTRAN_HAVE_ISO_FORTRAN_ENV" >>confdefs.h printf "%s\n" "@%:@define OMPI_FORTRAN_HAVE_STORAGE_SIZE $OMPI_FORTRAN_HAVE_STORAGE_SIZE" >>confdefs.h # This token is used in the mpifort wrapper compiler data file. # If we are building the Fortran bindings, then include # -lompi_mpifh in the link line. If we're not building the # Fortran bindings, then do not include that token in the link # line (because we'll still install mpifort to link Fortran # applications with the C bindings, even if the Fortran MPI # bindings are not being built). if test $OMPI_BUILD_FORTRAN_BINDINGS -gt $OMPI_FORTRAN_NO_BINDINGS then : OMPI_FORTRAN_MPIFH_LINK=-l${OMPI_LIBMPI_NAME}_mpifh else case e in @%:@( e) OMPI_FORTRAN_MPIFH_LINK= ;; esac fi # This conditional is used to determine whether we compile the # various .f90 files that contain MPI_SIZEOF implementations. if test $OMPI_FORTRAN_BUILD_SIZEOF -eq 1; then BUILD_FORTRAN_SIZEOF_TRUE= BUILD_FORTRAN_SIZEOF_FALSE='#' else BUILD_FORTRAN_SIZEOF_TRUE='#' BUILD_FORTRAN_SIZEOF_FALSE= fi # There are 2 layers to the MPI mpif.h layer. The only extra thing # that determine mpif.h bindings is that fortran can be disabled # by user. In such cases, we need to not build the target at all. # One layer generates MPI_ bindings. The other layer # generates PMPI_ bindings. The following conditions # determine whether each (or both) these layers are built. # # Superceeding clause: # - Fortran bindings should be enabled, else everything is # disabled # 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 -eq 1 && \ test $OMPI_BUILD_FORTRAN_BINDINGS -gt $OMPI_FORTRAN_NO_BINDINGS; then BUILD_MPI_FORTRAN_MPIFH_BINDINGS_LAYER_TRUE= BUILD_MPI_FORTRAN_MPIFH_BINDINGS_LAYER_FALSE='#' else BUILD_MPI_FORTRAN_MPIFH_BINDINGS_LAYER_TRUE='#' BUILD_MPI_FORTRAN_MPIFH_BINDINGS_LAYER_FALSE= fi if test $OMPI_BUILD_FORTRAN_BINDINGS -gt $OMPI_FORTRAN_NO_BINDINGS; then BUILD_PMPI_FORTRAN_MPIFH_BINDINGS_LAYER_TRUE= BUILD_PMPI_FORTRAN_MPIFH_BINDINGS_LAYER_FALSE='#' else BUILD_PMPI_FORTRAN_MPIFH_BINDINGS_LAYER_TRUE='#' BUILD_PMPI_FORTRAN_MPIFH_BINDINGS_LAYER_FALSE= fi if test $OMPI_BUILD_FORTRAN_BINDINGS -gt $OMPI_FORTRAN_NO_BINDINGS; then OMPI_BUILD_FORTRAN_MPIFH_BINDINGS_TRUE= OMPI_BUILD_FORTRAN_MPIFH_BINDINGS_FALSE='#' else OMPI_BUILD_FORTRAN_MPIFH_BINDINGS_TRUE='#' OMPI_BUILD_FORTRAN_MPIFH_BINDINGS_FALSE= fi # ------------------- # use mpi final setup # ------------------- # This goes into ompi/Makefile.am # This goes into mpifort-wrapper-data.txt # These go into mpi-ignore-tkr-interfaces.h / mpi-ignore-tkr-file-interfaces.h # These go into ompi/info/param.c printf "%s\n" "@%:@define OMPI_FORTRAN_IGNORE_TKR_PREDECL \"$OMPI_FORTRAN_IGNORE_TKR_PREDECL\"" >>confdefs.h printf "%s\n" "@%:@define OMPI_FORTRAN_IGNORE_TKR_TYPE $type" >>confdefs.h printf "%s\n" "@%:@define OMPI_FORTRAN_HAVE_IGNORE_TKR $OMPI_FORTRAN_HAVE_IGNORE_TKR" >>confdefs.h # Somewhat redundant because ompi/Makefile.am won't traverse into # the unused "use mpi" directory, but we might as well have the # ompi/mpi/fortran/use-mpi*/Makefile.ams be safe, too. # True if we're building either "use mpi" bindings if test $OMPI_BUILD_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPI_BINDINGS || \ test $OMPI_FORTRAN_HAVE_IGNORE_TKR -eq 1; then OMPI_BUILD_FORTRAN_USEMPI_BINDINGS_TRUE= OMPI_BUILD_FORTRAN_USEMPI_BINDINGS_FALSE='#' else OMPI_BUILD_FORTRAN_USEMPI_BINDINGS_TRUE='#' OMPI_BUILD_FORTRAN_USEMPI_BINDINGS_FALSE= fi # True if we're building the old TKR-style bindings if test $OMPI_BUILD_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPI_BINDINGS && \ test $OMPI_FORTRAN_HAVE_IGNORE_TKR -eq 0; then OMPI_BUILD_FORTRAN_USEMPI_TKR_BINDINGS_TRUE= OMPI_BUILD_FORTRAN_USEMPI_TKR_BINDINGS_FALSE='#' else OMPI_BUILD_FORTRAN_USEMPI_TKR_BINDINGS_TRUE='#' OMPI_BUILD_FORTRAN_USEMPI_TKR_BINDINGS_FALSE= fi # True if we're building the new ignore-TKR-style bindings if test $OMPI_BUILD_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPI_BINDINGS && \ test $OMPI_FORTRAN_HAVE_IGNORE_TKR -eq 1; then OMPI_BUILD_FORTRAN_USEMPI_IGNORE_TKR_BINDINGS_TRUE= OMPI_BUILD_FORTRAN_USEMPI_IGNORE_TKR_BINDINGS_FALSE='#' else OMPI_BUILD_FORTRAN_USEMPI_IGNORE_TKR_BINDINGS_TRUE='#' OMPI_BUILD_FORTRAN_USEMPI_IGNORE_TKR_BINDINGS_FALSE= fi # True if we support TYPE, BIND(C) printf "%s\n" "@%:@define OMPI_FORTRAN_HAVE_BIND_C_TYPE $OMPI_FORTRAN_HAVE_BIND_C_TYPE" >>confdefs.h # For mpif-status.h, configure-fortran-output.h, mpi-f08-types.F90 (and ompi_info) printf "%s\n" "@%:@define OMPI_FORTRAN_HAVE_PRIVATE $OMPI_FORTRAN_HAVE_PRIVATE" >>confdefs.h # ------------------- # use mpi_f08 final setup # ------------------- # This goes into mpifort-wrapper-data.txt # These go into interfaces/mpi-f08-interfaces-[no]bind.h (and # mpi-f*-interfaces*.h files) # This is used to generate weak symbols (or not) in # ompi/mpi/fortran/mpif-h/_f.c, and # ompi/mpi/fortran/configure-fortran-output.h. printf "%s\n" "@%:@define OMPI_FORTRAN_NEED_WRAPPER_ROUTINES $OMPI_FORTRAN_NEED_WRAPPER_ROUTINES" >>confdefs.h printf "%s\n" "@%:@define OMPI_FORTRAN_F08_HANDLE_SIZE $OMPI_FORTRAN_F08_HANDLE_SIZE" >>confdefs.h printf "%s\n" "@%:@define OMPI_FORTRAN_F08_HANDLE_ALIGNMENT $OMPI_FORTRAN_F08_HANDLE_ALIGNMENT" >>confdefs.h # These go into ompi/info/param.c printf "%s\n" "@%:@define OMPI_FORTRAN_HAVE_F08_ASSUMED_RANK $OMPI_FORTRAN_HAVE_F08_ASSUMED_RANK" >>confdefs.h printf "%s\n" "@%:@define OMPI_FORTRAN_HAVE_BIND_C $OMPI_FORTRAN_HAVE_BIND_C" >>confdefs.h printf "%s\n" "@%:@define OMPI_FORTRAN_HAVE_ISO_C_BINDING $OMPI_FORTRAN_HAVE_ISO_C_BINDING" >>confdefs.h printf "%s\n" "@%:@define OMPI_FORTRAN_HAVE_BIND_C_SUB $OMPI_FORTRAN_HAVE_BIND_C_SUB" >>confdefs.h printf "%s\n" "@%:@define OMPI_FORTRAN_HAVE_BIND_C_TYPE_NAME $OMPI_FORTRAN_HAVE_BIND_C_TYPE_NAME" >>confdefs.h printf "%s\n" "@%:@define OMPI_FORTRAN_HAVE_OPTIONAL_ARGS $OMPI_FORTRAN_HAVE_OPTIONAL_ARGS" >>confdefs.h # For configure-fortran-output.h, mpi-f08-interfaces-callbacks.F90 # (and ompi_info) printf "%s\n" "@%:@define OMPI_FORTRAN_HAVE_ABSTRACT $OMPI_FORTRAN_HAVE_ABSTRACT" >>confdefs.h # For configure-fortran-output.h, various files in # ompi/mpi/fortran/use-mpi-f08/*.F90 and *.h files (and ompi_info) printf "%s\n" "@%:@define OMPI_FORTRAN_HAVE_ASYNCHRONOUS $OMPI_FORTRAN_HAVE_ASYNCHRONOUS" >>confdefs.h # For configure-fortran-output.h, various files in # ompi/mpi/fortran/use-mpi-f08/*.F90 and *.h files (and ompi_info) printf "%s\n" "@%:@define OMPI_FORTRAN_HAVE_PROCEDURE $OMPI_FORTRAN_HAVE_PROCEDURE" >>confdefs.h # For configure-fortran-output.h, various files in # ompi/mpi/fortran/use-mpi-f08/*.F90 and *.h files (and ompi_info) printf "%s\n" "@%:@define OMPI_FORTRAN_HAVE_USE_ONLY $OMPI_FORTRAN_HAVE_USE_ONLY" >>confdefs.h # For configure-fortran-output.h, various files in # ompi/mpi/fortran/use-mpi-f08/*.F90 and *.h files (and ompi_info) printf "%s\n" "@%:@define OMPI_FORTRAN_HAVE_C_FUNLOC $OMPI_FORTRAN_HAVE_C_FUNLOC" >>confdefs.h # For configure-fortran-output.h # Somewhat redundant because ompi/Makefile.am won't traverse into # ompi/mpi/fortran/use-mpi-f08 if it's not to be built, but we # might as well have ompi/mpi/fortran/use-mpi-f08/Makefile.am be # safe, too. if test $OMPI_BUILD_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS; then OMPI_BUILD_FORTRAN_USEMPIF08_BINDINGS_TRUE= OMPI_BUILD_FORTRAN_USEMPIF08_BINDINGS_FALSE='#' else OMPI_BUILD_FORTRAN_USEMPIF08_BINDINGS_TRUE='#' OMPI_BUILD_FORTRAN_USEMPIF08_BINDINGS_FALSE= fi printf "%s\n" "@%:@define OMPI_BUILD_FORTRAN_BINDINGS $OMPI_BUILD_FORTRAN_BINDINGS" >>confdefs.h # This is an overall "are we building any Fortran MPI bindings" # conditional if test $OMPI_BUILD_FORTRAN_BINDINGS -gt 0; then OMPI_BUILD_ANY_FORTRAN_BINDINGS_TRUE= OMPI_BUILD_ANY_FORTRAN_BINDINGS_FALSE='#' else OMPI_BUILD_ANY_FORTRAN_BINDINGS_TRUE='#' OMPI_BUILD_ANY_FORTRAN_BINDINGS_FALSE= fi # Used in Makefile.ompi-rules if test $OMPI_BUILD_FORTRAN_BINDINGS -gt $OMPI_FORTRAN_NO_BINDINGS; then MAN_PAGE_BUILD_MPIFH_BINDINGS_TRUE= MAN_PAGE_BUILD_MPIFH_BINDINGS_FALSE='#' else MAN_PAGE_BUILD_MPIFH_BINDINGS_TRUE='#' MAN_PAGE_BUILD_MPIFH_BINDINGS_FALSE= fi if test $OMPI_BUILD_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS; then MAN_PAGE_BUILD_USEMPIF08_BINDINGS_TRUE= MAN_PAGE_BUILD_USEMPIF08_BINDINGS_FALSE='#' else MAN_PAGE_BUILD_USEMPIF08_BINDINGS_TRUE='#' MAN_PAGE_BUILD_USEMPIF08_BINDINGS_FALSE= fi if test "$enable_oshmem" = "yes" && \ test "$ompi_fortran_happy" = "1" && \ test "$OMPI_TRY_FORTRAN_BINDINGS" -gt "$OMPI_FORTRAN_NO_BINDINGS" && \ test "$enable_oshmem_fortran" != "no"; then OSHMEM_BUILD_FORTRAN_BINDINGS_TRUE= OSHMEM_BUILD_FORTRAN_BINDINGS_FALSE='#' else OSHMEM_BUILD_FORTRAN_BINDINGS_TRUE='#' OSHMEM_BUILD_FORTRAN_BINDINGS_FALSE= fi # checkpoint results cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # 'ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* 'ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( 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=\ *) # 'set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # 'set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 printf "%s\n" "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache ################################## # Wrapper compilers. # # Must be called before MCA system ################################## opal_show_subtitle "Wrapper compiler setup" opal_var_scope_push ${LINENO} wrapper_cc_tmp @%:@ Check whether --with-wrapper_cc was given. if test ${with_wrapper_cc+y} then : withval=$with_wrapper_cc; else case e in @%:@( e) with_wrapper_cc="$OPAL_CC" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for wrapper C compiler" >&5 printf %s "checking for wrapper C compiler... " >&6; } if test "$with_wrapper_cc" = "yes" || test "$with_wrapper_cc" = "no" ; then as_fn_error $? "--with-wrapper-cc must have an argument." "$LINENO" 5 fi # Get the full path to the wrapper compiler. If it doesn't exist # assume that the path is not currently valid. wrapper_tmp="$(type -p "$with_wrapper_cc")" if test -z "$wrapper_tmp" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: could not find \"$with_wrapper_cc\" in path" >&5 printf "%s\n" "$as_me: WARNING: could not find \"$with_wrapper_cc\" in path" >&2;} fi WRAPPER_CC=$with_wrapper_cc { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $WRAPPER_CC" >&5 printf "%s\n" "$WRAPPER_CC" >&6; } @%:@ Check whether --with-wrapper-cflags was given. if test ${with_wrapper_cflags+y} then : withval=$with_wrapper_cflags; fi if test "$with_wrapper_cflags" = "yes" || test "$with_wrapper_cflags" = "no" then : as_fn_error $? "--with-wrapper-cflags must have an argument." "$LINENO" 5 fi @%:@ Check whether --with-wrapper-cflags-prefix was given. if test ${with_wrapper_cflags_prefix+y} then : withval=$with_wrapper_cflags_prefix; fi if test "$with_wrapper_cflags_prefix" = "yes" || test "$with_wrapper_cflags_prefix" = "no" then : as_fn_error $? "--with-wrapper-cflags-prefix must have an argument." "$LINENO" 5 fi @%:@ Check whether --with-wrapper-cxxflags was given. if test ${with_wrapper_cxxflags+y} then : withval=$with_wrapper_cxxflags; fi if test "$with_wrapper_cxxflags" = "yes" || test "$with_wrapper_cxxflags" = "no" then : as_fn_error $? "--with-wrapper-cxxflags must have an argument." "$LINENO" 5 fi @%:@ Check whether --with-wrapper-cxxflags-prefix was given. if test ${with_wrapper_cxxflags_prefix+y} then : withval=$with_wrapper_cxxflags_prefix; fi if test "$with_wrapper_cxxflags_prefix" = "yes" || test "$with_wrapper_cxxflags_prefix" = "no" then : as_fn_error $? "--with-wrapper-cxxflags-prefix must have an argument." "$LINENO" 5 fi @%:@ Check whether --with-wrapper-fcflags was given. if test ${with_wrapper_fcflags+y} then : withval=$with_wrapper_fcflags; fi if test "$with_wrapper_fcflags" = "yes" || test "$with_wrapper_fcflags" = "no" then : as_fn_error $? "--with-wrapper-fcflags must have an argument." "$LINENO" 5 fi @%:@ Check whether --with-wrapper-fcflags-prefix was given. if test ${with_wrapper_fcflags_prefix+y} then : withval=$with_wrapper_fcflags_prefix; fi if test "$with_wrapper_fcflags_prefix" = "yes" || test "$with_wrapper_fcflags_prefix" = "no" then : as_fn_error $? "--with-wrapper-fcflags-prefix must have an argument." "$LINENO" 5 fi @%:@ Check whether --with-wrapper-ldflags was given. if test ${with_wrapper_ldflags+y} then : withval=$with_wrapper_ldflags; fi if test "$with_wrapper_ldflags" = "yes" || test "$with_wrapper_ldflags" = "no" then : as_fn_error $? "--with-wrapper-ldflags must have an argument." "$LINENO" 5 fi @%:@ Check whether --with-wrapper-libs was given. if test ${with_wrapper_libs+y} then : withval=$with_wrapper_libs; fi if test "$with_wrapper_libs" = "yes" || test "$with_wrapper_libs" = "no" then : as_fn_error $? "--with-wrapper-libs must have an argument." "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want wrapper compiler rpath support" >&5 printf %s "checking if want wrapper compiler rpath support... " >&6; } @%:@ Check whether --enable-wrapper-rpath was given. if test ${enable_wrapper_rpath+y} then : enableval=$enable_wrapper_rpath; fi if test "$enable_wrapper_rpath" != "no" then : enable_wrapper_rpath=yes fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_wrapper_rpath" >&5 printf "%s\n" "$enable_wrapper_rpath" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want wrapper compiler runpath support" >&5 printf %s "checking if want wrapper compiler runpath support... " >&6; } @%:@ Check whether --enable-wrapper-runpath was given. if test ${enable_wrapper_runpath+y} then : enableval=$enable_wrapper_runpath; fi if test "$enable_wrapper_runpath" != "no" then : enable_wrapper_runpath=yes fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_wrapper_runpath" >&5 printf "%s\n" "$enable_wrapper_runpath" >&6; } if test "$enable_wrapper_rpath" = "no" && test "$enable_wrapper_runpath" = "yes" then : as_fn_error $? "--enable-wrapper-runpath cannot be selected with --disable-wrapper-rpath" "$LINENO" 5 fi opal_var_scope_pop wrapper_cc_tmp ################################## # Header files ################################## opal_show_title "Header file tests" ac_fn_c_check_header_compile "$LINENO" "alloca.h" "ac_cv_header_alloca_h" "$ac_includes_default" if test "x$ac_cv_header_alloca_h" = xyes then : printf "%s\n" "@%:@define HAVE_ALLOCA_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "aio.h" "ac_cv_header_aio_h" "$ac_includes_default" if test "x$ac_cv_header_aio_h" = xyes then : printf "%s\n" "@%:@define HAVE_AIO_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "arpa/inet.h" "ac_cv_header_arpa_inet_h" "$ac_includes_default" if test "x$ac_cv_header_arpa_inet_h" = xyes then : printf "%s\n" "@%:@define HAVE_ARPA_INET_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "dirent.h" "ac_cv_header_dirent_h" "$ac_includes_default" if test "x$ac_cv_header_dirent_h" = xyes then : printf "%s\n" "@%:@define HAVE_DIRENT_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default" if test "x$ac_cv_header_dlfcn_h" = xyes then : printf "%s\n" "@%:@define HAVE_DLFCN_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "endian.h" "ac_cv_header_endian_h" "$ac_includes_default" if test "x$ac_cv_header_endian_h" = xyes then : printf "%s\n" "@%:@define HAVE_ENDIAN_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "execinfo.h" "ac_cv_header_execinfo_h" "$ac_includes_default" if test "x$ac_cv_header_execinfo_h" = xyes then : printf "%s\n" "@%:@define HAVE_EXECINFO_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "err.h" "ac_cv_header_err_h" "$ac_includes_default" if test "x$ac_cv_header_err_h" = xyes then : printf "%s\n" "@%:@define HAVE_ERR_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "fcntl.h" "ac_cv_header_fcntl_h" "$ac_includes_default" if test "x$ac_cv_header_fcntl_h" = xyes then : printf "%s\n" "@%:@define HAVE_FCNTL_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "grp.h" "ac_cv_header_grp_h" "$ac_includes_default" if test "x$ac_cv_header_grp_h" = xyes then : printf "%s\n" "@%:@define HAVE_GRP_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "libgen.h" "ac_cv_header_libgen_h" "$ac_includes_default" if test "x$ac_cv_header_libgen_h" = xyes then : printf "%s\n" "@%:@define HAVE_LIBGEN_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "libutil.h" "ac_cv_header_libutil_h" "$ac_includes_default" if test "x$ac_cv_header_libutil_h" = xyes then : printf "%s\n" "@%:@define HAVE_LIBUTIL_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "memory.h" "ac_cv_header_memory_h" "$ac_includes_default" if test "x$ac_cv_header_memory_h" = xyes then : printf "%s\n" "@%:@define HAVE_MEMORY_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "netdb.h" "ac_cv_header_netdb_h" "$ac_includes_default" if test "x$ac_cv_header_netdb_h" = xyes then : printf "%s\n" "@%:@define HAVE_NETDB_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "netinet/in.h" "ac_cv_header_netinet_in_h" "$ac_includes_default" if test "x$ac_cv_header_netinet_in_h" = xyes then : printf "%s\n" "@%:@define HAVE_NETINET_IN_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "netinet/tcp.h" "ac_cv_header_netinet_tcp_h" "$ac_includes_default" if test "x$ac_cv_header_netinet_tcp_h" = xyes then : printf "%s\n" "@%:@define HAVE_NETINET_TCP_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "poll.h" "ac_cv_header_poll_h" "$ac_includes_default" if test "x$ac_cv_header_poll_h" = xyes then : printf "%s\n" "@%:@define HAVE_POLL_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "pthread.h" "ac_cv_header_pthread_h" "$ac_includes_default" if test "x$ac_cv_header_pthread_h" = xyes then : printf "%s\n" "@%:@define HAVE_PTHREAD_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "pty.h" "ac_cv_header_pty_h" "$ac_includes_default" if test "x$ac_cv_header_pty_h" = xyes then : printf "%s\n" "@%:@define HAVE_PTY_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "pwd.h" "ac_cv_header_pwd_h" "$ac_includes_default" if test "x$ac_cv_header_pwd_h" = xyes then : printf "%s\n" "@%:@define HAVE_PWD_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sched.h" "ac_cv_header_sched_h" "$ac_includes_default" if test "x$ac_cv_header_sched_h" = xyes then : printf "%s\n" "@%:@define HAVE_SCHED_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "strings.h" "ac_cv_header_strings_h" "$ac_includes_default" if test "x$ac_cv_header_strings_h" = xyes then : printf "%s\n" "@%:@define HAVE_STRINGS_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "stropts.h" "ac_cv_header_stropts_h" "$ac_includes_default" if test "x$ac_cv_header_stropts_h" = xyes then : printf "%s\n" "@%:@define HAVE_STROPTS_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "linux/ethtool.h" "ac_cv_header_linux_ethtool_h" "$ac_includes_default" if test "x$ac_cv_header_linux_ethtool_h" = xyes then : printf "%s\n" "@%:@define HAVE_LINUX_ETHTOOL_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "linux/sockios.h" "ac_cv_header_linux_sockios_h" "$ac_includes_default" if test "x$ac_cv_header_linux_sockios_h" = xyes then : printf "%s\n" "@%:@define HAVE_LINUX_SOCKIOS_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/fcntl.h" "ac_cv_header_sys_fcntl_h" "$ac_includes_default" if test "x$ac_cv_header_sys_fcntl_h" = xyes then : printf "%s\n" "@%:@define HAVE_SYS_FCNTL_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/ipc.h" "ac_cv_header_sys_ipc_h" "$ac_includes_default" if test "x$ac_cv_header_sys_ipc_h" = xyes then : printf "%s\n" "@%:@define HAVE_SYS_IPC_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/shm.h" "ac_cv_header_sys_shm_h" "$ac_includes_default" if test "x$ac_cv_header_sys_shm_h" = xyes then : printf "%s\n" "@%:@define HAVE_SYS_SHM_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/ioctl.h" "ac_cv_header_sys_ioctl_h" "$ac_includes_default" if test "x$ac_cv_header_sys_ioctl_h" = xyes then : printf "%s\n" "@%:@define HAVE_SYS_IOCTL_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default" if test "x$ac_cv_header_sys_mman_h" = xyes then : printf "%s\n" "@%:@define HAVE_SYS_MMAN_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/param.h" "ac_cv_header_sys_param_h" "$ac_includes_default" if test "x$ac_cv_header_sys_param_h" = xyes then : printf "%s\n" "@%:@define HAVE_SYS_PARAM_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/queue.h" "ac_cv_header_sys_queue_h" "$ac_includes_default" if test "x$ac_cv_header_sys_queue_h" = xyes then : printf "%s\n" "@%:@define HAVE_SYS_QUEUE_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/resource.h" "ac_cv_header_sys_resource_h" "$ac_includes_default" if test "x$ac_cv_header_sys_resource_h" = xyes then : printf "%s\n" "@%:@define HAVE_SYS_RESOURCE_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/select.h" "ac_cv_header_sys_select_h" "$ac_includes_default" if test "x$ac_cv_header_sys_select_h" = xyes then : printf "%s\n" "@%:@define HAVE_SYS_SELECT_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/socket.h" "ac_cv_header_sys_socket_h" "$ac_includes_default" if test "x$ac_cv_header_sys_socket_h" = xyes then : printf "%s\n" "@%:@define HAVE_SYS_SOCKET_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/sockio.h" "ac_cv_header_sys_sockio_h" "$ac_includes_default" if test "x$ac_cv_header_sys_sockio_h" = xyes then : printf "%s\n" "@%:@define HAVE_SYS_SOCKIO_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/stat.h" "ac_cv_header_sys_stat_h" "$ac_includes_default" if test "x$ac_cv_header_sys_stat_h" = xyes then : printf "%s\n" "@%:@define HAVE_SYS_STAT_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/statfs.h" "ac_cv_header_sys_statfs_h" "$ac_includes_default" if test "x$ac_cv_header_sys_statfs_h" = xyes then : printf "%s\n" "@%:@define HAVE_SYS_STATFS_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/statvfs.h" "ac_cv_header_sys_statvfs_h" "$ac_includes_default" if test "x$ac_cv_header_sys_statvfs_h" = xyes then : printf "%s\n" "@%:@define HAVE_SYS_STATVFS_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "time.h" "ac_cv_header_time_h" "$ac_includes_default" if test "x$ac_cv_header_time_h" = xyes then : printf "%s\n" "@%:@define HAVE_TIME_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/time.h" "ac_cv_header_sys_time_h" "$ac_includes_default" if test "x$ac_cv_header_sys_time_h" = xyes then : printf "%s\n" "@%:@define HAVE_SYS_TIME_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/tree.h" "ac_cv_header_sys_tree_h" "$ac_includes_default" if test "x$ac_cv_header_sys_tree_h" = xyes then : printf "%s\n" "@%:@define HAVE_SYS_TREE_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/types.h" "ac_cv_header_sys_types_h" "$ac_includes_default" if test "x$ac_cv_header_sys_types_h" = xyes then : printf "%s\n" "@%:@define HAVE_SYS_TYPES_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/uio.h" "ac_cv_header_sys_uio_h" "$ac_includes_default" if test "x$ac_cv_header_sys_uio_h" = xyes then : printf "%s\n" "@%:@define HAVE_SYS_UIO_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/un.h" "ac_cv_header_sys_un_h" "$ac_includes_default" if test "x$ac_cv_header_sys_un_h" = xyes then : printf "%s\n" "@%:@define HAVE_SYS_UN_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "net/uio.h" "ac_cv_header_net_uio_h" "$ac_includes_default" if test "x$ac_cv_header_net_uio_h" = xyes then : printf "%s\n" "@%:@define HAVE_NET_UIO_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/utsname.h" "ac_cv_header_sys_utsname_h" "$ac_includes_default" if test "x$ac_cv_header_sys_utsname_h" = xyes then : printf "%s\n" "@%:@define HAVE_SYS_UTSNAME_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/vfs.h" "ac_cv_header_sys_vfs_h" "$ac_includes_default" if test "x$ac_cv_header_sys_vfs_h" = xyes then : printf "%s\n" "@%:@define HAVE_SYS_VFS_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/wait.h" "ac_cv_header_sys_wait_h" "$ac_includes_default" if test "x$ac_cv_header_sys_wait_h" = xyes then : printf "%s\n" "@%:@define HAVE_SYS_WAIT_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "syslog.h" "ac_cv_header_syslog_h" "$ac_includes_default" if test "x$ac_cv_header_syslog_h" = xyes then : printf "%s\n" "@%:@define HAVE_SYSLOG_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "termios.h" "ac_cv_header_termios_h" "$ac_includes_default" if test "x$ac_cv_header_termios_h" = xyes then : printf "%s\n" "@%:@define HAVE_TERMIOS_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "ulimit.h" "ac_cv_header_ulimit_h" "$ac_includes_default" if test "x$ac_cv_header_ulimit_h" = xyes then : printf "%s\n" "@%:@define HAVE_ULIMIT_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "unistd.h" "ac_cv_header_unistd_h" "$ac_includes_default" if test "x$ac_cv_header_unistd_h" = xyes then : printf "%s\n" "@%:@define HAVE_UNISTD_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "util.h" "ac_cv_header_util_h" "$ac_includes_default" if test "x$ac_cv_header_util_h" = xyes then : printf "%s\n" "@%:@define HAVE_UTIL_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "utmp.h" "ac_cv_header_utmp_h" "$ac_includes_default" if test "x$ac_cv_header_utmp_h" = xyes then : printf "%s\n" "@%:@define HAVE_UTMP_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "malloc.h" "ac_cv_header_malloc_h" "$ac_includes_default" if test "x$ac_cv_header_malloc_h" = xyes then : printf "%s\n" "@%:@define HAVE_MALLOC_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "ifaddrs.h" "ac_cv_header_ifaddrs_h" "$ac_includes_default" if test "x$ac_cv_header_ifaddrs_h" = xyes then : printf "%s\n" "@%:@define HAVE_IFADDRS_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "crt_externs.h" "ac_cv_header_crt_externs_h" "$ac_includes_default" if test "x$ac_cv_header_crt_externs_h" = xyes then : printf "%s\n" "@%:@define HAVE_CRT_EXTERNS_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "regex.h" "ac_cv_header_regex_h" "$ac_includes_default" if test "x$ac_cv_header_regex_h" = xyes then : printf "%s\n" "@%:@define HAVE_REGEX_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "mntent.h" "ac_cv_header_mntent_h" "$ac_includes_default" if test "x$ac_cv_header_mntent_h" = xyes then : printf "%s\n" "@%:@define HAVE_MNTENT_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "paths.h" "ac_cv_header_paths_h" "$ac_includes_default" if test "x$ac_cv_header_paths_h" = xyes then : printf "%s\n" "@%:@define HAVE_PATHS_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "ioLib.h" "ac_cv_header_ioLib_h" "$ac_includes_default" if test "x$ac_cv_header_ioLib_h" = xyes then : printf "%s\n" "@%:@define HAVE_IOLIB_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sockLib.h" "ac_cv_header_sockLib_h" "$ac_includes_default" if test "x$ac_cv_header_sockLib_h" = xyes then : printf "%s\n" "@%:@define HAVE_SOCKLIB_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "hostLib.h" "ac_cv_header_hostLib_h" "$ac_includes_default" if test "x$ac_cv_header_hostLib_h" = xyes then : printf "%s\n" "@%:@define HAVE_HOSTLIB_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "shlwapi.h" "ac_cv_header_shlwapi_h" "$ac_includes_default" if test "x$ac_cv_header_shlwapi_h" = xyes then : printf "%s\n" "@%:@define HAVE_SHLWAPI_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/synch.h" "ac_cv_header_sys_synch_h" "$ac_includes_default" if test "x$ac_cv_header_sys_synch_h" = xyes then : printf "%s\n" "@%:@define HAVE_SYS_SYNCH_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "db.h" "ac_cv_header_db_h" "$ac_includes_default" if test "x$ac_cv_header_db_h" = xyes then : printf "%s\n" "@%:@define HAVE_DB_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "ndbm.h" "ac_cv_header_ndbm_h" "$ac_includes_default" if test "x$ac_cv_header_ndbm_h" = xyes then : printf "%s\n" "@%:@define HAVE_NDBM_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "ieee754.h" "ac_cv_header_ieee754_h" "$ac_includes_default" if test "x$ac_cv_header_ieee754_h" = xyes then : printf "%s\n" "@%:@define HAVE_IEEE754_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "syslimits.h" "ac_cv_header_syslimits_h" "$ac_includes_default" if test "x$ac_cv_header_syslimits_h" = xyes then : printf "%s\n" "@%:@define HAVE_SYSLIMITS_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/mount.h" "ac_cv_header_sys_mount_h" "$ac_includes_default #if HAVE_SYS_PARAM_H #include #endif " if test "x$ac_cv_header_sys_mount_h" = xyes then : printf "%s\n" "@%:@define HAVE_SYS_MOUNT_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/sysctl.h" "ac_cv_header_sys_sysctl_h" "$ac_includes_default #if HAVE_SYS_PARAM_H #include #endif " if test "x$ac_cv_header_sys_sysctl_h" = xyes then : printf "%s\n" "@%:@define HAVE_SYS_SYSCTL_H 1" >>confdefs.h fi # Needed to work around Darwin requiring sys/socket.h for # net/if.h ac_fn_c_check_header_compile "$LINENO" "net/if.h" "ac_cv_header_net_if_h" "#include #if STDC_HEADERS # include # include #else # if HAVE_STDLIB_H # include # endif #endif #if HAVE_SYS_SOCKET_H # include #endif " if test "x$ac_cv_header_net_if_h" = xyes then : printf "%s\n" "@%:@define HAVE_NET_IF_H 1" >>confdefs.h fi # checkpoint results cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # 'ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* 'ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( 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=\ *) # 'set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # 'set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 printf "%s\n" "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache ################################## # Types ################################## opal_show_title "Type tests" ac_fn_c_check_type "$LINENO" "socklen_t" "ac_cv_type_socklen_t" "$ac_includes_default #if HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_NETINET_IN_H #include #endif #ifdef HAVE_LINUX_ETHTOOL_H #include #endif #ifdef HAVE_NET_IF_H #include #endif " if test "x$ac_cv_type_socklen_t" = xyes then : printf "%s\n" "@%:@define HAVE_SOCKLEN_T 1" >>confdefs.h fi ac_fn_c_check_type "$LINENO" "struct sockaddr_in" "ac_cv_type_struct_sockaddr_in" "$ac_includes_default #if HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_NETINET_IN_H #include #endif #ifdef HAVE_LINUX_ETHTOOL_H #include #endif #ifdef HAVE_NET_IF_H #include #endif " if test "x$ac_cv_type_struct_sockaddr_in" = xyes then : printf "%s\n" "@%:@define HAVE_STRUCT_SOCKADDR_IN 1" >>confdefs.h fi ac_fn_c_check_type "$LINENO" "struct sockaddr_in6" "ac_cv_type_struct_sockaddr_in6" "$ac_includes_default #if HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_NETINET_IN_H #include #endif #ifdef HAVE_LINUX_ETHTOOL_H #include #endif #ifdef HAVE_NET_IF_H #include #endif " if test "x$ac_cv_type_struct_sockaddr_in6" = xyes then : printf "%s\n" "@%:@define HAVE_STRUCT_SOCKADDR_IN6 1" >>confdefs.h fi ac_fn_c_check_type "$LINENO" "struct sockaddr_storage" "ac_cv_type_struct_sockaddr_storage" "$ac_includes_default #if HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_NETINET_IN_H #include #endif #ifdef HAVE_LINUX_ETHTOOL_H #include #endif #ifdef HAVE_NET_IF_H #include #endif " if test "x$ac_cv_type_struct_sockaddr_storage" = xyes then : printf "%s\n" "@%:@define HAVE_STRUCT_SOCKADDR_STORAGE 1" >>confdefs.h fi ac_fn_c_check_type "$LINENO" "struct ifreq" "ac_cv_type_struct_ifreq" "$ac_includes_default #if HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_NETINET_IN_H #include #endif #ifdef HAVE_LINUX_ETHTOOL_H #include #endif #ifdef HAVE_NET_IF_H #include #endif " if test "x$ac_cv_type_struct_ifreq" = xyes then : printf "%s\n" "@%:@define HAVE_STRUCT_IFREQ 1" >>confdefs.h fi ac_fn_c_check_type "$LINENO" "struct ethtool_cmd" "ac_cv_type_struct_ethtool_cmd" "$ac_includes_default #if HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_NETINET_IN_H #include #endif #ifdef HAVE_LINUX_ETHTOOL_H #include #endif #ifdef HAVE_NET_IF_H #include #endif " if test "x$ac_cv_type_struct_ethtool_cmd" = xyes then : printf "%s\n" "@%:@define HAVE_STRUCT_ETHTOOL_CMD 1" >>confdefs.h fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC options needed to detect all undeclared functions" >&5 printf %s "checking for $CC options needed to detect all undeclared functions... " >&6; } if test ${ac_cv_c_undeclared_builtin_options+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) ac_save_CFLAGS=$CFLAGS ac_cv_c_undeclared_builtin_options='cannot detect' for ac_arg in '' -fno-builtin; do CFLAGS="$ac_save_CFLAGS $ac_arg" # This test program should *not* compile successfully. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { (void) strchr; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : else case e in @%:@( e) # This test program should compile successfully. # No library function is consistently available on # freestanding implementations, so test against a dummy # declaration. Include always-available headers on the # off chance that they somehow elicit warnings. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include extern void ac_decl (int, char *); int main (void) { (void) ac_decl (0, (char *) 0); (void) ac_decl; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : if test x"$ac_arg" = x then : ac_cv_c_undeclared_builtin_options='none needed' else case e in @%:@( e) ac_cv_c_undeclared_builtin_options=$ac_arg ;; esac fi break fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext done CFLAGS=$ac_save_CFLAGS ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_undeclared_builtin_options" >&5 printf "%s\n" "$ac_cv_c_undeclared_builtin_options" >&6; } case $ac_cv_c_undeclared_builtin_options in @%:@( 'cannot detect') : { { 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 make $CC report undeclared builtins See 'config.log' for more details" "$LINENO" 5; } ;; @%:@( 'none needed') : ac_c_undeclared_builtin_options='' ;; @%:@( *) : ac_c_undeclared_builtin_options=$ac_cv_c_undeclared_builtin_options ;; esac ac_fn_check_decl "$LINENO" "ethtool_cmd_speed" "ac_cv_have_decl_ethtool_cmd_speed" "$ac_includes_default #ifdef HAVE_LINUX_ETHTOOL_H #include #endif #ifdef HAVE_LINUX_SOCKIOS_H #include #endif " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ethtool_cmd_speed" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_ETHTOOL_CMD_SPEED $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "SIOCETHTOOL" "ac_cv_have_decl_SIOCETHTOOL" "$ac_includes_default #ifdef HAVE_LINUX_ETHTOOL_H #include #endif #ifdef HAVE_LINUX_SOCKIOS_H #include #endif " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_SIOCETHTOOL" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_SIOCETHTOOL $ac_have_decl" >>confdefs.h ac_fn_c_check_member "$LINENO" "struct ethtool_cmd" "speed_hi" "ac_cv_member_struct_ethtool_cmd_speed_hi" "$ac_includes_default #ifdef HAVE_LINUX_ETHTOOL_H #include #endif #ifdef HAVE_LINUX_SOCKIOS_H #include #endif " if test "x$ac_cv_member_struct_ethtool_cmd_speed_hi" = xyes then : printf "%s\n" "@%:@define HAVE_STRUCT_ETHTOOL_CMD_SPEED_HI 1" >>confdefs.h fi ac_fn_c_check_member "$LINENO" "struct ethtool_cmd" "speed_hi" "ac_cv_member_struct_ethtool_cmd_speed_hi" "$ac_includes_default #ifdef HAVE_LINUX_ETHTOOL_H #include #endif #ifdef HAVE_LINUX_SOCKIOS_H #include #endif " if test "x$ac_cv_member_struct_ethtool_cmd_speed_hi" = xyes then : printf "%s\n" "@%:@define HAVE_STRUCT_ETHTOOL_CMD_SPEED_HI 1" >>confdefs.h fi ac_fn_c_check_member "$LINENO" "struct ethtool_cmd" "speed_hi" "ac_cv_member_struct_ethtool_cmd_speed_hi" "$ac_includes_default #ifdef HAVE_LINUX_ETHTOOL_H #include #endif #ifdef HAVE_LINUX_SOCKIOS_H #include #endif " if test "x$ac_cv_member_struct_ethtool_cmd_speed_hi" = xyes then : printf "%s\n" "@%:@define HAVE_STRUCT_ETHTOOL_CMD_SPEED_HI 1" >>confdefs.h fi ac_fn_c_check_member "$LINENO" "struct ethtool_cmd" "speed_hi" "ac_cv_member_struct_ethtool_cmd_speed_hi" "$ac_includes_default #ifdef HAVE_LINUX_ETHTOOL_H #include #endif #ifdef HAVE_LINUX_SOCKIOS_H #include #endif " if test "x$ac_cv_member_struct_ethtool_cmd_speed_hi" = xyes then : printf "%s\n" "@%:@define HAVE_STRUCT_ETHTOOL_CMD_SPEED_HI 1" >>confdefs.h fi ac_fn_check_decl "$LINENO" "AF_UNSPEC" "ac_cv_have_decl_AF_UNSPEC" "$ac_includes_default #if HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_NETINET_IN_H #include #endif " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_AF_UNSPEC" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_AF_UNSPEC $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "PF_UNSPEC" "ac_cv_have_decl_PF_UNSPEC" "$ac_includes_default #if HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_NETINET_IN_H #include #endif " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_PF_UNSPEC" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_PF_UNSPEC $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "AF_INET6" "ac_cv_have_decl_AF_INET6" "$ac_includes_default #if HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_NETINET_IN_H #include #endif " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_AF_INET6" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_AF_INET6 $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "PF_INET6" "ac_cv_have_decl_PF_INET6" "$ac_includes_default #if HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_NETINET_IN_H #include #endif " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_PF_INET6" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_PF_INET6 $ac_have_decl" >>confdefs.h # SA_RESTART in signal.h opal_var_scope_push ${LINENO} MSG { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if SA_RESTART defined in signal.h" >&5 printf %s "checking if SA_RESTART defined in signal.h... " >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { 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; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if test ${ac_cv_prog_CPP+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) # Double quotes because $CC needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" cpp /lib/cpp do ac_preproc_ok=false for ac_c_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_c_try_cpp "$LINENO" then : else case e in @%:@( e) # Broken: fails on valid input. continue ;; esac 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_c_try_cpp "$LINENO" then : # Broken: success on invalid input. continue else case e in @%:@( e) # Passes both tests. ac_preproc_ok=: break ;; esac 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_CPP=$CPP ;; esac fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 printf "%s\n" "$CPP" >&6; } ac_preproc_ok=false for ac_c_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_c_try_cpp "$LINENO" then : else case e in @%:@( e) # Broken: fails on valid input. continue ;; esac 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_c_try_cpp "$LINENO" then : # Broken: success on invalid input. continue else case e in @%:@( e) # Passes both tests. ac_preproc_ok=: break ;; esac 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 case e in @%:@( e) { { 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 \"$CPP\" fails sanity check See 'config.log' for more details" "$LINENO" 5; } ;; esac 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 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep -e" >&5 printf %s "checking for egrep -e... " >&6; } if test ${ac_cv_path_EGREP_TRADITIONAL+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "$EGREP_TRADITIONAL"; then ac_path_EGREP_TRADITIONAL_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_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue # Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found. # Check for GNU $ac_path_EGREP_TRADITIONAL case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in @%:@( *GNU*) ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_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" 'EGREP_TRADITIONAL' >> "conftest.nl" "$ac_path_EGREP_TRADITIONAL" -E 'EGR(EP|AC)_TRADITIONAL$' < "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_EGREP_TRADITIONAL_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_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_EGREP_TRADITIONAL_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then : fi else ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL fi if test "$ac_cv_path_EGREP_TRADITIONAL" then : ac_cv_path_EGREP_TRADITIONAL="$ac_cv_path_EGREP_TRADITIONAL -E" else case e in @%:@( e) if test -z "$EGREP_TRADITIONAL"; then ac_path_EGREP_TRADITIONAL_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 egrep do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue # Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found. # Check for GNU $ac_path_EGREP_TRADITIONAL case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in @%:@( *GNU*) ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_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" 'EGREP_TRADITIONAL' >> "conftest.nl" "$ac_path_EGREP_TRADITIONAL" 'EGR(EP|AC)_TRADITIONAL$' < "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_EGREP_TRADITIONAL_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_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_EGREP_TRADITIONAL_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL fi ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP_TRADITIONAL" >&5 printf "%s\n" "$ac_cv_path_EGREP_TRADITIONAL" >&6; } EGREP_TRADITIONAL=$ac_cv_path_EGREP_TRADITIONAL cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #ifdef SA_RESTART yes #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP_TRADITIONAL "yes" >/dev/null 2>&1 then : MSG=yes VALUE=1 else case e in @%:@( e) MSG=no VALUE=0 ;; esac fi rm -rf conftest* printf "%s\n" "@%:@define OPAL_HAVE_SA_RESTART $VALUE" >>confdefs.h { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MSG" >&5 printf "%s\n" "$MSG" >&6; } opal_var_scope_pop MSG ac_fn_c_check_member "$LINENO" "struct sockaddr" "sa_len" "ac_cv_member_struct_sockaddr_sa_len" " #include #if HAVE_SYS_SOCKET_H #include #endif " if test "x$ac_cv_member_struct_sockaddr_sa_len" = xyes then : printf "%s\n" "@%:@define HAVE_STRUCT_SOCKADDR_SA_LEN 1" >>confdefs.h fi ac_fn_c_check_member "$LINENO" "struct dirent" "d_type" "ac_cv_member_struct_dirent_d_type" " #include #include " if test "x$ac_cv_member_struct_dirent_d_type" = xyes then : printf "%s\n" "@%:@define HAVE_STRUCT_DIRENT_D_TYPE 1" >>confdefs.h fi ac_fn_c_check_member "$LINENO" "siginfo_t" "si_fd" "ac_cv_member_siginfo_t_si_fd" "#include " if test "x$ac_cv_member_siginfo_t_si_fd" = xyes then : printf "%s\n" "@%:@define HAVE_SIGINFO_T_SI_FD 1" >>confdefs.h fi ac_fn_c_check_member "$LINENO" "siginfo_t" "si_band" "ac_cv_member_siginfo_t_si_band" "#include " if test "x$ac_cv_member_siginfo_t_si_band" = xyes then : printf "%s\n" "@%:@define HAVE_SIGINFO_T_SI_BAND 1" >>confdefs.h fi # # Checks for struct member names in struct statfs # ac_fn_c_check_member "$LINENO" "struct statfs" "f_type" "ac_cv_member_struct_statfs_f_type" " $ac_includes_default #ifdef HAVE_SYS_VFS_H #include #endif #ifdef HAVE_SYS_STATFS_H #include #endif " if test "x$ac_cv_member_struct_statfs_f_type" = xyes then : printf "%s\n" "@%:@define HAVE_STRUCT_STATFS_F_TYPE 1" >>confdefs.h fi ac_fn_c_check_member "$LINENO" "struct statfs" "f_fstypename" "ac_cv_member_struct_statfs_f_fstypename" " $ac_includes_default #ifdef HAVE_SYS_PARAM_H #include #endif #ifdef HAVE_SYS_MOUNT_H #include #endif #ifdef HAVE_SYS_VFS_H #include #endif #ifdef HAVE_SYS_STATFS_H #include #endif " if test "x$ac_cv_member_struct_statfs_f_fstypename" = xyes then : printf "%s\n" "@%:@define HAVE_STRUCT_STATFS_F_FSTYPENAME 1" >>confdefs.h fi # # Checks for struct member names in struct statvfs # ac_fn_c_check_member "$LINENO" "struct statvfs" "f_basetype" "ac_cv_member_struct_statvfs_f_basetype" " $ac_includes_default #ifdef HAVE_SYS_STATVFS_H #include #endif " if test "x$ac_cv_member_struct_statvfs_f_basetype" = xyes then : printf "%s\n" "@%:@define HAVE_STRUCT_STATVFS_F_BASETYPE 1" >>confdefs.h fi ac_fn_c_check_member "$LINENO" "struct statvfs" "f_fstypename" "ac_cv_member_struct_statvfs_f_fstypename" " $ac_includes_default #ifdef HAVE_SYS_STATVFS_H #include #endif " if test "x$ac_cv_member_struct_statvfs_f_fstypename" = xyes then : printf "%s\n" "@%:@define HAVE_STRUCT_STATVFS_F_FSTYPENAME 1" >>confdefs.h fi ac_fn_c_check_member "$LINENO" "struct timespec" "tv_nsec" "ac_cv_member_struct_timespec_tv_nsec" "$ac_includes_default #ifdef HAVE_TIME_H #include #endif #ifdef HAVE_SYS_TIME_H #include #endif " if test "x$ac_cv_member_struct_timespec_tv_nsec" = xyes then : printf "%s\n" "@%:@define HAVE_STRUCT_TIMESPEC_TV_NSEC 1" >>confdefs.h fi # # Find corresponding types for MPI_Aint, MPI_Count, and MPI_Offset. # And if relevant, find the corresponding MPI_ADDRESS_KIND, # MPI_COUNT_KIND, and MPI_OFFSET_KIND. # # MPI_Aint type is ptrdiff_t; just use that. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for type of MPI_Aint" >&5 printf %s "checking for type of MPI_Aint... " >&6; } MPI_AINT_TYPE=ptrdiff_t # Get the size of this type; we'll need it to figure out Fortran's # MPI_ADDRESS_KIND, later MPI_AINT_SIZE=$ac_cv_sizeof_ptrdiff_t printf "%s\n" "@%:@define OMPI_MPI_AINT_TYPE $MPI_AINT_TYPE" >>confdefs.h { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPI_AINT_TYPE (size: $MPI_AINT_SIZE)" >&5 printf "%s\n" "$MPI_AINT_TYPE (size: $MPI_AINT_SIZE)" >&6; } # Find the type of MPI_Count. Per MPI-3.0 2.5.8, it needs to be # as least as large as an int, MPI_Aint, and MPI_Offset (we'll # define MPI_Offset later to be the same as an MPI_Count). # Note, however, that per # https://svn.open-mpi.org/trac/ompi/ticket/4205, MPI_Count cannot # be larger than a size_t (e.g., if you're compiling in 32 bit # more on a 64 bit platform, long long will be 8 bytes, but size_t # will only be 4 bytes). The entire BTL, PML, and convertor # infrastructure rely on sizeof(MPI_Count) being <= # sizeof(size_t). So artificially limit the size of MPI_Count, if # necessary. # Also note: do not search for int64_t or int32_t, because using # these types mean that we would need to include in # mpi.h, which we probably shouldn't do. # Finally, note that MPI_Count has an impact on the extent of a # datatype, extent defined by the MPI standard as an MPI_Aint. # This MPI_Aint is also the largest different between two memory # pointers -- the well-known ptrdiff_t. There *are* systems where # the address space is 32 bit but the filesystem space is 64 bit # (e.g., BlueGene), and therefore MPI_Aint is 32 bit and # MPI_Offset (and therefore MPI_Count) is 64 bit. Open MPI # doesn't currently support this configuration -- re-tooling in # the convertor/PML/BML/BTL will be necessary before that can work # properly. # Keep in mind, however, that while ptrdiff_t and size_t represent # similar concepts (length or displacement in memory), one is # slightly larger than the other (one is unsigned and the other # signed) and there is no requirement for them to be of the same # width. On systems with non-monolithic memory space, the scheme # we use below may not work. On systems with non-monolithic # memory space, the scheme we use below may not work. ...but such # systems are pretty rare today. MPI_COUNT_TYPE=unknown { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for type of MPI_Count" >&5 printf %s "checking for type of MPI_Count... " >&6; } if test $ac_cv_sizeof_long_long -le $ac_cv_sizeof_size_t && \ test $ac_cv_sizeof_long_long -ge $MPI_AINT_SIZE; then MPI_COUNT_TYPE="long long" MPI_COUNT_DATATYPE=MPI_LONG_LONG MPI_COUNT_SIZE=$ac_cv_sizeof_long_long elif test $ac_cv_sizeof_long -le $ac_cv_sizeof_size_t && \ test $ac_cv_sizeof_long -ge $MPI_AINT_SIZE; then MPI_COUNT_TYPE=long MPI_COUNT_DATATYPE=MPI_LONG MPI_COUNT_SIZE=$ac_cv_sizeof_long elif test $ac_cv_sizeof_int -le $ac_cv_sizeof_size_t && \ test $ac_cv_sizeof_int -ge $MPI_AINT_SIZE; then MPI_COUNT_TYPE=int MPI_COUNT_DATATYPE=MPI_INT MPI_COUNT_SIZE=$ac_cv_sizeof_int fi if test "$MPI_COUNT_TYPE" = "unknown"; 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: *** Unable to find a good type for MPI_Count" >&5 printf "%s\n" "$as_me: WARNING: *** Unable to find a good type for MPI_Count" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test $MPI_COUNT_SIZE -eq 8 ; then MPI_COUNT_MAX="0x7fffffffffffffffll" elif test $MPI_COUNT_SIZE -eq 4 ; then MPI_COUNT_MAX="0x7fffffffl" elif test $MPI_COUNT_SIZE -eq 2 ; then MPI_COUNT_MAX="0x7fff" else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPI_COUNT_TYPE (size: $MPI_COUNT_SIZE)" >&5 printf "%s\n" "$MPI_COUNT_TYPE (size: $MPI_COUNT_SIZE)" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Configure cannot handle this size -- contact Open MPI developers" >&5 printf "%s\n" "$as_me: WARNING: *** Configure cannot handle this size -- contact Open MPI developers" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi printf "%s\n" "@%:@define OMPI_MPI_COUNT_SIZE $MPI_COUNT_SIZE" >>confdefs.h printf "%s\n" "@%:@define OMPI_MPI_COUNT_TYPE $MPI_COUNT_TYPE" >>confdefs.h printf "%s\n" "@%:@define MPI_COUNT_MAX $MPI_COUNT_MAX" >>confdefs.h { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPI_COUNT_TYPE (size: $MPI_COUNT_SIZE)" >&5 printf "%s\n" "$MPI_COUNT_TYPE (size: $MPI_COUNT_SIZE)" >&6; } # Just make MPI_Offset be the same as MPI_Count { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for type of MPI_Offset" >&5 printf %s "checking for type of MPI_Offset... " >&6; } MPI_OFFSET_TYPE=$MPI_COUNT_TYPE printf "%s\n" "@%:@define OMPI_MPI_OFFSET_TYPE $MPI_OFFSET_TYPE" >>confdefs.h MPI_OFFSET_SIZE=$MPI_COUNT_SIZE printf "%s\n" "@%:@define OMPI_MPI_OFFSET_SIZE $MPI_OFFSET_SIZE" >>confdefs.h { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPI_COUNT_TYPE (size: $MPI_OFFSET_SIZE)" >&5 printf "%s\n" "$MPI_COUNT_TYPE (size: $MPI_OFFSET_SIZE)" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for an MPI datatype for MPI_Offset" >&5 printf %s "checking for an MPI datatype for MPI_Offset... " >&6; } MPI_OFFSET_DATATYPE=$MPI_COUNT_DATATYPE printf "%s\n" "@%:@define OMPI_OFFSET_DATATYPE $MPI_OFFSET_DATATYPE" >>confdefs.h { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPI_OFFSET_DATATYPE" >&5 printf "%s\n" "$MPI_OFFSET_DATATYPE" >&6; } if test "$ompi_fortran_happy" = "1" && \ test "$OMPI_TRY_FORTRAN_BINDINGS" -gt "$OMPI_FORTRAN_NO_BINDINGS"; then # Get the kind value for Fortran MPI_INTEGER_KIND (corresponding # to whatever is the same size as a F77 INTEGER -- for the # most-likely-will-never-occur case where F77 INTEGER is smaller # than an F90 INTEGER; see MPI-2 4.12.6.5. As with OMPI # FORTRAN_CHECK, use the official BIND(C) KIND names (see comment # in fortran_check.m4). { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_INTEGER_KIND" >&5 printf %s "checking for MPI_INTEGER_KIND... " >&6; } if test $OMPI_SIZEOF_FORTRAN_INTEGER -eq 2; then OMPI_MPI_INTEGER_KIND=$OMPI_FORTRAN_C_INT16_T_KIND elif test $OMPI_SIZEOF_FORTRAN_INTEGER -eq 4; then OMPI_MPI_INTEGER_KIND=$OMPI_FORTRAN_C_INT32_T_KIND elif test $OMPI_SIZEOF_FORTRAN_INTEGER -eq 8; then OMPI_MPI_INTEGER_KIND=$OMPI_FORTRAN_C_INT64_T_KIND elif test $OMPI_SIZEOF_FORTRAN_INTEGER -eq 16; then as_fn_error $? "Cannot support Fortran MPI_INTEGER_KIND!" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OMPI_MPI_INTEGER_KIND" >&5 printf "%s\n" "$OMPI_MPI_INTEGER_KIND" >&6; } # Get the kind value for Fortran MPI_ADDRESS_KIND (corresponding # to whatever is big enough to hold MPI_Aint). { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_ADDRESS_KIND" >&5 printf %s "checking for MPI_ADDRESS_KIND... " >&6; } if test $MPI_AINT_SIZE -eq 2 ; then OMPI_MPI_ADDRESS_KIND=$OMPI_FORTRAN_C_INT16_T_KIND elif test $MPI_AINT_SIZE -eq 4 ; then OMPI_MPI_ADDRESS_KIND=$OMPI_FORTRAN_C_INT32_T_KIND elif test $MPI_AINT_SIZE -eq 8 ; then OMPI_MPI_ADDRESS_KIND=$OMPI_FORTRAN_C_INT64_T_KIND elif test $MPI_AINT_SIZE -eq 16 ; then as_fn_error $? "Cannot support Fortran MPI_ADDRESS_KIND!" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OMPI_MPI_ADDRESS_KIND" >&5 printf "%s\n" "$OMPI_MPI_ADDRESS_KIND" >&6; } # Get the kind value for Fortran MPI_COUNT_KIND (corresponding to # whatever is big enough to hold an MPI_Count) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_COUNT_KIND" >&5 printf %s "checking for MPI_COUNT_KIND... " >&6; } if test $MPI_COUNT_SIZE -eq 2 ; then OMPI_MPI_COUNT_KIND=$OMPI_FORTRAN_C_INT16_T_KIND elif test $MPI_COUNT_SIZE -eq 4 ; then OMPI_MPI_COUNT_KIND=$OMPI_FORTRAN_C_INT32_T_KIND elif test $MPI_COUNT_SIZE -eq 8 ; then OMPI_MPI_COUNT_KIND=$OMPI_FORTRAN_C_INT64_T_KIND elif test $MPI_COUNT_SIZE -eq 16 ; then as_fn_error $? "Cannot support Fortran MPI_COUNT_KIND!" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OMPI_MPI_COUNT_KIND" >&5 printf "%s\n" "$OMPI_MPI_COUNT_KIND" >&6; } # Get the kind value for Fortran MPI_OFFSET_KIND (corresponding to # whatever is big enough to hold an MPI_Offset) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MPI_OFFSET_KIND" >&5 printf %s "checking for MPI_OFFSET_KIND... " >&6; } if test $MPI_OFFSET_SIZE -eq 2 ; then OMPI_MPI_OFFSET_KIND=$OMPI_FORTRAN_C_INT16_T_KIND elif test $MPI_OFFSET_SIZE -eq 4 ; then OMPI_MPI_OFFSET_KIND=$OMPI_FORTRAN_C_INT32_T_KIND elif test $MPI_OFFSET_SIZE -eq 8 ; then OMPI_MPI_OFFSET_KIND=$OMPI_FORTRAN_C_INT64_T_KIND elif test $MPI_OFFSET_SIZE -eq 16 ; then as_fn_error $? "Cannot support Fortran MPI_OFFSET_KIND!" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OMPI_MPI_OFFSET_KIND" >&5 printf "%s\n" "$OMPI_MPI_OFFSET_KIND" >&6; } fi # checkpoint results cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # 'ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* 'ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( 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=\ *) # 'set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # 'set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 printf "%s\n" "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache ################################## # Linker characteristics ################################## { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the linker for support for the -fini option" >&5 printf %s "checking the linker for support for the -fini option... " >&6; } opal_var_scope_push ${LINENO} LDFLAGS_save LDFLAGS_save=$LDFLAGS LDFLAGS="$LDFLAGS_save -Wl,-fini -Wl,finalize" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ void finalize (void) {} int main (void) { ; 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_ld_have_fini=1 else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } opal_ld_have_fini=0 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$LDFLAGS_save opal_var_scope_pop LDFLAGS_save ################################## # Libraries ################################## opal_show_title "Library and Function tests" # Darwin doesn't need -lutil, as it's something other than this -lutil. opal_var_scope_push ${LINENO} LIBS_save add LIBS_save=$LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing openpty" >&5 printf %s "checking for library containing openpty... " >&6; } if test ${ac_cv_search_openpty+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* 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. The 'extern "C"' is for builds by C++ compilers; although this is not generally supported in C code supporting it here has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif char openpty (void); int main (void) { return openpty (); ; return 0; } _ACEOF for ac_lib in '' util do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO" then : ac_cv_search_openpty=$ac_res fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext if test ${ac_cv_search_openpty+y} then : break fi done if test ${ac_cv_search_openpty+y} then : else case e in @%:@( e) ac_cv_search_openpty=no ;; esac fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_openpty" >&5 printf "%s\n" "$ac_cv_search_openpty" >&6; } ac_res=$ac_cv_search_openpty if test "$ac_res" != no then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" # Found it! See if anything was added to LIBS add=`printf '%s\n' "$LIBS" | sed -e "s/$LIBS_save$//"` if test -n "$add" then : oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $add; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${wrapper_extra_libs}" then : wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) wrapper_extra_libs="${wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${wrapper_extra_libs}" then : wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) wrapper_extra_libs="${wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable opal_show_verbose "Adding \"$add\" to \"LIBS\"" fi opal_have_openpty=1 else case e in @%:@( e) opal_have_openpty=0 ;; esac fi printf "%s\n" "@%:@define OPAL_HAVE_OPENPTY $opal_have_openpty" >>confdefs.h opal_var_scope_pop LIBS_save add opal_var_scope_push ${LINENO} LIBS_save add LIBS_save=$LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyname" >&5 printf %s "checking for library containing gethostbyname... " >&6; } if test ${ac_cv_search_gethostbyname+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* 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. The 'extern "C"' is for builds by C++ compilers; although this is not generally supported in C code supporting it here has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif char gethostbyname (void); int main (void) { return gethostbyname (); ; return 0; } _ACEOF for ac_lib in '' nsl do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO" then : ac_cv_search_gethostbyname=$ac_res fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext if test ${ac_cv_search_gethostbyname+y} then : break fi done if test ${ac_cv_search_gethostbyname+y} then : else case e in @%:@( e) ac_cv_search_gethostbyname=no ;; esac fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostbyname" >&5 printf "%s\n" "$ac_cv_search_gethostbyname" >&6; } ac_res=$ac_cv_search_gethostbyname if test "$ac_res" != no then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" # Found it! See if anything was added to LIBS add=`printf '%s\n' "$LIBS" | sed -e "s/$LIBS_save$//"` if test -n "$add" then : oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $add; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${wrapper_extra_libs}" then : wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) wrapper_extra_libs="${wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${wrapper_extra_libs}" then : wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) wrapper_extra_libs="${wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable opal_show_verbose "Adding \"$add\" to \"LIBS\"" fi opal_have_gethostbyname=1 else case e in @%:@( e) opal_have_gethostbyname=0 ;; esac fi printf "%s\n" "@%:@define OPAL_HAVE_GETHOSTBYNAME $opal_have_gethostbyname" >>confdefs.h opal_var_scope_pop LIBS_save add opal_var_scope_push ${LINENO} LIBS_save add LIBS_save=$LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing socket" >&5 printf %s "checking for library containing socket... " >&6; } if test ${ac_cv_search_socket+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* 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. The 'extern "C"' is for builds by C++ compilers; although this is not generally supported in C code supporting it here has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif char socket (void); int main (void) { return socket (); ; return 0; } _ACEOF for ac_lib in '' socket do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO" then : ac_cv_search_socket=$ac_res fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext if test ${ac_cv_search_socket+y} then : break fi done if test ${ac_cv_search_socket+y} then : else case e in @%:@( e) ac_cv_search_socket=no ;; esac fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_socket" >&5 printf "%s\n" "$ac_cv_search_socket" >&6; } ac_res=$ac_cv_search_socket if test "$ac_res" != no then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" # Found it! See if anything was added to LIBS add=`printf '%s\n' "$LIBS" | sed -e "s/$LIBS_save$//"` if test -n "$add" then : oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $add; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${wrapper_extra_libs}" then : wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) wrapper_extra_libs="${wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${wrapper_extra_libs}" then : wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) wrapper_extra_libs="${wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable opal_show_verbose "Adding \"$add\" to \"LIBS\"" fi opal_have_socket=1 else case e in @%:@( e) opal_have_socket=0 ;; esac fi printf "%s\n" "@%:@define OPAL_HAVE_SOCKET $opal_have_socket" >>confdefs.h opal_var_scope_pop LIBS_save add # Solaris has sched_yield in -lrt, usually in libc opal_var_scope_push ${LINENO} LIBS_save add LIBS_save=$LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing sched_yield" >&5 printf %s "checking for library containing sched_yield... " >&6; } if test ${ac_cv_search_sched_yield+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* 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. The 'extern "C"' is for builds by C++ compilers; although this is not generally supported in C code supporting it here has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif char sched_yield (void); int main (void) { return sched_yield (); ; return 0; } _ACEOF for ac_lib in '' rt do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO" then : ac_cv_search_sched_yield=$ac_res fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext if test ${ac_cv_search_sched_yield+y} then : break fi done if test ${ac_cv_search_sched_yield+y} then : else case e in @%:@( e) ac_cv_search_sched_yield=no ;; esac fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_sched_yield" >&5 printf "%s\n" "$ac_cv_search_sched_yield" >&6; } ac_res=$ac_cv_search_sched_yield if test "$ac_res" != no then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" # Found it! See if anything was added to LIBS add=`printf '%s\n' "$LIBS" | sed -e "s/$LIBS_save$//"` if test -n "$add" then : oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $add; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${wrapper_extra_libs}" then : wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) wrapper_extra_libs="${wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${wrapper_extra_libs}" then : wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) wrapper_extra_libs="${wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable opal_show_verbose "Adding \"$add\" to \"LIBS\"" fi opal_have_sched_yield=1 else case e in @%:@( e) opal_have_sched_yield=0 ;; esac fi printf "%s\n" "@%:@define OPAL_HAVE_SCHED_YIELD $opal_have_sched_yield" >>confdefs.h opal_var_scope_pop LIBS_save add # IRIX and CentOS have dirname in -lgen, usually in libc opal_var_scope_push ${LINENO} LIBS_save add LIBS_save=$LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing dirname" >&5 printf %s "checking for library containing dirname... " >&6; } if test ${ac_cv_search_dirname+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* 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. The 'extern "C"' is for builds by C++ compilers; although this is not generally supported in C code supporting it here has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif char dirname (void); int main (void) { return dirname (); ; return 0; } _ACEOF for ac_lib in '' gen do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO" then : ac_cv_search_dirname=$ac_res fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext if test ${ac_cv_search_dirname+y} then : break fi done if test ${ac_cv_search_dirname+y} then : else case e in @%:@( e) ac_cv_search_dirname=no ;; esac fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dirname" >&5 printf "%s\n" "$ac_cv_search_dirname" >&6; } ac_res=$ac_cv_search_dirname if test "$ac_res" != no then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" # Found it! See if anything was added to LIBS add=`printf '%s\n' "$LIBS" | sed -e "s/$LIBS_save$//"` if test -n "$add" then : oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $add; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${wrapper_extra_libs}" then : wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) wrapper_extra_libs="${wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${wrapper_extra_libs}" then : wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) wrapper_extra_libs="${wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable opal_show_verbose "Adding \"$add\" to \"LIBS\"" fi opal_have_dirname=1 else case e in @%:@( e) opal_have_dirname=0 ;; esac fi printf "%s\n" "@%:@define OPAL_HAVE_DIRNAME $opal_have_dirname" >>confdefs.h opal_var_scope_pop LIBS_save add # Darwin doesn't need -lm, as it's a symlink to libSystem.dylib opal_var_scope_push ${LINENO} LIBS_save add LIBS_save=$LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing ceil" >&5 printf %s "checking for library containing ceil... " >&6; } if test ${ac_cv_search_ceil+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* 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. The 'extern "C"' is for builds by C++ compilers; although this is not generally supported in C code supporting it here has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif char ceil (void); int main (void) { return ceil (); ; return 0; } _ACEOF for ac_lib in '' m do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO" then : ac_cv_search_ceil=$ac_res fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext if test ${ac_cv_search_ceil+y} then : break fi done if test ${ac_cv_search_ceil+y} then : else case e in @%:@( e) ac_cv_search_ceil=no ;; esac fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_ceil" >&5 printf "%s\n" "$ac_cv_search_ceil" >&6; } ac_res=$ac_cv_search_ceil if test "$ac_res" != no then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" # Found it! See if anything was added to LIBS add=`printf '%s\n' "$LIBS" | sed -e "s/$LIBS_save$//"` if test -n "$add" then : oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $add; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${wrapper_extra_libs}" then : wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) wrapper_extra_libs="${wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${wrapper_extra_libs}" then : wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) wrapper_extra_libs="${wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable opal_show_verbose "Adding \"$add\" to \"LIBS\"" fi opal_have_ceil=1 else case e in @%:@( e) opal_have_ceil=0 ;; esac fi printf "%s\n" "@%:@define OPAL_HAVE_CEIL $opal_have_ceil" >>confdefs.h opal_var_scope_pop LIBS_save add # -lrt might be needed for clock_gettime opal_var_scope_push ${LINENO} LIBS_save add LIBS_save=$LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing clock_gettime" >&5 printf %s "checking for library containing clock_gettime... " >&6; } if test ${ac_cv_search_clock_gettime+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* 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. The 'extern "C"' is for builds by C++ compilers; although this is not generally supported in C code supporting it here has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif char clock_gettime (void); int main (void) { return clock_gettime (); ; return 0; } _ACEOF for ac_lib in '' rt do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO" then : ac_cv_search_clock_gettime=$ac_res fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext if test ${ac_cv_search_clock_gettime+y} then : break fi done if test ${ac_cv_search_clock_gettime+y} then : else case e in @%:@( e) ac_cv_search_clock_gettime=no ;; esac fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5 printf "%s\n" "$ac_cv_search_clock_gettime" >&6; } ac_res=$ac_cv_search_clock_gettime if test "$ac_res" != no then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" # Found it! See if anything was added to LIBS add=`printf '%s\n' "$LIBS" | sed -e "s/$LIBS_save$//"` if test -n "$add" then : oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $add; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${wrapper_extra_libs}" then : wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) wrapper_extra_libs="${wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${wrapper_extra_libs}" then : wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) wrapper_extra_libs="${wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable opal_show_verbose "Adding \"$add\" to \"LIBS\"" fi opal_have_clock_gettime=1 else case e in @%:@( e) opal_have_clock_gettime=0 ;; esac fi printf "%s\n" "@%:@define OPAL_HAVE_CLOCK_GETTIME $opal_have_clock_gettime" >>confdefs.h opal_var_scope_pop LIBS_save add ac_fn_c_check_func "$LINENO" "asprintf" "ac_cv_func_asprintf" if test "x$ac_cv_func_asprintf" = xyes then : printf "%s\n" "@%:@define HAVE_ASPRINTF 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "snprintf" "ac_cv_func_snprintf" if test "x$ac_cv_func_snprintf" = xyes then : printf "%s\n" "@%:@define HAVE_SNPRINTF 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "vasprintf" "ac_cv_func_vasprintf" if test "x$ac_cv_func_vasprintf" = xyes then : printf "%s\n" "@%:@define HAVE_VASPRINTF 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "vsnprintf" "ac_cv_func_vsnprintf" if test "x$ac_cv_func_vsnprintf" = xyes then : printf "%s\n" "@%:@define HAVE_VSNPRINTF 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "openpty" "ac_cv_func_openpty" if test "x$ac_cv_func_openpty" = xyes then : printf "%s\n" "@%:@define HAVE_OPENPTY 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "isatty" "ac_cv_func_isatty" if test "x$ac_cv_func_isatty" = xyes then : printf "%s\n" "@%:@define HAVE_ISATTY 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "getpwuid" "ac_cv_func_getpwuid" if test "x$ac_cv_func_getpwuid" = xyes then : printf "%s\n" "@%:@define HAVE_GETPWUID 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "fork" "ac_cv_func_fork" if test "x$ac_cv_func_fork" = xyes then : printf "%s\n" "@%:@define HAVE_FORK 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "waitpid" "ac_cv_func_waitpid" if test "x$ac_cv_func_waitpid" = xyes then : printf "%s\n" "@%:@define HAVE_WAITPID 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "execve" "ac_cv_func_execve" if test "x$ac_cv_func_execve" = xyes then : printf "%s\n" "@%:@define HAVE_EXECVE 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "pipe" "ac_cv_func_pipe" if test "x$ac_cv_func_pipe" = xyes then : printf "%s\n" "@%:@define HAVE_PIPE 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "ptsname" "ac_cv_func_ptsname" if test "x$ac_cv_func_ptsname" = xyes then : printf "%s\n" "@%:@define HAVE_PTSNAME 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "setsid" "ac_cv_func_setsid" if test "x$ac_cv_func_setsid" = xyes then : printf "%s\n" "@%:@define HAVE_SETSID 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap" if test "x$ac_cv_func_mmap" = xyes then : printf "%s\n" "@%:@define HAVE_MMAP 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "tcgetpgrp" "ac_cv_func_tcgetpgrp" if test "x$ac_cv_func_tcgetpgrp" = xyes then : printf "%s\n" "@%:@define HAVE_TCGETPGRP 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "posix_memalign" "ac_cv_func_posix_memalign" if test "x$ac_cv_func_posix_memalign" = xyes then : printf "%s\n" "@%:@define HAVE_POSIX_MEMALIGN 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "strsignal" "ac_cv_func_strsignal" if test "x$ac_cv_func_strsignal" = xyes then : printf "%s\n" "@%:@define HAVE_STRSIGNAL 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "sysconf" "ac_cv_func_sysconf" if test "x$ac_cv_func_sysconf" = xyes then : printf "%s\n" "@%:@define HAVE_SYSCONF 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "syslog" "ac_cv_func_syslog" if test "x$ac_cv_func_syslog" = xyes then : printf "%s\n" "@%:@define HAVE_SYSLOG 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "vsyslog" "ac_cv_func_vsyslog" if test "x$ac_cv_func_vsyslog" = xyes then : printf "%s\n" "@%:@define HAVE_VSYSLOG 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "regcmp" "ac_cv_func_regcmp" if test "x$ac_cv_func_regcmp" = xyes then : printf "%s\n" "@%:@define HAVE_REGCMP 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "regexec" "ac_cv_func_regexec" if test "x$ac_cv_func_regexec" = xyes then : printf "%s\n" "@%:@define HAVE_REGEXEC 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "regfree" "ac_cv_func_regfree" if test "x$ac_cv_func_regfree" = xyes then : printf "%s\n" "@%:@define HAVE_REGFREE 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "_NSGetEnviron" "ac_cv_func__NSGetEnviron" if test "x$ac_cv_func__NSGetEnviron" = xyes then : printf "%s\n" "@%:@define HAVE__NSGETENVIRON 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "socketpair" "ac_cv_func_socketpair" if test "x$ac_cv_func_socketpair" = xyes then : printf "%s\n" "@%:@define HAVE_SOCKETPAIR 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "usleep" "ac_cv_func_usleep" if test "x$ac_cv_func_usleep" = xyes then : printf "%s\n" "@%:@define HAVE_USLEEP 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "mkfifo" "ac_cv_func_mkfifo" if test "x$ac_cv_func_mkfifo" = xyes then : printf "%s\n" "@%:@define HAVE_MKFIFO 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "dbopen" "ac_cv_func_dbopen" if test "x$ac_cv_func_dbopen" = xyes then : printf "%s\n" "@%:@define HAVE_DBOPEN 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "dbm_open" "ac_cv_func_dbm_open" if test "x$ac_cv_func_dbm_open" = xyes then : printf "%s\n" "@%:@define HAVE_DBM_OPEN 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "statfs" "ac_cv_func_statfs" if test "x$ac_cv_func_statfs" = xyes then : printf "%s\n" "@%:@define HAVE_STATFS 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "statvfs" "ac_cv_func_statvfs" if test "x$ac_cv_func_statvfs" = xyes then : printf "%s\n" "@%:@define HAVE_STATVFS 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "setpgid" "ac_cv_func_setpgid" if test "x$ac_cv_func_setpgid" = xyes then : printf "%s\n" "@%:@define HAVE_SETPGID 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "setenv" "ac_cv_func_setenv" if test "x$ac_cv_func_setenv" = xyes then : printf "%s\n" "@%:@define HAVE_SETENV 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "__malloc_initialize_hook" "ac_cv_func___malloc_initialize_hook" if test "x$ac_cv_func___malloc_initialize_hook" = xyes then : printf "%s\n" "@%:@define HAVE___MALLOC_INITIALIZE_HOOK 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "__clear_cache" "ac_cv_func___clear_cache" if test "x$ac_cv_func___clear_cache" = xyes then : printf "%s\n" "@%:@define HAVE___CLEAR_CACHE 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "on_exit" "ac_cv_func_on_exit" if test "x$ac_cv_func_on_exit" = xyes then : printf "%s\n" "@%:@define HAVE_ON_EXIT 1" >>confdefs.h fi # Sanity check: ensure that we got at least one of statfs or statvfs. if test $ac_cv_func_statfs = no && test $ac_cv_func_statvfs = no; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: neither statfs() and statvfs() were found" >&5 printf "%s\n" "$as_me: WARNING: neither statfs() and statvfs() were found" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi # On some hosts, htonl is a define, so the AC_CHECK_FUNC will get # confused. On others, it's in the standard library, but stubbed with # the magic glibc foo as not implemented. and on other systems, it's # just not there. This covers all cases. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for htonl define" >&5 printf %s "checking for htonl define... " >&6; } if test ${ompi_cv_htonl_define+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef HAVE_SYS_TYPES_H #include #endif #ifdef HAVE_NETINET_IN_H #include #endif #ifdef HAVE_ARPA_INET_H #include #endif int main (void) { #ifndef ntohl #error "ntohl not defined" #endif ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO" then : ompi_cv_htonl_define=yes else case e in @%:@( e) ompi_cv_htonl_define=no ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_htonl_define" >&5 printf "%s\n" "$ompi_cv_htonl_define" >&6; } ac_fn_c_check_func "$LINENO" "htonl" "ac_cv_func_htonl" if test "x$ac_cv_func_htonl" = xyes then : ompi_have_htonl=yes else case e in @%:@( e) ompi_have_htonl=no ;; esac fi if test "$ompi_cv_htonl_define" = "yes" || test "$ompi_have_htonl" = "yes" then : printf "%s\n" "@%:@define HAVE_UNIX_BYTESWAP 1" >>confdefs.h fi # # Make sure we can copy va_lists (need check declared, not linkable) # ac_fn_check_decl "$LINENO" "va_copy" "ac_cv_have_decl_va_copy" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_va_copy" = xyes then : OPAL_HAVE_VA_COPY=1 else case e in @%:@( e) OPAL_HAVE_VA_COPY=0 ;; esac fi printf "%s\n" "@%:@define OPAL_HAVE_VA_COPY $OPAL_HAVE_VA_COPY" >>confdefs.h ac_fn_check_decl "$LINENO" "__va_copy" "ac_cv_have_decl___va_copy" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl___va_copy" = xyes then : OPAL_HAVE_UNDERSCORE_VA_COPY=1 else case e in @%:@( e) OPAL_HAVE_UNDERSCORE_VA_COPY=0 ;; esac fi printf "%s\n" "@%:@define OPAL_HAVE_UNDERSCORE_VA_COPY $OPAL_HAVE_UNDERSCORE_VA_COPY" >>confdefs.h ac_fn_check_decl "$LINENO" "__func__" "ac_cv_have_decl___func__" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl___func__" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL___FUNC__ $ac_have_decl" >>confdefs.h # checkpoint results cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # 'ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* 'ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( 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=\ *) # 'set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # 'set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 printf "%s\n" "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache ################################## # System-specific tests ################################## opal_show_title "System-specific tests" ################################## { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking __NetBSD__" >&5 printf %s "checking __NetBSD__... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __NetBSD__ #this is not __NetBSD__, error #endif int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : opal_found_netbsd=yes else case e in @%:@( e) opal_found_netbsd=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_found_netbsd" >&5 printf "%s\n" "$opal_found_netbsd" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking __FreeBSD__" >&5 printf %s "checking __FreeBSD__... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __FreeBSD__ #this is not __FreeBSD__, error #endif int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : opal_found_freebsd=yes else case e in @%:@( e) opal_found_freebsd=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_found_freebsd" >&5 printf "%s\n" "$opal_found_freebsd" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking __OpenBSD__" >&5 printf %s "checking __OpenBSD__... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __OpenBSD__ #this is not __OpenBSD__, error #endif int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : opal_found_openbsd=yes else case e in @%:@( e) opal_found_openbsd=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_found_openbsd" >&5 printf "%s\n" "$opal_found_openbsd" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking __DragonFly__" >&5 printf %s "checking __DragonFly__... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __DragonFly__ #this is not __DragonFly__, error #endif int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : opal_found_dragonfly=yes else case e in @%:@( e) opal_found_dragonfly=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_found_dragonfly" >&5 printf "%s\n" "$opal_found_dragonfly" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking __386BSD__" >&5 printf %s "checking __386BSD__... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __386BSD__ #this is not __386BSD__, error #endif int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : opal_found_386bsd=yes else case e in @%:@( e) opal_found_386bsd=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_found_386bsd" >&5 printf "%s\n" "$opal_found_386bsd" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking __bsdi__" >&5 printf %s "checking __bsdi__... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __bsdi__ #this is not __bsdi__, error #endif int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : opal_found_bsdi=yes else case e in @%:@( e) opal_found_bsdi=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_found_bsdi" >&5 printf "%s\n" "$opal_found_bsdi" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking __APPLE__" >&5 printf %s "checking __APPLE__... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __APPLE__ #this is not __APPLE__, error #endif int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : opal_found_apple=yes else case e in @%:@( e) opal_found_apple=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_found_apple" >&5 printf "%s\n" "$opal_found_apple" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking __linux__" >&5 printf %s "checking __linux__... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __linux__ #this is not __linux__, error #endif int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : opal_found_linux=yes else case e in @%:@( e) opal_found_linux=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_found_linux" >&5 printf "%s\n" "$opal_found_linux" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking __sun__" >&5 printf %s "checking __sun__... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __sun__ #this is not __sun__, error #endif int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : opal_found_sun=yes else case e in @%:@( e) opal_found_sun=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_found_sun" >&5 printf "%s\n" "$opal_found_sun" >&6; } if test "$opal_found_sun" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking __sun" >&5 printf %s "checking __sun... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __sun #this is not __sun, error #endif int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : opal_found_sun=yes else case e in @%:@( e) opal_found_sun=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_found_sun" >&5 printf "%s\n" "$opal_found_sun" >&6; } fi if test "$opal_found_sun" = "yes" then : opal_have_solaris=1 CFLAGS="$CFLAGS -D_REENTRANT" CPPFLAGS="$CPPFLAGS -D_REENTRANT" else case e in @%:@( e) opal_have_solaris=0 ;; esac fi printf "%s\n" "@%:@define OPAL_HAVE_SOLARIS $opal_have_solaris" >>confdefs.h # check for sockaddr_in (a good sign we have TCP) ac_fn_c_check_header_compile "$LINENO" "netdb.h" "ac_cv_header_netdb_h" "$ac_includes_default" if test "x$ac_cv_header_netdb_h" = xyes then : printf "%s\n" "@%:@define HAVE_NETDB_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "netinet/in.h" "ac_cv_header_netinet_in_h" "$ac_includes_default" if test "x$ac_cv_header_netinet_in_h" = xyes then : printf "%s\n" "@%:@define HAVE_NETINET_IN_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "netinet/tcp.h" "ac_cv_header_netinet_tcp_h" "$ac_includes_default" if test "x$ac_cv_header_netinet_tcp_h" = xyes then : printf "%s\n" "@%:@define HAVE_NETINET_TCP_H 1" >>confdefs.h fi ac_fn_c_check_type "$LINENO" "struct sockaddr_in" "ac_cv_type_struct_sockaddr_in" "$ac_includes_default #ifdef HAVE_NETINET_IN_H #include #endif " if test "x$ac_cv_type_struct_sockaddr_in" = xyes then : printf "%s\n" "@%:@define HAVE_STRUCT_SOCKADDR_IN 1" >>confdefs.h opal_found_sockaddr=yes else case e in @%:@( e) opal_found_sockaddr=no ;; esac fi # Do we have _SC_NPROCESSORS_ONLN? (only going to pass if we also have # and sysconf(), which is ok) OS X 10.4 has and # sysconf(), but does not have _SC_NPROCESSORS_ONLN. Doh! { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for _SC_NPROCESSORS_ONLN" >&5 printf %s "checking for _SC_NPROCESSORS_ONLN... " >&6; } if test ${ompi_cv_have__SC_NPROCESSORS_ONLN+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default #include int main (void) { int i = _SC_NPROCESSORS_ONLN; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : ompi_cv_have__SC_NPROCESSORS_ONLN="yes" else case e in @%:@( e) ompi_cv_have__SC_NPROCESSORS_ONLN="no" ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_have__SC_NPROCESSORS_ONLN" >&5 printf "%s\n" "$ompi_cv_have__SC_NPROCESSORS_ONLN" >&6; } if test "$ompi_cv_have__SC_NPROCESSORS_ONLN" = "yes" then : result=1 else case e in @%:@( e) result=0 ;; esac fi printf "%s\n" "@%:@define OPAL_HAVE__SC_NPROCESSORS_ONLN $result" >>confdefs.h # all: endian { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 printf %s "checking whether byte ordering is bigendian... " >&6; } if test ${ac_cv_c_bigendian+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) ac_cv_c_bigendian=unknown # See if we're dealing with a universal compiler. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __APPLE_CC__ not a universal capable compiler #endif typedef int dummy; _ACEOF if ac_fn_c_try_compile "$LINENO" then : # Check for potential -arch flags. It is not universal unless # there are at least two -arch flags with different values. ac_arch= ac_prev= for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do if test -n "$ac_prev"; then case $ac_word in i?86 | x86_64 | ppc | ppc64) if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then ac_arch=$ac_word else ac_cv_c_bigendian=universal break fi ;; esac ac_prev= elif test "x$ac_word" = "x-arch"; then ac_prev=arch fi done fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext if test $ac_cv_c_bigendian = unknown; then # See if sys/param.h defines the BYTE_ORDER macro. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main (void) { #if ! (defined BYTE_ORDER && defined BIG_ENDIAN \\ && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \\ && LITTLE_ENDIAN) bogus endian macros #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : # It does; now see whether it defined to BIG_ENDIAN or not. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main (void) { #if BYTE_ORDER != BIG_ENDIAN not big endian #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : ac_cv_c_bigendian=yes else case e in @%:@( e) ac_cv_c_bigendian=no ;; esac 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 if test $ac_cv_c_bigendian = unknown; then # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) bogus endian macros #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : # It does; now see whether it defined to _BIG_ENDIAN or not. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #ifndef _BIG_ENDIAN not big endian #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : ac_cv_c_bigendian=yes else case e in @%:@( e) ac_cv_c_bigendian=no ;; esac 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 if test $ac_cv_c_bigendian = unknown; then # Compile a test program. if test "$cross_compiling" = yes then : # Try to guess by grepping values from an object file. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ unsigned short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; unsigned short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; int use_ascii (int i) { return ascii_mm[i] + ascii_ii[i]; } unsigned short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; unsigned short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; int use_ebcdic (int i) { return ebcdic_mm[i] + ebcdic_ii[i]; } int main (int argc, char **argv) { /* Intimidate the compiler so that it does not optimize the arrays away. */ char *p = argv[0]; ascii_mm[1] = *p++; ebcdic_mm[1] = *p++; ascii_ii[1] = *p++; ebcdic_ii[1] = *p++; return use_ascii (argc) == use_ebcdic (*p); } _ACEOF if ac_fn_c_try_link "$LINENO" then : if grep BIGenDianSyS conftest$ac_exeext >/dev/null; then ac_cv_c_bigendian=yes fi if grep LiTTleEnDian conftest$ac_exeext >/dev/null ; then if test "$ac_cv_c_bigendian" = unknown; then ac_cv_c_bigendian=no else # finding both strings is unlikely to happen, but who knows? ac_cv_c_bigendian=unknown fi fi fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext else case e in @%:@( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main (void) { /* Are we little or big endian? From Harbison&Steele. */ union { long int l; char c[sizeof (long int)]; } u; u.l = 1; return u.c[sizeof (long int) - 1] == 1; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO" then : ac_cv_c_bigendian=no else case e in @%:@( e) ac_cv_c_bigendian=yes ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 printf "%s\n" "$ac_cv_c_bigendian" >&6; } case $ac_cv_c_bigendian in #( yes) printf "%s\n" "@%:@define WORDS_BIGENDIAN 1" >>confdefs.h ;; #( no) ;; #( universal) printf "%s\n" "@%:@define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h ;; #( *) as_fn_error $? "unknown endianness presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; esac @%:@ Check whether --with-broken-qsort was given. if test ${with_broken_qsort+y} then : withval=$with_broken_qsort; fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for broken qsort" >&5 printf %s "checking for broken qsort... " >&6; } if test "$with_broken_qsort" = "yes"; then result="yes" define_result=1 else result="no" define_result=0 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $result" >&5 printf "%s\n" "$result" >&6; } printf "%s\n" "@%:@define OPAL_HAVE_BROKEN_QSORT $define_result" >>confdefs.h # all: SYSV semaphores # all: SYSV shared memory # all: size of FD_SET # all: sizeof struct stat members # all: type of getsockopt optlen # all: type of recvfrom optlen # # What is the local equivalent of "ln -s" # { 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 { 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 case e in @%:@( e) 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 ;; esac 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" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 printf %s "checking for egrep... " >&6; } if test ${ac_cv_path_EGREP+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_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 egrep do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in @%:@( *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_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" 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_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_EGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP fi fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 printf "%s\n" "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" EGREP_TRADITIONAL=$EGREP ac_cv_path_EGREP_TRADITIONAL=$EGREP # # We need as and flex # # 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 case e in @%:@( e) 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 ;; esac 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 for ac_prog in flex lex 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_LEX+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -n "$LEX"; then ac_cv_prog_LEX="$LEX" # 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_LEX="$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 ;; esac fi LEX=$ac_cv_prog_LEX if test -n "$LEX"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LEX" >&5 printf "%s\n" "$LEX" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi test -n "$LEX" && break done test -n "$LEX" || LEX=":" if test "x$LEX" != "x:"; then cat >conftest.l <<_ACEOF %{ #ifdef __cplusplus extern "C" #endif int yywrap(void); %} %% a { ECHO; } b { REJECT; } c { yymore (); } d { yyless (1); } e { /* IRIX 6.5 flex 2.5.4 underquotes its yyless argument. */ #ifdef __cplusplus yyless ((yyinput () != 0)); #else yyless ((input () != 0)); #endif } f { unput (yytext[0]); } . { BEGIN INITIAL; } %% #ifdef YYTEXT_POINTER extern char *yytext; #endif int yywrap (void) { return 1; } int main (void) { return ! yylex (); } _ACEOF { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lex output file root" >&5 printf %s "checking for lex output file root... " >&6; } if test ${ac_cv_prog_lex_root+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) ac_cv_prog_lex_root=unknown { { ac_try="$LEX conftest.l" 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 "$LEX conftest.l") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && if test -f lex.yy.c; then ac_cv_prog_lex_root=lex.yy elif test -f lexyy.c; then ac_cv_prog_lex_root=lexyy fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_lex_root" >&5 printf "%s\n" "$ac_cv_prog_lex_root" >&6; } if test "$ac_cv_prog_lex_root" = unknown then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cannot find output from $LEX; giving up on $LEX" >&5 printf "%s\n" "$as_me: WARNING: cannot find output from $LEX; giving up on $LEX" >&2;} LEX=: LEXLIB= fi LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root if test ${LEXLIB+y} then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lex library" >&5 printf %s "checking for lex library... " >&6; } if test ${ac_cv_lib_lex+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) ac_save_LIBS="$LIBS" ac_found=false for ac_cv_lib_lex in 'none needed' -lfl -ll 'not found'; do case $ac_cv_lib_lex in @%:@( 'none needed') : ;; @%:@( 'not found') : break ;; @%:@( *) : LIBS="$ac_cv_lib_lex $ac_save_LIBS" ;; @%:@( *) : ;; esac cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ `cat $LEX_OUTPUT_ROOT.c` _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_found=: fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext if $ac_found; then break fi done LIBS="$ac_save_LIBS" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lex" >&5 printf "%s\n" "$ac_cv_lib_lex" >&6; } if test "$ac_cv_lib_lex" = 'not found' then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: required lex library not found; giving up on $LEX" >&5 printf "%s\n" "$as_me: WARNING: required lex library not found; giving up on $LEX" >&2;} LEX=: LEXLIB= elif test "$ac_cv_lib_lex" = 'none needed' then : LEXLIB='' else case e in @%:@( e) LEXLIB=$ac_cv_lib_lex ;; esac fi ;; esac fi if test "$LEX" != : then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether yytext is a pointer" >&5 printf %s "checking whether yytext is a pointer... " >&6; } if test ${ac_cv_prog_lex_yytext_pointer+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) # POSIX says lex can declare yytext either as a pointer or an array; the # default is implementation-dependent. Figure out which it is, since # not all implementations provide the %pointer and %array declarations. ac_cv_prog_lex_yytext_pointer=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define YYTEXT_POINTER 1 `cat $LEX_OUTPUT_ROOT.c` _ACEOF if ac_fn_c_try_compile "$LINENO" then : ac_cv_prog_lex_yytext_pointer=yes fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_lex_yytext_pointer" >&5 printf "%s\n" "$ac_cv_prog_lex_yytext_pointer" >&6; } if test $ac_cv_prog_lex_yytext_pointer = yes; then printf "%s\n" "@%:@define YYTEXT_POINTER 1" >>confdefs.h fi fi rm -f conftest.l $LEX_OUTPUT_ROOT.c fi # If we don't have Flex and we don't have a generated .c file # (distribution tarballs will have the .c file included, but git # clones will not), then error. Must have Flex -- other versions of # Lex are not workable (all things being equal, since this is *only* # required for developers, we decided that it really was not worth it # to be portable between different versions of lex ;-). if test -z "$LEX" || \ test -n "`echo $LEX | $GREP missing`" || \ test "`basename $LEX`" != "flex" then : if test ! -f "$srcdir/opal/util/show_help_lex.c" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Could not find Flex on your system." >&5 printf "%s\n" "$as_me: WARNING: *** Could not find Flex on your system." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Flex is required for developer builds of Open MPI." >&5 printf "%s\n" "$as_me: WARNING: *** Flex is required for developer builds of Open MPI." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Other versions of Lex are not supported." >&5 printf "%s\n" "$as_me: WARNING: *** Other versions of Lex are not supported." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** NOTE: If you are building a tarball downloaded from www.open-mpi.org, you do not need Flex" >&5 printf "%s\n" "$as_me: WARNING: *** NOTE: If you are building a tarball downloaded from www.open-mpi.org, you do not need Flex" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # # Setup HTML and man page processing # oac_var_scope_push ${LINENO} oac_summary_msg oac_sphinx_result oac_install_docs oac_sphinx_target_version oac_sphinx_found_version # This option is probably only helpful to developers: have # configure fail if Sphinx is not found (i.e., if you don't have # the ability to use Sphinx to build the HTML docs and man pages). @%:@ Check whether --enable-sphinx was given. if test ${enable_sphinx+y} then : enableval=$enable_sphinx; fi # Quick check to see if we have already-built docs (e.g., if we're # in a tarball vs. a fresh git clone). { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if pre-built docs are available" >&5 printf %s "checking if pre-built docs are available... " >&6; } if test -f "$srcdir/docs/man/MPI_T.3" then : oac_install_docs=1 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } else case e in @%:@( e) oac_install_docs=0 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac fi # To generate HTML docs + man pages, we need Sphinx. If we have # Sphinx, then we're able to both build and install the docs # (potentially overriding oac_install_docs from what it was set # above). # Extract the first word of "sphinx-build", so it can be a program name with args. set dummy sphinx-build; 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_SPHINX_BUILD+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) case $SPHINX_BUILD in [\\/]* | ?:[\\/]*) ac_cv_path_SPHINX_BUILD="$SPHINX_BUILD" # 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_SPHINX_BUILD="$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 ;; esac fi SPHINX_BUILD=$ac_cv_path_SPHINX_BUILD if test -n "$SPHINX_BUILD"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SPHINX_BUILD" >&5 printf "%s\n" "$SPHINX_BUILD" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi # If the user requested to disable sphinx, then pretend we didn't # find it. if test "$enable_sphinx" = "no" then : SPHINX_BUILD= fi # If we found Sphinx, check to ensure that it's a recent enough # version. if test -n "$SPHINX_BUILD" then : oac_sphinx_target_version=`sed -n -e 's/sphinx[><=]*\([0-9\.]\)/\1/p' $srcdir/docs/requirements.txt` # Some older versions of Sphinx (e.g., Sphinx v1.1.3 in # RHEL 7): # # - Don't support "--version". # - But do emit the version number as part of the general # CLI help when they don't recognize the --version CLI # option. # # In that case, we only want the first line, and we want to # strip off the leading "v" from the version number. # # In the case where --version *is* recognized, all the # additional processing is harmless and we still end up # with the Sphinx version number. oac_sphinx_found_version=`$SPHINX_BUILD --version 2>&1 | head -n 1 | cut -d\ -f2 | sed -e 's/^v//'` { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Sphinx version is high enough ($oac_sphinx_found_version >= $oac_sphinx_target_version)" >&5 printf %s "checking if Sphinx version is high enough ($oac_sphinx_found_version >= $oac_sphinx_target_version)... " >&6; } as_arg_v1=$oac_sphinx_found_version as_arg_v2=$oac_sphinx_target_version awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null case $? in @%:@( 1) : oac_sphinx_result=lesser ;; @%:@( 0) : oac_sphinx_result=equal ;; @%:@( 2) : oac_sphinx_result=greater ;; @%:@( *) : ;; esac if test "$oac_sphinx_result" = "lesser" then : SPHINX_BUILD= { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } else case e in @%:@( e) # If we're building, we're also installing, regardless of # whether we found pre-build docs or not (above). oac_install_docs=1 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } ;; esac fi fi # If we found Sphinx, check to ensure that we have all the things # required to build Open MPI/PRRTE/OpenPMIx-like documentation # (e.g., any required pip modules). If we can't render a sample # OMPI-like doc, we're not going to automatically install any # missing pip modules; we'll just mark Sphinx as being # unavailable. if test -n "$SPHINX_BUILD" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for required Sphinx modules" >&5 printf %s "checking for required Sphinx modules... " >&6; } oac_startdir=`pwd` oac_tmpdir=conftmp.$$ rm -rf $oac_tmpdir mkdir $oac_tmpdir cd $oac_tmpdir cat > conf.py < index.rst # Try to render this trivial RST project as both HTML and # man pages and see if it works. oac_happy=0 printf "%s\n" "configure:__oline__: $SPHINX_BUILD -M html . build-html" >&5 $SPHINX_BUILD -M html . build-html 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $SPHINX_BUILD -M man . build-man" >&5 $SPHINX_BUILD -M man . build-man 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_happy=1 fi { oac_log_command_status=; unset oac_log_command_status;} fi { oac_log_command_status=; unset oac_log_command_status;} if test $oac_happy -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) SPHINX_BUILD= { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi cd $oac_startdir rm -rf $oac_tmpdir fi if test -z "$SPHINX_BUILD" then : OPAL_MAKEDIST_DISABLE="$OPAL_MAKEDIST_DISABLE Sphinx/Documentation" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Could not find a suitable sphinx-build on your system." >&5 printf "%s\n" "$as_me: Could not find a suitable sphinx-build on your system." >&6;} if test -n "$srcdir/docs/requirements.txt" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: If you want to build the documentation, ensure that the" >&5 printf "%s\n" "$as_me: If you want to build the documentation, ensure that the" >&6;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Python modules in $srcdir/docs/requirements.txt" >&5 printf "%s\n" "$as_me: Python modules in $srcdir/docs/requirements.txt" >&6;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: are available." >&5 printf "%s\n" "$as_me: are available." >&6;} fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: You will not be able to build a distribution tarball." >&5 printf "%s\n" "$as_me: You will not be able to build a distribution tarball." >&6;} fi if test $oac_install_docs -eq 0 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** You will not have documentation installed." >&5 printf "%s\n" "$as_me: WARNING: *** You will not have documentation installed." >&2;} if test -n "https://docs.open-mpi.org/en/main/developers/prerequisites.html#sphinx-and-therefore-python" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** See the following URL for more information:" >&5 printf "%s\n" "$as_me: WARNING: *** See the following URL for more information:" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** https://docs.open-mpi.org/en/main/developers/prerequisites.html#sphinx-and-therefore-python" >&5 printf "%s\n" "$as_me: WARNING: *** https://docs.open-mpi.org/en/main/developers/prerequisites.html#sphinx-and-therefore-python" >&2;} fi fi # If --enable-sphinx was specified and we did not find Sphinx, # abort. This is likely only useful to prevent "oops!" moments # from developers. if test -z "$SPHINX_BUILD" && test "$enable_sphinx" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: A suitable Sphinx was not found, but --enable-sphinx was specified" >&5 printf "%s\n" "$as_me: WARNING: A suitable Sphinx was not found, but --enable-sphinx was specified" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi # Construct a summary message. Due SUMMARY_ADD's implementation, # do *not* include a comma. if test -n "$SPHINX_BUILD" then : # If we found Sphinx, we always both build and install. oac_summary_msg="building and installing" else case e in @%:@( e) if test $oac_install_docs -eq 1 then : oac_summary_msg="installing packaged docs" else case e in @%:@( e) oac_summary_msg="no documentation available" ;; esac fi ;; esac fi 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="HTML docs and man pages: $oac_summary_msg" oac_summary_key="MiscellaneousHTML_docs_and_man_pages" # 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 case e in @%:@( e) oac_summary_section_Miscellaneous_name="Miscellaneous" if test -z "${oac_summary_sections}" then : oac_summary_sections="Miscellaneous" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} Miscellaneous" ;; esac fi ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) oac_summary_section_Miscellaneous_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key if test -n "$SPHINX_BUILD"; then OPAL_BUILD_DOCS_TRUE= OPAL_BUILD_DOCS_FALSE='#' else OPAL_BUILD_DOCS_TRUE='#' OPAL_BUILD_DOCS_FALSE= fi if test $oac_install_docs -eq 1; then OPAL_INSTALL_DOCS_TRUE= OPAL_INSTALL_DOCS_FALSE='#' else OPAL_INSTALL_DOCS_TRUE='#' OPAL_INSTALL_DOCS_FALSE= fi oac_var_scope_pop oac_summary_msg oac_sphinx_result oac_install_docs oac_sphinx_target_version oac_sphinx_found_version # # File system case sensitivity # # # Arguments: none # # Dependencies: None # # See if we are on a case sensitive filesystem. Some filesystems # (like HFS+ on MacOS X and MS Windows) are not case sensitive - opalcc # and opalCC are the same file. # # Sets prefix_OS_HAVE_CASE_SENSITIVE_FS to 1 if filesystem is case # sensitive (ie, mpicc and mpiCC will be different files) or 0 if # filesystem is not case sensitive (ie, mpicc and mpiCC will be # the same file). # # have_cs_fs=1 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if build filesystem is case sensitive" >&5 printf %s "checking if build filesystem is case sensitive... " >&6; } cat > conf_fs_test.$$ < CONF_FS_TEST.$$ <&5 printf "%s\n" "yes" >&6; } else have_cs_fs=0 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi rm -f conf_fs_test.$$ CONF_FS_TEST.$$ # # Now see what the user wants to do... # { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if configuring for case sensitive filesystem" >&5 printf %s "checking if configuring for case sensitive filesystem... " >&6; } @%:@ Check whether --with-cs_fs was given. if test ${with_cs_fs+y} then : withval=$with_cs_fs; fi if test "$with_cs_fs" = "yes"; then OPAL_WANT_CS_FS=1 elif test -z "$with_cs_fs"; then OPAL_WANT_CS_FS=$have_cs_fs else OPAL_WANT_CS_FS=0 fi if test "$OPAL_WANT_CS_FS" = "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 if test "$OPAL_WANT_CS_FS" = "1"; then CASE_SENSITIVE_FS_TRUE= CASE_SENSITIVE_FS_FALSE='#' else CASE_SENSITIVE_FS_TRUE='#' CASE_SENSITIVE_FS_FALSE= fi # There is a case in the ompi/tools/wrappers/Makefile.am where we need # to know if there is a case sensitive filesystem *and* if we have a # C++ compiler. Since we can't use operators like "&&" or "and" to # join together AM CONDITIONALs in a Makefile.am, effectively make a # combo CONDITIONAL here. if test "$OPAL_WANT_CS_FS" = "1" && test "$CXX" != "no"; then CASE_SENSITIVE_FS_AND_HAVE_CXX_COMPILER_TRUE= CASE_SENSITIVE_FS_AND_HAVE_CXX_COMPILER_FALSE='#' else CASE_SENSITIVE_FS_AND_HAVE_CXX_COMPILER_TRUE='#' CASE_SENSITIVE_FS_AND_HAVE_CXX_COMPILER_FALSE= fi # Clean up unset have_cs_fs # AIX: FIONBIO in sys/ioctl.h # glibc: memcpy # # Do we have RLIMIT_NPROC in ? (e.g., Solaris does not) # ac_fn_check_decl "$LINENO" "RLIMIT_NPROC" "ac_cv_have_decl_RLIMIT_NPROC" " $ac_includes_default #if HAVE_SYS_RESOURCE_H #include #endif " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_RLIMIT_NPROC" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_RLIMIT_NPROC $ac_have_decl" >>confdefs.h # # Do we have RLIMIT_MEMLOCK in ? (e.g., Solaris does not) # ac_fn_check_decl "$LINENO" "RLIMIT_MEMLOCK" "ac_cv_have_decl_RLIMIT_MEMLOCK" " $ac_includes_default #if HAVE_SYS_RESOURCE_H #include #endif " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_RLIMIT_MEMLOCK" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_RLIMIT_MEMLOCK $ac_have_decl" >>confdefs.h # # Do we have RLIMIT_NOFILE in ? (e.g., Solaris does not) # ac_fn_check_decl "$LINENO" "RLIMIT_NOFILE" "ac_cv_have_decl_RLIMIT_NOFILE" " $ac_includes_default #if HAVE_SYS_RESOURCE_H #include #endif " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_RLIMIT_NOFILE" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_RLIMIT_NOFILE $ac_have_decl" >>confdefs.h # # Do we have RLIMIT_MEMLOCK in ? (e.g., Solaris does not) # ac_fn_check_decl "$LINENO" "RLIMIT_FSIZE" "ac_cv_have_decl_RLIMIT_FSIZE" " $ac_includes_default #if HAVE_SYS_RESOURCE_H #include #endif " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_RLIMIT_FSIZE" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_RLIMIT_FSIZE $ac_have_decl" >>confdefs.h # # Do we have RLIMIT_CORE in ? (e.g., Solaris does not) # ac_fn_check_decl "$LINENO" "RLIMIT_CORE" "ac_cv_have_decl_RLIMIT_CORE" " $ac_includes_default #if HAVE_SYS_RESOURCE_H #include #endif " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_RLIMIT_CORE" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_RLIMIT_CORE $ac_have_decl" >>confdefs.h # # Do we have RLIMIT_STACK in ? (e.g., Solaris does not) # ac_fn_check_decl "$LINENO" "RLIMIT_STACK" "ac_cv_have_decl_RLIMIT_STACK" " $ac_includes_default #if HAVE_SYS_RESOURCE_H #include #endif " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_RLIMIT_STACK" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_RLIMIT_STACK $ac_have_decl" >>confdefs.h # # Do we have RLIMIT_AS in ? (e.g., Solaris does not) # ac_fn_check_decl "$LINENO" "RLIMIT_AS" "ac_cv_have_decl_RLIMIT_AS" " $ac_includes_default #if HAVE_SYS_RESOURCE_H #include #endif " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_RLIMIT_AS" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_RLIMIT_AS $ac_have_decl" >>confdefs.h # checkpoint results cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # 'ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* 'ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( 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=\ *) # 'set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # 'set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 printf "%s\n" "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache ################################## # Fault Tolerance # Part1: must happen before prte ################################## # define a variable that tells us that these options were enabled opal_setup_ft_options="yes" @%:@ Check whether --with-ft was given. if test ${with_ft+y} then : withval=$with_ft; else case e in @%:@( e) with_ft=auto ;; esac fi # If not specified act as if --with-ft=mpi, but make external prte support failure only if hard requested ################################## # 3rd-party packages not called ROMIO ################################## opal_show_title "3rd-party packages" OPAL_3RDPARY_SUBDIRS= OPAL_3RDPARY_DIST_SUBDIRS= OPAL_3RDPARY_EXTRA_DIST= OPAL_3RDPARY_DISTCLEAN_DIRS= oac_var_scope_push ${LINENO} oac_linker_arg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if static link flag supplied" >&5 printf %s "checking if static link flag supplied... " >&6; } if test ${oac_cv_linker_found_static_linker_flag+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_linker_found_static_linker_flag="no" for oac_linker_arg in ${CFLAGS} ${LDFLAGS} ; do if test "${oac_linker_arg}" = "-static" -o \ "${oac_linker_arg}" = "--static" -o \ "${oac_linker_arg}" = "-Bstatic" -o \ "${oac_linker_arg}" = "-Wl,-static" -o \ "${oac_linker_arg}" = "-Wl,--static" -o \ "${oac_linker_arg}" = "-Wl,-Bstatic" then : oac_cv_linker_found_static_linker_flag="yes" fi done ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_linker_found_static_linker_flag" >&5 printf "%s\n" "$oac_cv_linker_found_static_linker_flag" >&6; } if test "${oac_cv_linker_found_static_linker_flag}" = "yes" then : oac_cv_check_package_static_linker_flag=yes else case e in @%:@( e) oac_cv_check_package_static_linker_flag=no ;; esac fi oac_var_scope_pop oac_linker_arg # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; 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_PKG_CONFIG+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -n "$PKG_CONFIG"; then ac_cv_prog_PKG_CONFIG="$PKG_CONFIG" # 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_PKG_CONFIG="pkg-config" 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 ;; esac fi PKG_CONFIG=$ac_cv_prog_PKG_CONFIG if test -n "$PKG_CONFIG"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 printf "%s\n" "$PKG_CONFIG" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi # Extract the first word of "gzip", so it can be a program name with args. set dummy gzip; 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_GZIP_BIN+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) case $GZIP_BIN in [\\/]* | ?:[\\/]*) ac_cv_path_GZIP_BIN="$GZIP_BIN" # 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_GZIP_BIN="$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 ;; esac fi GZIP_BIN=$ac_cv_path_GZIP_BIN if test -n "$GZIP_BIN"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GZIP_BIN" >&5 printf "%s\n" "$GZIP_BIN" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi # Extract the first word of "bzip2", so it can be a program name with args. set dummy bzip2; 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_BZIP2_BIN+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) case $BZIP2_BIN in [\\/]* | ?:[\\/]*) ac_cv_path_BZIP2_BIN="$BZIP2_BIN" # 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_BZIP2_BIN="$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 ;; esac fi BZIP2_BIN=$ac_cv_path_BZIP2_BIN if test -n "$BZIP2_BIN"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $BZIP2_BIN" >&5 printf "%s\n" "$BZIP2_BIN" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi opal_var_scope_push ${LINENO} internal_libevent_happy external_libevent_happy opal_libevent_STATIC_LDFLAGS opal_libevent_LIBS opal_libevent_STATIC_LIBS opal_show_subtitle "Configuring Libevent" @%:@ Check whether --with-libevent was given. if test ${with_libevent+y} then : withval=$with_libevent; fi @%:@ Check whether --with-libevent-libdir was given. if test ${with_libevent_libdir+y} then : withval=$with_libevent_libdir; fi # Bozo check if test "$with_libevent" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: It is not possible to configure Open MPI --without-libevent" >&5 printf "%s\n" "$as_me: WARNING: It is not possible to configure Open MPI --without-libevent" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test "$with_libevent_libdir" = "no" -o "$with_libevent_libdir" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: yes/no are invalid responses for --with-libevent-libdir. Please specify a path." >&5 printf "%s\n" "$as_me: WARNING: yes/no are invalid responses for --with-libevent-libdir. Please specify a path." >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi # Make sure the user didn't specify --with-libevent=internal and # --with-libevent-libdir=whatever (because you can only specify # --with-libevent-libdir when external libevent is being used). if test "$with_libevent" = "internal" && test -n "$with_libevent_libdir" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Both --with-libevent=internal and --with-libevent-libdir=DIR" >&5 printf "%s\n" "$as_me: WARNING: Both --with-libevent=internal and --with-libevent-libdir=DIR" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: were specified, which does not make sense." >&5 printf "%s\n" "$as_me: WARNING: were specified, which does not make sense." >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi # clean up $with_libevent so that it contains only a path or empty # string. To determine internal or external preferences, use # $opal_libevent_mode. if test "$with_libevent" = "yes" then : with_libevent= fi case $with_libevent in @%:@( "internal") : with_libevent="" opal_libevent_mode="internal" ;; @%:@( "external") : with_libevent="" opal_libevent_mode="external" ;; @%:@( "no") : with_libevent="" opal_libevent_mode="disabled" ;; @%:@( "") : opal_libevent_mode="unspecified" ;; @%:@( *) : opal_libevent_mode="external" ;; esac # unless internal specifically requested by the user, try to find # an external that works. external_libevent_happy=0 if test "$opal_libevent_mode" != "internal" then : opal_var_scope_push ${LINENO} opal_event_min_version opal_event_min_num_version opal_libevent_CPPFLAGS_save opal_libevent_LDFLAGS_save opal_libevent_LIBS_save opal_libevent_external_support # ****************************** START CHECK PACKAGE FOR libevent ****************************** oac_var_scope_push ${LINENO} check_package_opal_libevent_save_CPPFLAGS check_package_opal_libevent_save_LDFLAGS check_package_opal_libevent_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_opal_libevent_save_CPPFLAGS="${CPPFLAGS}" check_package_opal_libevent_save_LDFLAGS="${LDFLAGS}" check_package_opal_libevent_save_LIBS="${LIBS}" opal_libevent_CPPFLAGS= opal_libevent_LDFLAGS= opal_libevent_STATIC_LDFLAGS= opal_libevent_LIBS= opal_libevent_STATIC_LIBS= { opal_libevent_PC_MODULES=; unset opal_libevent_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_libevent" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package libevent disabled by user" >&5 printf "%s\n" "$as_me: Package libevent disabled by user" >&6;} check_package_happy=0 elif test "${with_libevent}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_libevent}" ;; esac fi check_package_libdir= if test "${with_libevent_libdir}" = "no" -o "${with_libevent_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-libevent-libdir" "$LINENO" 5 elif test -n "${with_libevent_libdir}" then : check_package_libdir="${with_libevent_libdir}" fi check_package_incdir= if test "${with_libevent_incdir}" = "no" -o "${with_libevent_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-libevent-incdir" "$LINENO" 5 elif test -n "${with_libevent_incdir}" then : check_package_incdir="${with_libevent_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${libevent_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-libevent or --with-libevent-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-libevent only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libevent pkg-config name" >&5 printf %s "checking for libevent pkg-config name... " >&6; } if test ${oac_cv_check_package_libevent_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_libevent_pcfilename="libevent_core" if test -n "${check_package_libdir}" then : oac_cv_check_package_libevent_pcfilename="${check_package_libdir}/pkgconfig/libevent_core.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_libevent_pcfilename="libevent_core" elif test -r "${check_package_prefix}/lib/pkgconfig/libevent_core.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/libevent_core.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found libevent_core in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-libevent-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_libevent_pcfilename="${check_package_prefix}/lib/pkgconfig/libevent_core.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/libevent_core.pc" then : oac_cv_check_package_libevent_pcfilename="${check_package_prefix}/lib64/pkgconfig/libevent_core.pc" else case e in @%:@( e) oac_cv_check_package_libevent_pcfilename="${check_package_prefix}/lib/pkgconfig/libevent_core.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libevent_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_libevent_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if libevent pkg-config module exists" >&5 printf %s "checking if libevent pkg-config module exists... " >&6; } if test ${oac_cv_check_package_libevent_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_libevent_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_libevent_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : opal_libevent_PC_MODULES=${oac_cv_check_package_libevent_pcfilename} oac_cv_check_package_libevent_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_libevent_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libevent_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_libevent_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_libevent_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libevent pkg-config cflags" >&5 printf %s "checking for libevent pkg-config cflags... " >&6; } if test ${oac_cv_check_package_libevent_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_libevent_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_libevent_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_libevent_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving libevent cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libevent_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_libevent_pkg_config_cppflags" >&6; } opal_libevent_CPPFLAGS="${oac_cv_check_package_libevent_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libevent pkg-config ldflags" >&5 printf %s "checking for libevent pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_libevent_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_libevent_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_libevent_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_libevent_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving libevent ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libevent_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_libevent_pkg_config_ldflags" >&6; } opal_libevent_LDFLAGS="${oac_cv_check_package_libevent_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libevent pkg-config static ldflags" >&5 printf %s "checking for libevent pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_libevent_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_libevent_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_libevent_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_libevent_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving libevent static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libevent_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_libevent_pkg_config_static_ldflags" >&6; } opal_libevent_STATIC_LDFLAGS="${oac_cv_check_package_libevent_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libevent pkg-config libs" >&5 printf %s "checking for libevent pkg-config libs... " >&6; } if test ${oac_cv_check_package_libevent_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_libevent_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_libevent_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_libevent_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving libevent libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libevent_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_libevent_pkg_config_libs" >&6; } opal_libevent_LIBS="${oac_cv_check_package_libevent_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libevent pkg-config static libs" >&5 printf %s "checking for libevent pkg-config static libs... " >&6; } if test ${oac_cv_check_package_libevent_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_libevent_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_libevent_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_libevent_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving libevent libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libevent_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_libevent_pkg_config_static_libs" >&6; } opal_libevent_STATIC_LIBS="${oac_cv_check_package_libevent_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${libevent_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-libevent argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libevent wrapper compiler" >&5 printf %s "checking for libevent wrapper compiler... " >&6; } if test ${oac_cv_check_package_libevent_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_libevent_wrapper_compiler="libeventcc" else case e in @%:@( e) oac_cv_check_package_libevent_wrapper_compiler="${check_package_prefix}/bin/libeventcc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libevent_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_libevent_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if libevent wrapper compiler works" >&5 printf %s "checking if libevent wrapper compiler works... " >&6; } if test ${oac_cv_check_package_libevent_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_libevent_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_libevent_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_libevent_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_libevent_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libevent_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_libevent_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_libevent_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libevent wrapper compiler cppflags" >&5 printf %s "checking for libevent wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_libevent_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_libevent_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_libevent_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_libevent_wrapper_compiler_cppflags}" then : oac_cv_check_package_libevent_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_libevent_wrapper_compiler_cppflags="${oac_cv_check_package_libevent_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving libevent cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libevent_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_libevent_wrapper_compiler_cppflags" >&6; } opal_libevent_CPPFLAGS="${oac_cv_check_package_libevent_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libevent wrapper compiler ldflags" >&5 printf %s "checking for libevent wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_libevent_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_libevent_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_libevent_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_libevent_wrapper_compiler_ldflags}" then : oac_cv_check_package_libevent_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_libevent_wrapper_compiler_ldflags="${oac_cv_check_package_libevent_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving libevent ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libevent_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_libevent_wrapper_compiler_ldflags" >&6; } opal_libevent_LDFLAGS="${oac_cv_check_package_libevent_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libevent wrapper compiler static ldflags" >&5 printf %s "checking for libevent wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_libevent_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_libevent_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_libevent_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_libevent_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_libevent_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_libevent_wrapper_compiler_static_ldflags="${oac_cv_check_package_libevent_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving libevent static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libevent_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_libevent_wrapper_compiler_static_ldflags" >&6; } opal_libevent_STATIC_LDFLAGS="${oac_cv_check_package_libevent_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libevent wrapper compiler libs" >&5 printf %s "checking for libevent wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_libevent_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_libevent_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_libevent_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_libevent_wrapper_compiler_libs}" then : oac_cv_check_package_libevent_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_libevent_wrapper_compiler_libs="${oac_cv_check_package_libevent_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving libevent libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libevent_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_libevent_wrapper_compiler_libs" >&6; } opal_libevent_LIBS="$oac_cv_check_package_libevent_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libevent wrapper compiler static libs" >&5 printf %s "checking for libevent wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_libevent_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_libevent_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_libevent_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_libevent_wrapper_compiler_static_libs}" then : oac_cv_check_package_libevent_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_libevent_wrapper_compiler_static_libs="${oac_cv_check_package_libevent_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving libevent static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libevent_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_libevent_wrapper_compiler_static_libs" >&6; } opal_libevent_STATIC_LIBS="${oac_cv_check_package_libevent_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "event2/event.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "event_core" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libevent header at ${check_package_generic_incdir}" >&5 printf %s "checking for libevent header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 opal_libevent_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libevent library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for libevent library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 opal_libevent_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libevent library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for libevent library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-libevent-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 opal_libevent_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 opal_libevent_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 opal_libevent_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for libevent in default search paths" >&5 printf "%s\n" "$as_me: Searching for libevent in default search paths" >&6;} libevent_CPPFLAGS= libevent_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in event_core ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${opal_libevent_LIBS}" then : opal_libevent_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) opal_libevent_LIBS="${opal_libevent_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${opal_libevent_STATIC_LIBS}" then : opal_libevent_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) opal_libevent_STATIC_LIBS="${opal_libevent_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libevent cppflags" >&5 printf %s "checking for libevent cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libevent_CPPFLAGS" >&5 printf "%s\n" "$opal_libevent_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libevent ldflags" >&5 printf %s "checking for libevent ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libevent_LDFLAGS" >&5 printf "%s\n" "$opal_libevent_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libevent libs" >&5 printf %s "checking for libevent libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libevent_LIBS" >&5 printf "%s\n" "$opal_libevent_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libevent static libs" >&5 printf %s "checking for libevent static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libevent_STATIC_LIBS" >&5 printf "%s\n" "$opal_libevent_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${opal_libevent_LDFLAGS}" then : opal_libevent_LDFLAGS="${opal_libevent_STATIC_LDFLAGS}" else case e in @%:@( e) opal_libevent_LDFLAGS="${opal_libevent_LDFLAGS} ${opal_libevent_STATIC_LDFLAGS}" ;; esac fi if test -z "${opal_libevent_LIBS}" then : opal_libevent_LIBS="${opal_libevent_STATIC_LIBS}" else case e in @%:@( e) opal_libevent_LIBS="${opal_libevent_LIBS} ${opal_libevent_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "event2/event.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${opal_libevent_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${opal_libevent_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${opal_libevent_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${opal_libevent_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${opal_libevent_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${opal_libevent_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "event_config_new" "ac_cv_func_event_config_new" if test "x$ac_cv_func_event_config_new" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if libevent requires libnl v1 or v3" >&5 printf %s "checking if libevent requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_libevent+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void event_config_new (void); int main(int argc, char *argv[]) { event_config_new (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib libevent" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib libevent" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_libevent=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_libevent" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_libevent" >&6; } result_msg=$opal_libnl_sanity_check_cv_libevent this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, libevent links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, libevent links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in liblibevent (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in liblibevent (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using liblibevent." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using liblibevent." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas libevent requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas libevent requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in liblibevent (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in liblibevent (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using liblibevent." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using liblibevent." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs libevent" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas libevent requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas libevent requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in liblibevent (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in liblibevent (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using liblibevent." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using liblibevent." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs libevent" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi opal_libevent_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : opal_libevent_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) opal_libevent_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi opal_libevent_external_support=yes else case e in @%:@( e) if test "${with_libevent}" = "no" then : opal_libevent_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) opal_libevent_SUMMARY="no (not found)" ;; esac fi { opal_libevent_CPPFLAGS=; unset opal_libevent_CPPFLAGS;} { opal_libevent_LDFLAGS=; unset opal_libevent_LDFLAGS;} { opal_libevent_STATIC_LDFLAGS=; unset opal_libevent_STATIC_LDFLAGS;} { opal_libevent_LIBS=; unset opal_libevent_LIBS;} { opal_libevent_STATIC_LIBS=; unset opal_libevent_STATIC_LIBS;} opal_libevent_external_support=no ;; esac fi CPPFLAGS="${check_package_opal_libevent_save_CPPFLAGS}" LDFLAGS="${check_package_opal_libevent_save_LDFLAGS}" LIBS="${check_package_opal_libevent_save_LIBS}" oac_var_scope_pop check_package_opal_libevent_save_CPPFLAGS check_package_opal_libevent_save_LDFLAGS check_package_opal_libevent_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR libevent ****************************** if test -z "${opal_libevent_LIBS}" then : opal_libevent_LIBS="-levent_pthreads" else case e in @%:@( e) opal_libevent_LIBS="${opal_libevent_LIBS} -levent_pthreads" ;; esac fi # need these set for the tests below. opal_libevent_CPPFLAGS_save=$CPPFLAGS oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $opal_libevent_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${CPPFLAGS}; 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 "${CPPFLAGS}" then : CPPFLAGS="$oac_list_arg" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val # verify libevent is configured with thread support if test "$opal_libevent_external_support" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if libevent threads enabled" >&5 printf %s "checking if libevent threads enabled... " >&6; } if test ${opal_libevent_cv_threads_enabled+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) # Check for general threading support cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main (void) { #if !(EVTHREAD_LOCK_API_VERSION >= 1) # error "No threads!" #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : opal_libevent_cv_threads_enabled="yes" else case e in @%:@( e) opal_libevent_cv_threads_enabled="no" ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libevent_cv_threads_enabled" >&5 printf "%s\n" "$opal_libevent_cv_threads_enabled" >&6; } if test "${opal_libevent_cv_threads_enabled}" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI requires libevent to be compiled with thread support enabled" >&5 printf "%s\n" "$as_me: WARNING: Open MPI requires libevent to be compiled with thread support enabled" >&2;} opal_libevent_external_support="no" fi fi if test "$opal_libevent_external_support" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libevent pthreads support" >&5 printf %s "checking for libevent pthreads support... " >&6; } if test ${opal_libevent_cv_pthread_support+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main (void) { #if !defined(EVTHREAD_USE_PTHREADS_IMPLEMENTED) || !EVTHREAD_USE_PTHREADS_IMPLEMENTED # error "No pthreads!" #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : opal_libevent_cv_pthread_support="yes" else case e in @%:@( e) opal_libevent_cv_pthread_support="no" ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libevent_cv_pthread_support" >&5 printf "%s\n" "$opal_libevent_cv_pthread_support" >&6; } if test "${opal_libevent_cv_pthread_support}" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: PMIX requires libevent to be compiled with pthread support enabled" >&5 printf "%s\n" "$as_me: WARNING: PMIX requires libevent to be compiled with pthread support enabled" >&2;} opal_libevent_external_support="no" fi fi # Open MPI used to fall back to the internal libevent if the # installed version was older than the internal version. This # isn't what we want, because we really want to prefer external # versions. Pin the "oldest supported" external version to # 2.0.21, which we know works from testing on RHEL7. opal_event_min_num_version=0x00020015 opal_event_min_version=2.0.21 if test "$opal_libevent_external_support" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if external libevent version is 2.0.21 or greater" >&5 printf %s "checking if external libevent version is 2.0.21 or greater... " >&6; } if test ${opal_libevent_cv_version_check+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #if defined(_EVENT_NUMERIC_VERSION) && _EVENT_NUMERIC_VERSION < $opal_event_min_num_version #error "libevent API version is less than $opal_event_min_version" #elif defined(EVENT__NUMERIC_VERSION) && EVENT__NUMERIC_VERSION < $opal_event_min_num_version #error "libevent API version is less than $opal_event_min_version" #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : opal_libevent_cv_version_check="yes" else case e in @%:@( e) opal_libevent_cv_version_check="no" ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libevent_cv_version_check" >&5 printf "%s\n" "$opal_libevent_cv_version_check" >&6; } if test "${opal_libevent_cv_version_check}" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: external libevent version is too old (2.0.21 or later required)" >&5 printf "%s\n" "$as_me: WARNING: external libevent version is too old (2.0.21 or later required)" >&2;} opal_libevent_external_support=no fi fi CPPFLAGS="$opal_libevent_CPPFLAGS_save" if test "$opal_libevent_external_support" = "yes" then : opal_libevent_BUILD_LIBS="${opal_libevent_LIBS}" external_libevent_happy=1 opal_libevent_mode="external" else case e in @%:@( e) external_libevent_happy=0 if test "$opal_libevent_mode" = "external" then : as_fn_error $? "External libevent requested but not found." "$LINENO" 5 fi ;; esac fi opal_var_scope_pop opal_event_min_version opal_event_min_num_version opal_libevent_CPPFLAGS_save opal_libevent_LDFLAGS_save opal_libevent_LIBS_save opal_libevent_external_support fi internal_libevent_happy=0 if test "$external_libevent_happy" = "0" then : opal_var_scope_push ${LINENO} subconfig_happy subconfig_prefix internal_libevent_location if test ! -z $prefix then : subconfig_prefix="--prefix=$prefix" fi # Note: To update the version of libevent shipped, update the # constant in autogen.pl. opal_var_scope_push ${LINENO} expansion_dir expansion_tarball expansion_dir=`dirname "3rd-party/libevent-2.1.12-stable-ompi"` as_dir=$expansion_dir; as_fn_mkdir_p expansion_tarball="$ac_abs_confdir/3rd-party/libevent-2.1.12-stable-ompi.tar.gz" if test ! -r 3rd-party/libevent-2.1.12-stable-ompi/configure then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Expanding $srcdir/3rd-party/libevent-2.1.12-stable-ompi.tar.gz in $expansion_dir" >&5 printf "%s\n" "$as_me: Expanding $srcdir/3rd-party/libevent-2.1.12-stable-ompi.tar.gz in $expansion_dir" >&6;} case "3rd-party/libevent-2.1.12-stable-ompi.tar.gz" in *.tar.gz|*.tgz) if test -z "$GZIP_BIN" then : as_fn_error $? "gzip not found" "$LINENO" 5 fi (cd "$expansion_dir" ; umask 0022 ; "$GZIP_BIN" -d < "$expansion_tarball" | tar xf - || as_fn_error $? "failed to extract 3rd-party/libevent-2.1.12-stable-ompi.tar.gz" "$LINENO" 5) ;; *.tar.bz2|*.tbz2) if test -z "$BZIP2_BIN" then : as_fn_error $? "bzip2 not found" "$LINENO" 5 fi (cd "$expansion_dir" ; umask 0022 ; "$BZIP_BIN" -d < "$expansion_tarball" | tar xf - || as_fn_error $? "failed to extract 3rd-party/libevent-2.1.12-stable-ompi.tar.gz" "$LINENO" 5) ;; *) # maybe tar is smart? (cd "$expansion_dir" ; umask 0022 ; tar xf "$expansion_tarball" || as_fn_error $? "failed to extract 3rd-party/libevent-2.1.12-stable-ompi.tar.gz" "$LINENO" 5) ;; esac fi opal_var_scope_pop expansion_dir expansion_tarball # We disable the GCC warnings because 1) we're not developers of # Libevent, so we will never actually fix said warnnings and 2) # some of the warning options cause failures with compilers that # fake being GCC (I'm looking at you, PGI). for temp_var in $ac_precious_vars; do # save all set variables, with a __set and # __value format. _set will always be saved, # _value if _set evaluates to "set". # # Because we may modify the environment with # OPAL_SUBDIR_ENV_APPEND, also store the original values of # ac_env__set in _ac_env__set eval temp_var_set=\${${temp_var}+set} eval opal_libevent_configure_${temp_var}_set=$temp_var_set eval opal_libevent_configure_ac_env_${temp_var}_set=\$ac_env_${temp_var}_set if test "$temp_var_set" = "set" ; then eval opal_libevent_configure_${temp_var}_value=\$${temp_var} fi unset tmp_var_set # restore the variables that were set at the start of # configure and unset the ones that were not. eval temp_var_orig_set=\$ac_env_${temp_var}_set if test "$temp_var_set" = "set" ; then eval ${temp_var}=\$ac_env_${temp_var}_value else unset $temp_var fi done pac_dir="3rd-party/libevent-2.1.12-stable-ompi" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: ===== configuring 3rd-party/libevent-2.1.12-stable-ompi =====" >&5 printf "%s\n" "$as_me: ===== configuring 3rd-party/libevent-2.1.12-stable-ompi =====" >&6;} pac_abs_srcdir=`(cd $srcdir && pwd)` if test -f $pac_abs_srcdir/3rd-party/libevent-2.1.12-stable-ompi/setup ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: sourcing $pac_abs_srcdir/3rd-party/libevent-2.1.12-stable-ompi/setup" >&5 printf "%s\n" "$as_me: sourcing $pac_abs_srcdir/3rd-party/libevent-2.1.12-stable-ompi/setup" >&6;} . $pac_abs_srcdir/3rd-party/libevent-2.1.12-stable-ompi/setup fi # Adapted for MPICH from the autoconf-2.67 implementation of # AC_CONFIG_SUBDIRS. Search for "MPICH note:" for relevant commentary and # local modifications. # Remove --cache-file, --srcdir, and --disable-option-checking arguments # so they do not pile up. Otherwise relative paths (like --srcdir=.. from # make distcheck) will be incorrect. pac_sub_configure_args="--disable-dns --disable-http --disable-rpc --disable-openssl --enable-thread-support --disable-evport --disable-gcc-warnings --disable-libevent-regress" pac_prev= eval "set x $ac_configure_args" shift for pac_arg do if test -n "$pac_prev"; then pac_prev= continue fi case $pac_arg in -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) pac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* \ | --c=*) ;; --config-cache | -C) ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) pac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) pac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) ;; --disable-option-checking) ;; *) # strip out precious variables from ac_configure_args, # which will include precious variables that are currently # set and were set on the command line or in the # environment at the time configure was invoked. Instead, # we add all precious variables which have been tagged as # set, so that we can more closely control the environment # of sub-configures. is_precious=0 for pac_pvar in $ac_precious_vars ; do # check if configure argument token contains the # precious variable, i.e. "name_of_prec_var=". if ( echo $pac_arg | grep "^$pac_pvar=" >/dev/null 2>&1 ) ; then is_precious=1 break fi done if test $is_precious -eq 0; then case $pac_arg in *\'*) pac_arg=`printf "%s\n" "$pac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append pac_sub_configure_args " '$pac_arg'" fi ;; esac done # add all precious values with a set token to the configure # args. If the caller hasn't artificially manipulated the # environment, this will simply be any precious variables as # they were originally specified on the top-level configure # line (or in the environment at start of configure). # However, callers may manipulate that environment, preferably # with the OPAL_SUBDIR_ENV macros. for temp_var in $ac_precious_vars; do eval temp_var_set=\$ac_env_${temp_var}_set if test "$temp_var_set" = "set" ; then eval temp_val=\$$temp_var temp_arg="$temp_var=$temp_val" as_fn_append pac_sub_configure_args " '$temp_arg'" fi done # Always prepend --prefix to ensure using the same prefix # in subdir configurations. # MPICH note: see tt#983 for an example of why this is necessary pac_arg="--prefix=$prefix" case $pac_arg in *\'*) pac_arg=`printf "%s\n" "$pac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac pac_sub_configure_args="'$pac_arg' $pac_sub_configure_args" # Pass --silent if test "$silent" = yes; then pac_sub_configure_args="--silent $pac_sub_configure_args" fi # Always prepend --disable-option-checking to silence warnings, since # different subdirs can have different --enable and --with options. pac_sub_configure_args="--disable-option-checking $pac_sub_configure_args" # remove arguments specified in third argument from the # built-up list of arguments pac_popdir=`pwd` as_dir="$pac_dir"; as_fn_mkdir_p # MPICH note: we leave this internal macro reference for now. We can clone # the macro locally if this turns out to be non-portable across several autoconf # versions. It sets the following variables: ac_builddir, # ac_top_builddir_sub, ac_top_build_prefix, ac_srcdir, ac_top_srcdir, # ac_abs_top_builddir, ac_abs_builddir, ac_abs_top_srcdir, ac_abs_srcdir ac_builddir=. case "$pac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`printf "%s\n" "$pac_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 "$pac_dir" # Check for guested configure; otherwise get Cygnus style # configure. Look for configure in source tree and then the # build tree, as we sometimes configure from sub-tarballs # expanded in the build tree. if test -f "$ac_srcdir/configure.gnu"; then pac_sub_configure=$ac_srcdir/configure.gnu elif test -f "$ac_srcdir/configure"; then pac_sub_configure=$ac_srcdir/configure elif test -f "configure.gnu"; then pac_sub_configure="configure.gnu" ac_srcdir="." elif test -f "configure"; then pac_sub_configure="configure" ac_srcdir="." else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: no configuration information is in $pac_dir" >&5 printf "%s\n" "$as_me: WARNING: no configuration information is in $pac_dir" >&2;} pac_sub_configure= fi # The recursion is here. if test -n "$pac_sub_configure"; then # MPICH note: overriding the cache file on purpose to prevent strange # issues resulting from inter-dir caching pac_sub_cache_file="/dev/null" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: running $SHELL $pac_sub_configure $pac_sub_configure_args --cache-file=$pac_sub_cache_file --srcdir=$ac_srcdir" >&5 printf "%s\n" "$as_me: running $SHELL $pac_sub_configure $pac_sub_configure_args --cache-file=$pac_sub_cache_file --srcdir=$ac_srcdir" >&6;} # The eval makes quoting arguments work. # MPICH note: we want to execute the provided actions, not be silent # or error out if the subconfigure succeeded/failed if eval "\$SHELL \"\$pac_sub_configure\" $pac_sub_configure_args \ --cache-file=\"\$pac_sub_cache_file\" --srcdir=\"\$ac_srcdir\"" then # restore the current dir for the provided actions cd "$pac_popdir" subconfig_happy=1 else # restore the current dir for the provided actions cd "$pac_popdir" subconfig_happy=0 fi fi cd "$pac_popdir" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: ===== done with 3rd-party/libevent-2.1.12-stable-ompi configure =====" >&5 printf "%s\n" "$as_me: ===== done with 3rd-party/libevent-2.1.12-stable-ompi configure =====" >&6;} for temp_var in $ac_precious_vars; do # always restore the value of ac_env__set eval ac_env_${temp_var}_set=\$opal_libevent_configure_ac_env_${temp_var}_set # conditionally restore any variable values that were set at # CLEAN time eval temp_var_set=\$opal_libevent_configure_${temp_var}_set if test "$temp_var_set" = "set" ; then eval ${temp_var}=\$opal_libevent_configure_${temp_var}_value fi unset opal_libevent_configure_${temp_var}_value unset opal_libevent_configure_${temp_var}_set unset opal_libevent_configure_ac_env_${temp_var}_set done if test ${subconfig_happy} -eq 1 then : internal_libevent_location="3rd-party/libevent-2.1.12-stable-ompi" # The tarball as configured can not be used for compile # tests, because libevent uses a Makefile rule rather than # Autoconf to generate their config file (sigh). Force # generation of that file now, so that other 3rd party # packages can run compile tests. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Generating Libevent's event-config.h" >&5 printf "%s\n" "$as_me: Generating Libevent's event-config.h" >&6;} (cd $OMPI_TOP_BUILDDIR/$internal_libevent_location/ ; ${MAKE-make} include/event2/event-config.h) if test $? -ne 0 then : as_fn_error $? "Could not generate event-config.h." "$LINENO" 5 fi # because we don't use pkg-config with libevent, have to # guess at many of these fields (and likely get static # versions wrong). opal_libevent_LDFLAGS= opal_libevent_STATIC_LDFLAGS= opal_libevent_LIBS="-levent_core -levent_pthreads" opal_libevent_STATIC_LIBS= { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for internal libevent LIBS" >&5 printf %s "checking for internal libevent LIBS... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${opal_libevent_LIBS}" >&5 printf "%s\n" "${opal_libevent_LIBS}" >&6; } # note: because we only ship/commit a tarball (and not the source # directory), the source is always expanded in the builddir, so we # only need to add a -I to the builddir. opal_libevent_CPPFLAGS="-I$OMPI_TOP_BUILDDIR/$internal_libevent_location -I$OMPI_TOP_BUILDDIR/$internal_libevent_location/include" opal_libevent_BUILD_CPPFLAGS="${opal_libevent_CPPFLAGS}" # No need to update LDFLAGS, because they will install into # our tree and in the mean time are referenced by their .la # files. opal_libevent_BUILD_LIBS="$OMPI_TOP_BUILDDIR/$internal_libevent_location/libevent_core.la $OMPI_TOP_BUILDDIR/$internal_libevent_location/libevent_pthreads.la" opal_libevent_WRAPPER_LIBS="${opal_libevent_LIBS}" # no need to add to DIST_SUBDIRS, because we only ship the # tarball. This is relative to the 3rd-party/ directory. OPAL_3RDPARTY_SUBDIRS="$OPAL_3RDPARTY_SUBDIRS libevent-2.1.12-stable-ompi" internal_libevent_happy=1 opal_libevent_mode="internal" fi opal_var_scope_pop subconfig_happy subconfig_prefix internal_libevent_location fi if test "$external_libevent_happy" = "0" -a "$internal_libevent_happy" = "0" then : as_fn_error $? "Could not find viable libevent build." "$LINENO" 5 fi if test -z "${OPAL_3RDPARTY_EXTRA_DIST}" then : OPAL_3RDPARTY_EXTRA_DIST="libevent-2.1.12-stable-ompi.tar.gz" else case e in @%:@( e) OPAL_3RDPARTY_EXTRA_DIST="${OPAL_3RDPARTY_EXTRA_DIST} libevent-2.1.12-stable-ompi.tar.gz" ;; esac fi if test -z "${OPAL_3RDPARTY_DISTCLEAN_DIRS}" then : OPAL_3RDPARTY_DISTCLEAN_DIRS="libevent-2.1.12-stable-ompi" else case e in @%:@( e) OPAL_3RDPARTY_DISTCLEAN_DIRS="${OPAL_3RDPARTY_DISTCLEAN_DIRS} libevent-2.1.12-stable-ompi" ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${opal_libevent_LDFLAGS}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${wrapper_extra_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 "${wrapper_extra_ldflags}" then : wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) wrapper_extra_ldflags="${wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val opal_show_verbose "Adding \"${opal_libevent_LDFLAGS}\" to \"LDFLAGS\"" oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${opal_libevent_STATIC_LDFLAGS}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${wrapper_extra_static_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 "${wrapper_extra_static_ldflags}" then : wrapper_extra_static_ldflags="$oac_list_arg" else case e in @%:@( e) wrapper_extra_static_ldflags="${wrapper_extra_static_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val opal_show_verbose "Adding \"${opal_libevent_STATIC_LDFLAGS}\" to \"STATIC_LDFLAGS\"" oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in ${opal_libevent_LIBS}; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${wrapper_extra_libs}" then : wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) wrapper_extra_libs="${wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${wrapper_extra_libs}" then : wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) wrapper_extra_libs="${wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable opal_show_verbose "Adding \"${opal_libevent_LIBS}\" to \"LIBS\"" oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${opal_libevent_STATIC_LIBS}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${wrapper_extra_static_libs}; 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_static_libs}" then : wrapper_extra_static_libs="$oac_list_arg" else case e in @%:@( e) wrapper_extra_static_libs="${wrapper_extra_static_libs} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val opal_show_verbose "Adding \"${opal_libevent_STATIC_LIBS}\" to \"STATIC_LIBS\"" oac_var_scope_push ${LINENO} oac_list_arg oac_list_found oac_list_val for oac_list_arg in ${opal_libevent_PC_MODULES}; do oac_list_found=0; for oac_list_val in ${wrapper_extra_pkgconfig_modules}; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_found=1 break fi done if test "${oac_list_found}" = "0" then : if test -z "${wrapper_extra_pkgconfig_modules}" then : wrapper_extra_pkgconfig_modules="${oac_list_arg}" else case e in @%:@( e) wrapper_extra_pkgconfig_modules="${wrapper_extra_pkgconfig_modules} ${oac_list_arg}" ;; esac fi fi done oac_var_scope_pop oac_list_arg oac_list_found oac_list_val opal_show_verbose "Adding \"${opal_libevent_PC_MODULES}\" to \"PC_MODULES\"" 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="libevent: $opal_libevent_mode" oac_summary_key="Miscellaneouslibevent" # 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 case e in @%:@( e) oac_summary_section_Miscellaneous_name="Miscellaneous" if test -z "${oac_summary_sections}" then : oac_summary_sections="Miscellaneous" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} Miscellaneous" ;; esac fi ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) oac_summary_section_Miscellaneous_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key opal_var_scope_pop internal_libevent_happy external_libevent_happy opal_libevent_STATIC_LDFLAGS opal_libevent_LIBS opal_libevent_STATIC_LIBS opal_var_scope_push ${LINENO} external_hwloc_happy internal_hwloc_happy opal_hwloc_STATIC_LDFLAGS opal_hwloc_LIBS opal_hwloc_STATIC_LIBS opal_show_subtitle "Configuring hwloc" @%:@ Check whether --with-hwloc was given. if test ${with_hwloc+y} then : withval=$with_hwloc; fi @%:@ Check whether --with-hwloc-libdir was given. if test ${with_hwloc_libdir+y} then : withval=$with_hwloc_libdir; fi # Bozo check if test "$with_hwloc" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: It is not possible to configure Open MPI --without-hwloc" >&5 printf "%s\n" "$as_me: WARNING: It is not possible to configure Open MPI --without-hwloc" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test "$with_hwloc_libdir" = "no" -o "$with_hwloc_libdir" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: yes/no are invalid responses for --with-hwloc-libdir. Please specify a path." >&5 printf "%s\n" "$as_me: WARNING: yes/no are invalid responses for --with-hwloc-libdir. Please specify a path." >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi # Make sure the user didn't specify --with-hwloc=internal and # --with-hwloc-libdir=whatever (because you can only specify # --with-hwloc-libdir when external hwloc is being used). if test "$with_hwloc" = "internal" && test -n "$with_hwloc_libdir" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Both --with-hwloc=internal and --with-hwloc-libdir=DIR" >&5 printf "%s\n" "$as_me: WARNING: Both --with-hwloc=internal and --with-hwloc-libdir=DIR" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: were specified, which does not make sense." >&5 printf "%s\n" "$as_me: WARNING: were specified, which does not make sense." >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi # clean up $with_hwloc so that it contains only a path or empty # string. To determine internal or external preferences, use # $opal_hwloc_mode. if test "$with_hwloc" = "yes" then : with_hwloc= fi case $with_hwloc in @%:@( "internal") : with_hwloc="" opal_hwloc_mode="internal" ;; @%:@( "external") : with_hwloc="" opal_hwloc_mode="external" ;; @%:@( "no") : with_hwloc="" opal_hwloc_mode="disabled" ;; @%:@( "") : opal_hwloc_mode="unspecified" ;; @%:@( *) : opal_hwloc_mode="external" ;; esac # unless internal specifically requested by the user, try to find # an external that works. external_hwloc_happy=0 if test "$opal_hwloc_mode" != "internal" then : opal_var_scope_push ${LINENO} opal_hwloc_min_num_version opal_hwloc_min_version opal_hwlox_max_num_version opal_hwloc_CPPFLAGS_save opal_hwloc_LDFLAGS_save opal_hwloc_LIBS_save opal_hwloc_external_support # ****************************** START CHECK PACKAGE FOR hwloc ****************************** oac_var_scope_push ${LINENO} check_package_opal_hwloc_save_CPPFLAGS check_package_opal_hwloc_save_LDFLAGS check_package_opal_hwloc_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_opal_hwloc_save_CPPFLAGS="${CPPFLAGS}" check_package_opal_hwloc_save_LDFLAGS="${LDFLAGS}" check_package_opal_hwloc_save_LIBS="${LIBS}" opal_hwloc_CPPFLAGS= opal_hwloc_LDFLAGS= opal_hwloc_STATIC_LDFLAGS= opal_hwloc_LIBS= opal_hwloc_STATIC_LIBS= { opal_hwloc_PC_MODULES=; unset opal_hwloc_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_hwloc" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package hwloc disabled by user" >&5 printf "%s\n" "$as_me: Package hwloc disabled by user" >&6;} check_package_happy=0 elif test "${with_hwloc}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_hwloc}" ;; esac fi check_package_libdir= if test "${with_hwloc_libdir}" = "no" -o "${with_hwloc_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-hwloc-libdir" "$LINENO" 5 elif test -n "${with_hwloc_libdir}" then : check_package_libdir="${with_hwloc_libdir}" fi check_package_incdir= if test "${with_hwloc_incdir}" = "no" -o "${with_hwloc_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-hwloc-incdir" "$LINENO" 5 elif test -n "${with_hwloc_incdir}" then : check_package_incdir="${with_hwloc_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${hwloc_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-hwloc or --with-hwloc-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-hwloc only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hwloc pkg-config name" >&5 printf %s "checking for hwloc pkg-config name... " >&6; } if test ${oac_cv_check_package_hwloc_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_hwloc_pcfilename="hwloc" if test -n "${check_package_libdir}" then : oac_cv_check_package_hwloc_pcfilename="${check_package_libdir}/pkgconfig/hwloc.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_hwloc_pcfilename="hwloc" elif test -r "${check_package_prefix}/lib/pkgconfig/hwloc.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/hwloc.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found hwloc in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-hwloc-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_hwloc_pcfilename="${check_package_prefix}/lib/pkgconfig/hwloc.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/hwloc.pc" then : oac_cv_check_package_hwloc_pcfilename="${check_package_prefix}/lib64/pkgconfig/hwloc.pc" else case e in @%:@( e) oac_cv_check_package_hwloc_pcfilename="${check_package_prefix}/lib/pkgconfig/hwloc.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_hwloc_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_hwloc_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if hwloc pkg-config module exists" >&5 printf %s "checking if hwloc pkg-config module exists... " >&6; } if test ${oac_cv_check_package_hwloc_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_hwloc_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_hwloc_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : opal_hwloc_PC_MODULES=${oac_cv_check_package_hwloc_pcfilename} oac_cv_check_package_hwloc_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_hwloc_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_hwloc_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_hwloc_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_hwloc_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hwloc pkg-config cflags" >&5 printf %s "checking for hwloc pkg-config cflags... " >&6; } if test ${oac_cv_check_package_hwloc_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_hwloc_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_hwloc_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_hwloc_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving hwloc cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_hwloc_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_hwloc_pkg_config_cppflags" >&6; } opal_hwloc_CPPFLAGS="${oac_cv_check_package_hwloc_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hwloc pkg-config ldflags" >&5 printf %s "checking for hwloc pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_hwloc_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_hwloc_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_hwloc_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_hwloc_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving hwloc ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_hwloc_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_hwloc_pkg_config_ldflags" >&6; } opal_hwloc_LDFLAGS="${oac_cv_check_package_hwloc_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hwloc pkg-config static ldflags" >&5 printf %s "checking for hwloc pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_hwloc_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_hwloc_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_hwloc_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_hwloc_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving hwloc static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_hwloc_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_hwloc_pkg_config_static_ldflags" >&6; } opal_hwloc_STATIC_LDFLAGS="${oac_cv_check_package_hwloc_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hwloc pkg-config libs" >&5 printf %s "checking for hwloc pkg-config libs... " >&6; } if test ${oac_cv_check_package_hwloc_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_hwloc_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_hwloc_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_hwloc_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving hwloc libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_hwloc_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_hwloc_pkg_config_libs" >&6; } opal_hwloc_LIBS="${oac_cv_check_package_hwloc_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hwloc pkg-config static libs" >&5 printf %s "checking for hwloc pkg-config static libs... " >&6; } if test ${oac_cv_check_package_hwloc_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_hwloc_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_hwloc_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_hwloc_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving hwloc libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_hwloc_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_hwloc_pkg_config_static_libs" >&6; } opal_hwloc_STATIC_LIBS="${oac_cv_check_package_hwloc_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${hwloc_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-hwloc argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hwloc wrapper compiler" >&5 printf %s "checking for hwloc wrapper compiler... " >&6; } if test ${oac_cv_check_package_hwloc_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_hwloc_wrapper_compiler="hwloccc" else case e in @%:@( e) oac_cv_check_package_hwloc_wrapper_compiler="${check_package_prefix}/bin/hwloccc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_hwloc_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_hwloc_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if hwloc wrapper compiler works" >&5 printf %s "checking if hwloc wrapper compiler works... " >&6; } if test ${oac_cv_check_package_hwloc_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_hwloc_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_hwloc_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_hwloc_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_hwloc_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_hwloc_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_hwloc_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_hwloc_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hwloc wrapper compiler cppflags" >&5 printf %s "checking for hwloc wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_hwloc_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_hwloc_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_hwloc_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_hwloc_wrapper_compiler_cppflags}" then : oac_cv_check_package_hwloc_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_hwloc_wrapper_compiler_cppflags="${oac_cv_check_package_hwloc_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving hwloc cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_hwloc_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_hwloc_wrapper_compiler_cppflags" >&6; } opal_hwloc_CPPFLAGS="${oac_cv_check_package_hwloc_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hwloc wrapper compiler ldflags" >&5 printf %s "checking for hwloc wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_hwloc_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_hwloc_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_hwloc_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_hwloc_wrapper_compiler_ldflags}" then : oac_cv_check_package_hwloc_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_hwloc_wrapper_compiler_ldflags="${oac_cv_check_package_hwloc_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving hwloc ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_hwloc_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_hwloc_wrapper_compiler_ldflags" >&6; } opal_hwloc_LDFLAGS="${oac_cv_check_package_hwloc_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hwloc wrapper compiler static ldflags" >&5 printf %s "checking for hwloc wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_hwloc_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_hwloc_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_hwloc_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_hwloc_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_hwloc_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_hwloc_wrapper_compiler_static_ldflags="${oac_cv_check_package_hwloc_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving hwloc static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_hwloc_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_hwloc_wrapper_compiler_static_ldflags" >&6; } opal_hwloc_STATIC_LDFLAGS="${oac_cv_check_package_hwloc_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hwloc wrapper compiler libs" >&5 printf %s "checking for hwloc wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_hwloc_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_hwloc_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_hwloc_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_hwloc_wrapper_compiler_libs}" then : oac_cv_check_package_hwloc_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_hwloc_wrapper_compiler_libs="${oac_cv_check_package_hwloc_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving hwloc libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_hwloc_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_hwloc_wrapper_compiler_libs" >&6; } opal_hwloc_LIBS="$oac_cv_check_package_hwloc_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hwloc wrapper compiler static libs" >&5 printf %s "checking for hwloc wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_hwloc_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_hwloc_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_hwloc_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_hwloc_wrapper_compiler_static_libs}" then : oac_cv_check_package_hwloc_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_hwloc_wrapper_compiler_static_libs="${oac_cv_check_package_hwloc_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving hwloc static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_hwloc_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_hwloc_wrapper_compiler_static_libs" >&6; } opal_hwloc_STATIC_LIBS="${oac_cv_check_package_hwloc_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "hwloc.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "hwloc" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hwloc header at ${check_package_generic_incdir}" >&5 printf %s "checking for hwloc header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 opal_hwloc_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hwloc library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for hwloc library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 opal_hwloc_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hwloc library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for hwloc library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-hwloc-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 opal_hwloc_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 opal_hwloc_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 opal_hwloc_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for hwloc in default search paths" >&5 printf "%s\n" "$as_me: Searching for hwloc in default search paths" >&6;} hwloc_CPPFLAGS= hwloc_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in hwloc ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${opal_hwloc_LIBS}" then : opal_hwloc_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) opal_hwloc_LIBS="${opal_hwloc_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${opal_hwloc_STATIC_LIBS}" then : opal_hwloc_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) opal_hwloc_STATIC_LIBS="${opal_hwloc_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hwloc cppflags" >&5 printf %s "checking for hwloc cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_hwloc_CPPFLAGS" >&5 printf "%s\n" "$opal_hwloc_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hwloc ldflags" >&5 printf %s "checking for hwloc ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_hwloc_LDFLAGS" >&5 printf "%s\n" "$opal_hwloc_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hwloc libs" >&5 printf %s "checking for hwloc libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_hwloc_LIBS" >&5 printf "%s\n" "$opal_hwloc_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hwloc static libs" >&5 printf %s "checking for hwloc static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_hwloc_STATIC_LIBS" >&5 printf "%s\n" "$opal_hwloc_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${opal_hwloc_LDFLAGS}" then : opal_hwloc_LDFLAGS="${opal_hwloc_STATIC_LDFLAGS}" else case e in @%:@( e) opal_hwloc_LDFLAGS="${opal_hwloc_LDFLAGS} ${opal_hwloc_STATIC_LDFLAGS}" ;; esac fi if test -z "${opal_hwloc_LIBS}" then : opal_hwloc_LIBS="${opal_hwloc_STATIC_LIBS}" else case e in @%:@( e) opal_hwloc_LIBS="${opal_hwloc_LIBS} ${opal_hwloc_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "hwloc.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${opal_hwloc_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${opal_hwloc_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${opal_hwloc_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${opal_hwloc_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${opal_hwloc_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${opal_hwloc_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "hwloc_topology_init" "ac_cv_func_hwloc_topology_init" if test "x$ac_cv_func_hwloc_topology_init" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if hwloc requires libnl v1 or v3" >&5 printf %s "checking if hwloc requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_hwloc+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void hwloc_topology_init (void); int main(int argc, char *argv[]) { hwloc_topology_init (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib hwloc" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib hwloc" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_hwloc=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_hwloc" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_hwloc" >&6; } result_msg=$opal_libnl_sanity_check_cv_hwloc this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, hwloc links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, hwloc links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libhwloc (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libhwloc (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libhwloc." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libhwloc." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas hwloc requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas hwloc requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libhwloc (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libhwloc (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libhwloc." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libhwloc." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs hwloc" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas hwloc requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas hwloc requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libhwloc (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libhwloc (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libhwloc." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libhwloc." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs hwloc" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi opal_hwloc_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : opal_hwloc_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) opal_hwloc_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi opal_hwloc_external_support=yes else case e in @%:@( e) if test "${with_hwloc}" = "no" then : opal_hwloc_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) opal_hwloc_SUMMARY="no (not found)" ;; esac fi { opal_hwloc_CPPFLAGS=; unset opal_hwloc_CPPFLAGS;} { opal_hwloc_LDFLAGS=; unset opal_hwloc_LDFLAGS;} { opal_hwloc_STATIC_LDFLAGS=; unset opal_hwloc_STATIC_LDFLAGS;} { opal_hwloc_LIBS=; unset opal_hwloc_LIBS;} { opal_hwloc_STATIC_LIBS=; unset opal_hwloc_STATIC_LIBS;} opal_hwloc_external_support=no ;; esac fi CPPFLAGS="${check_package_opal_hwloc_save_CPPFLAGS}" LDFLAGS="${check_package_opal_hwloc_save_LDFLAGS}" LIBS="${check_package_opal_hwloc_save_LIBS}" oac_var_scope_pop check_package_opal_hwloc_save_CPPFLAGS check_package_opal_hwloc_save_LDFLAGS check_package_opal_hwloc_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR hwloc ****************************** # need these set for the tests below. opal_hwloc_CPPFLAGS_save=$CPPFLAGS opal_hwloc_LDFLAGS_save=$LDFLAGS opal_hwloc_LIBS_save=$LIBS oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $opal_hwloc_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${CPPFLAGS}; 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 "${CPPFLAGS}" then : CPPFLAGS="$oac_list_arg" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $opal_hwloc_LDFLAGS; 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 case e in @%:@( e) LDFLAGS="${LDFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $opal_hwloc_LIBS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${LIBS}; 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 "${LIBS}" then : LIBS="$oac_list_arg" else case e in @%:@( e) LIBS="${LIBS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val opal_hwloc_min_num_version=0x00010b00 opal_hwloc_min_version=0x00010b00 if test "$opal_hwloc_external_support" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if external hwloc version is version 1.11.0 or greater" >&5 printf %s "checking if external hwloc version is version 1.11.0 or greater... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #if HWLOC_API_VERSION < $opal_hwloc_min_num_version #error "hwloc API version is less than $opal_hwloc_min_version" #endif ; return 0; } _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 case e in @%:@( e) { 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: external hwloc version is too old (1.11.0 or later required)" >&5 printf "%s\n" "$as_me: WARNING: external hwloc version is too old (1.11.0 or later required)" >&2;} opal_hwloc_external_support="no" ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi # Ensure that we are not using Hwloc >= v3.x. Open MPI does not # (yet) support Hwloc >= v3.x (which will potentially have ABI and # API breakage compared to <= v2.x), and using it would lead to # complicated failure cases. Hence, we just abort outright if we # find an external Hwloc >= v3.x. if test "$opal_hwloc_external_support" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if external hwloc version is less than version 3.0.0" >&5 printf %s "checking if external hwloc version is less than version 3.0.0... " >&6; } opal_hwloc_max_num_version=0x00030000 cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #if HWLOC_API_VERSION >= $opal_hwloc_max_num_version #error "hwloc API version is >= $opal_hwloc_max_num_version" #endif ; return 0; } _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 case e in @%:@( e) { 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: External hwloc version is too new (less than v3.0.0 is required)" >&5 printf "%s\n" "$as_me: WARNING: External hwloc version is too new (less than v3.0.0 is required)" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: See https://docs.open-mpi.org/en/v$OMPI_MAJOR_VERSION.$OMPI_MINOR_VERSION.x/installing-open-mpi/required-support-libraries.html for more details" >&5 printf "%s\n" "$as_me: WARNING: See https://docs.open-mpi.org/en/v$OMPI_MAJOR_VERSION.$OMPI_MINOR_VERSION.x/installing-open-mpi/required-support-libraries.html for more details" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi if test "$opal_hwloc_external_support" = "yes" then : ac_fn_check_decl "$LINENO" "HWLOC_OBJ_OSDEV_COPROC" "ac_cv_have_decl_HWLOC_OBJ_OSDEV_COPROC" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_HWLOC_OBJ_OSDEV_COPROC" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_HWLOC_OBJ_OSDEV_COPROC $ac_have_decl" >>confdefs.h ac_fn_c_check_func "$LINENO" "hwloc_topology_dup" "ac_cv_func_hwloc_topology_dup" if test "x$ac_cv_func_hwloc_topology_dup" = xyes then : printf "%s\n" "@%:@define HAVE_HWLOC_TOPOLOGY_DUP 1" >>confdefs.h fi fi CPPFLAGS="$opal_hwloc_CPPFLAGS_save" LDFLAGS="$opal_hwloc_LDFLAGS_save" LIBS="$opal_hwloc_LIBS_save" if test "$opal_hwloc_external_support" = "yes" then : opal_hwloc_BUILD_LIBS="${opal_hwloc_LIBS}" external_hwloc_happy=1 opal_hwloc_mode="external" else case e in @%:@( e) external_hwloc_happy=0 if test "$opal_hwloc_mode" = "external" then : as_fn_error $? "External hwloc requested but not found." "$LINENO" 5 fi ;; esac fi opal_var_scope_pop opal_hwloc_min_num_version opal_hwloc_min_version opal_hwlox_max_num_version opal_hwloc_CPPFLAGS_save opal_hwloc_LDFLAGS_save opal_hwloc_LIBS_save opal_hwloc_external_support fi internal_hwloc_happy=0 if test "$external_hwloc_happy" = "0" then : opal_var_scope_push ${LINENO} subconfig_happy internal_hwloc_location extra_configure_args found_enable_plugins hwloc_config_arg pkg_config_file pkg_config_happy extra_configure_args= # look for a --{enable/disable}-plugins option in the top level # configure arguments, so that we can add --enable-plugins if # appropriate. found_enable_plugins=0 eval "set x $ac_configure_args" shift for hwloc_config_arg do case $hwloc_config_arg in --enable-plugins|--enable-plugins=*|--disable-plugins) found_enable_plugins=1 ;; esac done # while the plugins in hwloc are not explicitly using Open MPI's dlopen # interface, it seems rude to enable plugins in hwloc if the builder asked # us not to use plugins in Open MPI. So only enable plugins in hwloc if there's # a chance we're going to do so. We enable plugins by default so that libhwloc # does not end up with a dependency on libcuda, which would mean everything else # would end up with a dependency on libcuda (and similar). if test $found_enable_plugins -eq 0 -a "$enable_dlopen" != "no" then : extra_configure_args="--enable-plugins" fi # Note: To update the version of hwloc shipped, update the # constant in autogen.pl. opal_var_scope_push ${LINENO} expansion_dir expansion_tarball expansion_dir=`dirname "3rd-party/hwloc-2.7.1"` as_dir=$expansion_dir; as_fn_mkdir_p expansion_tarball="$ac_abs_confdir/3rd-party/hwloc-2.7.1.tar.gz" if test ! -r 3rd-party/hwloc-2.7.1/configure then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Expanding $srcdir/3rd-party/hwloc-2.7.1.tar.gz in $expansion_dir" >&5 printf "%s\n" "$as_me: Expanding $srcdir/3rd-party/hwloc-2.7.1.tar.gz in $expansion_dir" >&6;} case "3rd-party/hwloc-2.7.1.tar.gz" in *.tar.gz|*.tgz) if test -z "$GZIP_BIN" then : as_fn_error $? "gzip not found" "$LINENO" 5 fi (cd "$expansion_dir" ; umask 0022 ; "$GZIP_BIN" -d < "$expansion_tarball" | tar xf - || as_fn_error $? "failed to extract 3rd-party/hwloc-2.7.1.tar.gz" "$LINENO" 5) ;; *.tar.bz2|*.tbz2) if test -z "$BZIP2_BIN" then : as_fn_error $? "bzip2 not found" "$LINENO" 5 fi (cd "$expansion_dir" ; umask 0022 ; "$BZIP_BIN" -d < "$expansion_tarball" | tar xf - || as_fn_error $? "failed to extract 3rd-party/hwloc-2.7.1.tar.gz" "$LINENO" 5) ;; *) # maybe tar is smart? (cd "$expansion_dir" ; umask 0022 ; tar xf "$expansion_tarball" || as_fn_error $? "failed to extract 3rd-party/hwloc-2.7.1.tar.gz" "$LINENO" 5) ;; esac fi opal_var_scope_pop expansion_dir expansion_tarball for temp_var in $ac_precious_vars; do # save all set variables, with a __set and # __value format. _set will always be saved, # _value if _set evaluates to "set". # # Because we may modify the environment with # OPAL_SUBDIR_ENV_APPEND, also store the original values of # ac_env__set in _ac_env__set eval temp_var_set=\${${temp_var}+set} eval opal_hwloc_configure_${temp_var}_set=$temp_var_set eval opal_hwloc_configure_ac_env_${temp_var}_set=\$ac_env_${temp_var}_set if test "$temp_var_set" = "set" ; then eval opal_hwloc_configure_${temp_var}_value=\$${temp_var} fi unset tmp_var_set # restore the variables that were set at the start of # configure and unset the ones that were not. eval temp_var_orig_set=\$ac_env_${temp_var}_set if test "$temp_var_set" = "set" ; then eval ${temp_var}=\$ac_env_${temp_var}_value else unset $temp_var fi done pac_dir="3rd-party/hwloc-2.7.1" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: ===== configuring 3rd-party/hwloc-2.7.1 =====" >&5 printf "%s\n" "$as_me: ===== configuring 3rd-party/hwloc-2.7.1 =====" >&6;} pac_abs_srcdir=`(cd $srcdir && pwd)` if test -f $pac_abs_srcdir/3rd-party/hwloc-2.7.1/setup ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: sourcing $pac_abs_srcdir/3rd-party/hwloc-2.7.1/setup" >&5 printf "%s\n" "$as_me: sourcing $pac_abs_srcdir/3rd-party/hwloc-2.7.1/setup" >&6;} . $pac_abs_srcdir/3rd-party/hwloc-2.7.1/setup fi # Adapted for MPICH from the autoconf-2.67 implementation of # AC_CONFIG_SUBDIRS. Search for "MPICH note:" for relevant commentary and # local modifications. # Remove --cache-file, --srcdir, and --disable-option-checking arguments # so they do not pile up. Otherwise relative paths (like --srcdir=.. from # make distcheck) will be incorrect. pac_sub_configure_args="$extra_configure_args" pac_prev= eval "set x $ac_configure_args" shift for pac_arg do if test -n "$pac_prev"; then pac_prev= continue fi case $pac_arg in -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) pac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* \ | --c=*) ;; --config-cache | -C) ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) pac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) pac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) ;; --disable-option-checking) ;; *) # strip out precious variables from ac_configure_args, # which will include precious variables that are currently # set and were set on the command line or in the # environment at the time configure was invoked. Instead, # we add all precious variables which have been tagged as # set, so that we can more closely control the environment # of sub-configures. is_precious=0 for pac_pvar in $ac_precious_vars ; do # check if configure argument token contains the # precious variable, i.e. "name_of_prec_var=". if ( echo $pac_arg | grep "^$pac_pvar=" >/dev/null 2>&1 ) ; then is_precious=1 break fi done if test $is_precious -eq 0; then case $pac_arg in *\'*) pac_arg=`printf "%s\n" "$pac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append pac_sub_configure_args " '$pac_arg'" fi ;; esac done # add all precious values with a set token to the configure # args. If the caller hasn't artificially manipulated the # environment, this will simply be any precious variables as # they were originally specified on the top-level configure # line (or in the environment at start of configure). # However, callers may manipulate that environment, preferably # with the OPAL_SUBDIR_ENV macros. for temp_var in $ac_precious_vars; do eval temp_var_set=\$ac_env_${temp_var}_set if test "$temp_var_set" = "set" ; then eval temp_val=\$$temp_var temp_arg="$temp_var=$temp_val" as_fn_append pac_sub_configure_args " '$temp_arg'" fi done # Always prepend --prefix to ensure using the same prefix # in subdir configurations. # MPICH note: see tt#983 for an example of why this is necessary pac_arg="--prefix=$prefix" case $pac_arg in *\'*) pac_arg=`printf "%s\n" "$pac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac pac_sub_configure_args="'$pac_arg' $pac_sub_configure_args" # Pass --silent if test "$silent" = yes; then pac_sub_configure_args="--silent $pac_sub_configure_args" fi # Always prepend --disable-option-checking to silence warnings, since # different subdirs can have different --enable and --with options. pac_sub_configure_args="--disable-option-checking $pac_sub_configure_args" # remove arguments specified in third argument from the # built-up list of arguments pac_sub_configure_args=$(echo $pac_sub_configure_args | sed "s,'--enable-debug',,") pac_popdir=`pwd` as_dir="$pac_dir"; as_fn_mkdir_p # MPICH note: we leave this internal macro reference for now. We can clone # the macro locally if this turns out to be non-portable across several autoconf # versions. It sets the following variables: ac_builddir, # ac_top_builddir_sub, ac_top_build_prefix, ac_srcdir, ac_top_srcdir, # ac_abs_top_builddir, ac_abs_builddir, ac_abs_top_srcdir, ac_abs_srcdir ac_builddir=. case "$pac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`printf "%s\n" "$pac_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 "$pac_dir" # Check for guested configure; otherwise get Cygnus style # configure. Look for configure in source tree and then the # build tree, as we sometimes configure from sub-tarballs # expanded in the build tree. if test -f "$ac_srcdir/configure.gnu"; then pac_sub_configure=$ac_srcdir/configure.gnu elif test -f "$ac_srcdir/configure"; then pac_sub_configure=$ac_srcdir/configure elif test -f "configure.gnu"; then pac_sub_configure="configure.gnu" ac_srcdir="." elif test -f "configure"; then pac_sub_configure="configure" ac_srcdir="." else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: no configuration information is in $pac_dir" >&5 printf "%s\n" "$as_me: WARNING: no configuration information is in $pac_dir" >&2;} pac_sub_configure= fi # The recursion is here. if test -n "$pac_sub_configure"; then # MPICH note: overriding the cache file on purpose to prevent strange # issues resulting from inter-dir caching pac_sub_cache_file="/dev/null" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: running $SHELL $pac_sub_configure $pac_sub_configure_args --cache-file=$pac_sub_cache_file --srcdir=$ac_srcdir" >&5 printf "%s\n" "$as_me: running $SHELL $pac_sub_configure $pac_sub_configure_args --cache-file=$pac_sub_cache_file --srcdir=$ac_srcdir" >&6;} # The eval makes quoting arguments work. # MPICH note: we want to execute the provided actions, not be silent # or error out if the subconfigure succeeded/failed if eval "\$SHELL \"\$pac_sub_configure\" $pac_sub_configure_args \ --cache-file=\"\$pac_sub_cache_file\" --srcdir=\"\$ac_srcdir\"" then # restore the current dir for the provided actions cd "$pac_popdir" subconfig_happy=1 else # restore the current dir for the provided actions cd "$pac_popdir" subconfig_happy=0 fi fi cd "$pac_popdir" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: ===== done with 3rd-party/hwloc-2.7.1 configure =====" >&5 printf "%s\n" "$as_me: ===== done with 3rd-party/hwloc-2.7.1 configure =====" >&6;} for temp_var in $ac_precious_vars; do # always restore the value of ac_env__set eval ac_env_${temp_var}_set=\$opal_hwloc_configure_ac_env_${temp_var}_set # conditionally restore any variable values that were set at # CLEAN time eval temp_var_set=\$opal_hwloc_configure_${temp_var}_set if test "$temp_var_set" = "set" ; then eval ${temp_var}=\$opal_hwloc_configure_${temp_var}_value fi unset opal_hwloc_configure_${temp_var}_value unset opal_hwloc_configure_${temp_var}_set unset opal_hwloc_configure_ac_env_${temp_var}_set done if test ${subconfig_happy} -eq 1 then : internal_hwloc_location="3rd-party/hwloc-2.7.1" pkg_config_file="${OMPI_TOP_BUILDDIR}/3rd-party/hwloc-2.7.1/hwloc.pc" pkg_config_happy=0 oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if hwloc_internal pkg-config module exists" >&5 printf %s "checking if hwloc_internal pkg-config module exists... " >&6; } if test ${oac_cv_check_package_hwloc_internal_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${pkg_config_file} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${pkg_config_file} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : opal_hwloc_PC_MODULES=${pkg_config_file} oac_cv_check_package_hwloc_internal_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_hwloc_internal_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_hwloc_internal_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_hwloc_internal_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_hwloc_internal_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hwloc_internal pkg-config cflags" >&5 printf %s "checking for hwloc_internal pkg-config cflags... " >&6; } if test ${oac_cv_check_package_hwloc_internal_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${pkg_config_file} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${pkg_config_file} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_hwloc_internal_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving hwloc_internal cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_hwloc_internal_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_hwloc_internal_pkg_config_cppflags" >&6; } opal_hwloc_CPPFLAGS="${oac_cv_check_package_hwloc_internal_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hwloc_internal pkg-config ldflags" >&5 printf %s "checking for hwloc_internal pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_hwloc_internal_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${pkg_config_file} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${pkg_config_file} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_hwloc_internal_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving hwloc_internal ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_hwloc_internal_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_hwloc_internal_pkg_config_ldflags" >&6; } opal_hwloc_LDFLAGS="${oac_cv_check_package_hwloc_internal_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hwloc_internal pkg-config static ldflags" >&5 printf %s "checking for hwloc_internal pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_hwloc_internal_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${pkg_config_file} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${pkg_config_file} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_hwloc_internal_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving hwloc_internal static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_hwloc_internal_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_hwloc_internal_pkg_config_static_ldflags" >&6; } opal_hwloc_STATIC_LDFLAGS="${oac_cv_check_package_hwloc_internal_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hwloc_internal pkg-config libs" >&5 printf %s "checking for hwloc_internal pkg-config libs... " >&6; } if test ${oac_cv_check_package_hwloc_internal_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${pkg_config_file} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${pkg_config_file} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_hwloc_internal_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving hwloc_internal libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_hwloc_internal_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_hwloc_internal_pkg_config_libs" >&6; } opal_hwloc_LIBS="${oac_cv_check_package_hwloc_internal_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hwloc_internal pkg-config static libs" >&5 printf %s "checking for hwloc_internal pkg-config static libs... " >&6; } if test ${oac_cv_check_package_hwloc_internal_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${pkg_config_file} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${pkg_config_file} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_hwloc_internal_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving hwloc_internal libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_hwloc_internal_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_hwloc_internal_pkg_config_static_libs" >&6; } opal_hwloc_STATIC_LIBS="${oac_cv_check_package_hwloc_internal_pkg_config_static_libs}" pkg_config_happy=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result opal_hwloc_LDFLAGS= if test $pkg_config_happy -eq 0 then : opal_hwloc_STATIC_LDFLAGS= opal_hwloc_LIBS="-lhwloc" opal_hwloc_STATIC_LIBS= opal_hwloc_PC_MODULES= fi # note: because we only ship/commit a tarball (and not the # source directory), the source is always expanded in the # builddir, so we only need to add a -I to the builddir. # Overwrite the OAC_CHECK_PACKAGE_PARSE PKGCONFIG results, # because it's the install dir location, not the build # location. opal_hwloc_CPPFLAGS="-I$OMPI_TOP_BUILDDIR/$internal_hwloc_location/include -I$OMPI_TOP_SRCDIR/$internal_hwloc_location/include" opal_hwloc_BUILD_CPPFLAGS="${opal_hwloc_CPPFLAGS}" # No need to update LDFLAGS, because they will install into # our tree and in the mean time are referenced by their .la # files. opal_hwloc_BUILD_LIBS="$OMPI_TOP_BUILDDIR/$internal_hwloc_location/hwloc/libhwloc.la" opal_hwloc_WRAPPER_LIBS="${opal_hwloc_LIBS}" # no need to add to DIST_SUBDIRS, because we only ship the # tarball. This is relative to the 3rd-party/ directory. OPAL_3RDPARTY_SUBDIRS="$OPAL_3RDPARTY_SUBDIRS hwloc-2.7.1" internal_hwloc_happy=1 opal_hwloc_mode="internal" fi opal_var_scope_pop subconfig_happy internal_hwloc_location extra_configure_args found_enable_plugins hwloc_config_arg pkg_config_file pkg_config_happy fi if test "$external_hwloc_happy" = "0" -a "$internal_hwloc_happy" = "0" then : as_fn_error $? "Could not find viable hwloc build." "$LINENO" 5 fi OPAL_3RDPARTY_EXTRA_DIST="$OPAL_3RDPARTY_EXTRA_DIST hwloc-2.7.1.tar.gz" OPAL_3RDPARTY_DISTCLEAN_DIRS="$OPAL_3RDPARTY_DISTCLEAN_DIRS hwloc-2.7.1" oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${opal_hwloc_LDFLAGS}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${wrapper_extra_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 "${wrapper_extra_ldflags}" then : wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) wrapper_extra_ldflags="${wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val opal_show_verbose "Adding \"${opal_hwloc_LDFLAGS}\" to \"LDFLAGS\"" oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${opal_hwloc_STATIC_LDFLAGS}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${wrapper_extra_static_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 "${wrapper_extra_static_ldflags}" then : wrapper_extra_static_ldflags="$oac_list_arg" else case e in @%:@( e) wrapper_extra_static_ldflags="${wrapper_extra_static_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val opal_show_verbose "Adding \"${opal_hwloc_STATIC_LDFLAGS}\" to \"STATIC_LDFLAGS\"" oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in ${opal_hwloc_LIBS}; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${wrapper_extra_libs}" then : wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) wrapper_extra_libs="${wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${wrapper_extra_libs}" then : wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) wrapper_extra_libs="${wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable opal_show_verbose "Adding \"${opal_hwloc_LIBS}\" to \"LIBS\"" oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${opal_hwloc_STATIC_LIBS}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${wrapper_extra_static_libs}; 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_static_libs}" then : wrapper_extra_static_libs="$oac_list_arg" else case e in @%:@( e) wrapper_extra_static_libs="${wrapper_extra_static_libs} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val opal_show_verbose "Adding \"${opal_hwloc_STATIC_LIBS}\" to \"STATIC_LIBS\"" oac_var_scope_push ${LINENO} oac_list_arg oac_list_found oac_list_val for oac_list_arg in ${opal_hwloc_PC_MODULES}; do oac_list_found=0; for oac_list_val in ${wrapper_extra_pkgconfig_modules}; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_found=1 break fi done if test "${oac_list_found}" = "0" then : if test -z "${wrapper_extra_pkgconfig_modules}" then : wrapper_extra_pkgconfig_modules="${oac_list_arg}" else case e in @%:@( e) wrapper_extra_pkgconfig_modules="${wrapper_extra_pkgconfig_modules} ${oac_list_arg}" ;; esac fi fi done oac_var_scope_pop oac_list_arg oac_list_found oac_list_val opal_show_verbose "Adding \"${opal_hwloc_PC_MODULES}\" to \"PC_MODULES\"" 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="hwloc: $opal_hwloc_mode" oac_summary_key="Miscellaneoushwloc" # 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 case e in @%:@( e) oac_summary_section_Miscellaneous_name="Miscellaneous" if test -z "${oac_summary_sections}" then : oac_summary_sections="Miscellaneous" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} Miscellaneous" ;; esac fi ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) oac_summary_section_Miscellaneous_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key opal_var_scope_pop external_hwloc_happy internal_hwloc_happy opal_hwloc_STATIC_LDFLAGS opal_hwloc_LIBS opal_hwloc_STATIC_LIBS opal_var_scope_push ${LINENO} external_pmix_happy internal_pmix_happy internal_pmix_args internal_pmix_wrapper_libs internal_pmix_CPPFLAGS opal_pmix_STATIC_LDFLAGS opal_pmix_LIBS opal_pmix_STATIC_LIBS opal_show_subtitle "Configuring PMIx" @%:@ Check whether --with-pmix was given. if test ${with_pmix+y} then : withval=$with_pmix; fi @%:@ Check whether --with-pmix-libdir was given. if test ${with_pmix_libdir+y} then : withval=$with_pmix_libdir; fi # Bozo check if test "$with_pmix" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: It is not possible to configure Open MPI --without-pmix" >&5 printf "%s\n" "$as_me: WARNING: It is not possible to configure Open MPI --without-pmix" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test "$with_pmix_libdir" = "no" -o "$with_pmix_libdir" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: yes/no are invalid responses for --with-pmix-libdir. Please specify a path." >&5 printf "%s\n" "$as_me: WARNING: yes/no are invalid responses for --with-pmix-libdir. Please specify a path." >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi # Make sure the user didn't specify --with-pmix=internal and # --with-pmix-libdir=whatever (because you can only specify # --with-pmix-libdir when external pmix is being used). if test "$with_pmix" = "internal" && test -n "$with_pmix_libdir" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Both --with-pmix=internal and --with-pmix-libdir=DIR" >&5 printf "%s\n" "$as_me: WARNING: Both --with-pmix=internal and --with-pmix-libdir=DIR" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: were specified, which does not make sense." >&5 printf "%s\n" "$as_me: WARNING: were specified, which does not make sense." >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi # clean up $with_pmix so that it contains only a path or empty # string. To determine internal or external preferences, use # $opal_pmix_mode. if test "$with_pmix" = "yes" then : with_pmix= fi case $with_pmix in @%:@( "internal") : with_pmix="" opal_pmix_mode="internal" ;; @%:@( "external") : with_pmix="" opal_pmix_mode="external" ;; @%:@( "no") : with_pmix="" opal_pmix_mode="disabled" ;; @%:@( "") : opal_pmix_mode="unspecified" ;; @%:@( *) : opal_pmix_mode="external" ;; esac internal_pmix_happy=0 # ---------------------------------------- # Warning: Excluded: sysroot # ---------------------------------------- Above from 3rd-party/openpmix//config/libtool.m4:1249 # Warning: Excluded: libtool-lock # ---------------------------------------- Above from 3rd-party/openpmix//config/libtool.m4:1282 # Warning: Excluded: gnu-ld # ---------------------------------------- Above from 3rd-party/openpmix//config/libtool.m4:3248 # Warning: Excluded: shared # ---------------------------------------- Above from 3rd-party/openpmix//config/ltoptions.m4:167 # Warning: Excluded: static # ---------------------------------------- Above from 3rd-party/openpmix//config/ltoptions.m4:221 # Warning: Excluded: fast-install # ---------------------------------------- Above from 3rd-party/openpmix//config/ltoptions.m4:275 # Warning: Excluded: aix-soname # ---------------------------------------- Above from 3rd-party/openpmix//config/ltoptions.m4:335 # Warning: Excluded: pic # ---------------------------------------- Above from 3rd-party/openpmix//config/ltoptions.m4:383 # Warning: Excluded: pkgconfigdir # ---------------------------------------- Above from 3rd-party/openpmix//config/pkg.m4:173 # Warning: Excluded: noarch-pkgconfigdir # ---------------------------------------- Above from 3rd-party/openpmix//config/pkg.m4:193 @%:@ Check whether --with-pmix-package-string was given. if test ${with_pmix_package_string+y} then : withval=$with_pmix_package_string; fi # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix.m4:208 # Warning: Excluded: show-load-errors # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix.m4:837 # Warning: Excluded: dlopen # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix.m4:1031 @%:@ Check whether --enable-devel-check was given. if test ${enable_devel_check+y} then : enableval=$enable_devel_check; fi # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix.m4:1074 @%:@ Check whether --enable-memory-sanitizers was given. if test ${enable_memory_sanitizers+y} then : enableval=$enable_memory_sanitizers; fi # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix.m4:1095 # Warning: Excluded: debug # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix.m4:1116 # Warning: Excluded: debug-symbols # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix.m4:1134 @%:@ Check whether --with-pmix-headers was given. if test ${with_pmix_headers+y} then : withval=$with_pmix_headers; fi # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix.m4:1141 @%:@ Check whether --with-tests-examples was given. if test ${with_tests_examples+y} then : withval=$with_tests_examples; fi # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix.m4:1156 # Warning: Excluded: per-user-config-files # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix.m4:1173 # Warning: Excluded: pretty-print-stacktrace # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix.m4:1189 # Warning: Excluded: ident-string # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix.m4:1208 @%:@ Check whether --enable-pmix-timing was given. if test ${enable_pmix_timing+y} then : enableval=$enable_pmix_timing; fi # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix.m4:1234 @%:@ Check whether --enable-pmix-binaries was given. if test ${enable_pmix_binaries+y} then : enableval=$enable_pmix_binaries; fi # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix.m4:1252 @%:@ Check whether --enable-python-bindings was given. if test ${enable_python_bindings+y} then : enableval=$enable_python_bindings; fi # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix.m4:1269 @%:@ Check whether --enable-nonglobal-dlopen was given. if test ${enable_nonglobal_dlopen+y} then : enableval=$enable_nonglobal_dlopen; fi # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix.m4:1352 # Warning: Excluded: pty-support # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix.m4:1366 @%:@ Check whether --enable-dummy-handshake was given. if test ${enable_dummy_handshake+y} then : enableval=$enable_dummy_handshake; fi # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix.m4:1386 # Warning: Excluded: ipv6 # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix.m4:1400 @%:@ Check whether --with-alps-libdir was given. if test ${with_alps_libdir+y} then : withval=$with_alps_libdir; fi # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix_check_alps.m4:45 @%:@ Check whether --with-alps was given. if test ${with_alps+y} then : withval=$with_alps; fi # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix_check_alps.m4:96 @%:@ Check whether --with-curl was given. if test ${with_curl+y} then : withval=$with_curl; fi # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix_check_curl.m4:38 @%:@ Check whether --with-curl-libdir was given. if test ${with_curl_libdir+y} then : withval=$with_curl_libdir; fi # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix_check_curl.m4:42 @%:@ Check whether --with-jansson was given. if test ${with_jansson+y} then : withval=$with_jansson; fi # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix_check_jansson.m4:40 @%:@ Check whether --with-jansson-libdir was given. if test ${with_jansson_libdir+y} then : withval=$with_jansson_libdir; fi # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix_check_jansson.m4:44 # Warning: Excluded: lustre # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix_check_lustre.m4:37 @%:@ Check whether --with-slurm was given. if test ${with_slurm+y} then : withval=$with_slurm; fi # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix_check_slurm.m4:33 # Warning: Excluded: visibility # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix_check_visibility.m4:32 # Warning: Excluded: c11-atomics # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix_config_asm.m4:608 # Warning: Excluded: builtin-atomics # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix_config_asm.m4:612 # Warning: Excluded: max- # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix_functions.m4:313 @%:@ Check whether --with-pmix-platform-patches-dir was given. if test ${with_pmix_platform_patches_dir+y} then : withval=$with_pmix_platform_patches_dir; fi # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix_load_platform.m4:29 @%:@ Check whether --with-pmix-platform was given. if test ${with_pmix_platform+y} then : withval=$with_pmix_platform; fi # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix_load_platform.m4:36 # Warning: Excluded: mca-no-build # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix_mca.m4:55 # Warning: Excluded: mca-dso # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix_mca.m4:59 # Warning: Excluded: mca-static # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix_mca.m4:67 @%:@ Check whether --with-hwloc was given. if test ${with_hwloc+y} then : withval=$with_hwloc; fi # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix_setup_hwloc.m4:23 @%:@ Check whether --with-hwloc-libdir was given. if test ${with_hwloc_libdir+y} then : withval=$with_hwloc_libdir; fi # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix_setup_hwloc.m4:26 @%:@ Check whether --with-hwloc-extra-libs was given. if test ${with_hwloc_extra_libs+y} then : withval=$with_hwloc_extra_libs; fi # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix_setup_hwloc.m4:29 @%:@ Check whether --enable-hwloc-lib-checks was given. if test ${enable_hwloc_lib_checks+y} then : enableval=$enable_hwloc_lib_checks; fi # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix_setup_hwloc.m4:32 @%:@ Check whether --with-libev was given. if test ${with_libev+y} then : withval=$with_libev; fi # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix_setup_libev.m4:38 @%:@ Check whether --with-libev-libdir was given. if test ${with_libev_libdir+y} then : withval=$with_libev_libdir; fi # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix_setup_libev.m4:41 @%:@ Check whether --with-libev-extra-libs was given. if test ${with_libev_extra_libs+y} then : withval=$with_libev_extra_libs; fi # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix_setup_libev.m4:44 @%:@ Check whether --enable-libev-lib-checks was given. if test ${enable_libev_lib_checks+y} then : enableval=$enable_libev_lib_checks; fi # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix_setup_libev.m4:47 @%:@ Check whether --with-libevent was given. if test ${with_libevent+y} then : withval=$with_libevent; fi # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix_setup_libevent.m4:38 @%:@ Check whether --with-libevent-libdir was given. if test ${with_libevent_libdir+y} then : withval=$with_libevent_libdir; fi # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix_setup_libevent.m4:41 @%:@ Check whether --with-libevent-extra-libs was given. if test ${with_libevent_extra_libs+y} then : withval=$with_libevent_extra_libs; fi # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix_setup_libevent.m4:44 @%:@ Check whether --enable-libevent-lib-checks was given. if test ${enable_libevent_lib_checks+y} then : enableval=$enable_libevent_lib_checks; fi # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix_setup_libevent.m4:47 # Warning: Excluded: wrapper-cflags # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix_setup_wrappers.m4:83 # Warning: Excluded: wrapper-cflags-prefix # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix_setup_wrappers.m4:89 # Warning: Excluded: wrapper-ldflags # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix_setup_wrappers.m4:95 # Warning: Excluded: wrapper-libs # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix_setup_wrappers.m4:101 # Warning: Excluded: wrapper-rpath # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix_setup_wrappers.m4:108 # Warning: Excluded: wrapper-runpath # ---------------------------------------- Above from 3rd-party/openpmix//config/pmix_setup_wrappers.m4:115 @%:@ Check whether --enable-werror was given. if test ${enable_werror+y} then : enableval=$enable_werror; fi # ---------------------------------------- Above from 3rd-party/openpmix//configure.ac:303 @%:@ Check whether --with-zlib was given. if test ${with_zlib+y} then : withval=$with_zlib; fi # ---------------------------------------- Above from 3rd-party/openpmix//src/mca/pcompress/zlib/configure.m4:24 @%:@ Check whether --with-zlib-libdir was given. if test ${with_zlib_libdir+y} then : withval=$with_zlib_libdir; fi # ---------------------------------------- Above from 3rd-party/openpmix//src/mca/pcompress/zlib/configure.m4:27 @%:@ Check whether --enable-pmix-dlopen was given. if test ${enable_pmix_dlopen+y} then : enableval=$enable_pmix_dlopen; fi # ---------------------------------------- Above from 3rd-party/openpmix//src/mca/pdl/pdlopen/configure.m4:53 # Warning: Excluded: libltdl # ---------------------------------------- Above from 3rd-party/openpmix//src/mca/pdl/plibltdl/configure.m4:48 # Warning: Excluded: libltdl-libdir # ---------------------------------------- Above from 3rd-party/openpmix//src/mca/pdl/plibltdl/configure.m4:51 @%:@ Check whether --with-simptest was given. if test ${with_simptest+y} then : withval=$with_simptest; fi # ---------------------------------------- Above from 3rd-party/openpmix//src/mca/pnet/simptest/configure.m4:20 @%:@ Check whether --with-slingshot was given. if test ${with_slingshot+y} then : withval=$with_slingshot; fi # ---------------------------------------- Above from 3rd-party/openpmix//src/mca/pnet/sshot/configure.m4:23 @%:@ Check whether --with-cxi was given. if test ${with_cxi+y} then : withval=$with_cxi; fi # ---------------------------------------- Above from 3rd-party/openpmix//src/mca/pnet/sshot/configure.m4:27 @%:@ Check whether --with-cxi-libdir was given. if test ${with_cxi_libdir+y} then : withval=$with_cxi_libdir; fi # ---------------------------------------- Above from 3rd-party/openpmix//src/mca/pnet/sshot/configure.m4:32 @%:@ Check whether --with-pbs was given. if test ${with_pbs+y} then : withval=$with_pbs; fi # ---------------------------------------- Above from 3rd-party/openpmix//src/mca/prm/pbs/configure.m4:32 @%:@ Check whether --with-munge was given. if test ${with_munge+y} then : withval=$with_munge; fi # ---------------------------------------- Above from 3rd-party/openpmix//src/mca/psec/munge/configure.m4:23 @%:@ Check whether --with-munge-libdir was given. if test ${with_munge_libdir+y} then : withval=$with_munge_libdir; fi # ---------------------------------------- Above from 3rd-party/openpmix//src/mca/psec/munge/configure.m4:26 if test "$opal_pmix_mode" = "unspecified" -o "$opal_pmix_mode" = "internal" then : # Run PMIx's configure script unless the user # explicitly asked us to use an external PMIX, so that # "make dist" includes PMIx in the dist tarball. This # does mean that "make dist" will not work if Open MPI # was configured to use an external PMIx library, but # we decided this was a reasonable tradeoff for not # having to deal with PMIx (or PRRTE) potentially # failing to configure in a situation where it isn't # desired. internal_pmix_args="--without-tests-examples --enable-pmix-binaries --disable-pmix-backward-compatibility --disable-visibility" # Open PMIx sets -Werror on devel builds so avoid buid breaks caused by 3rd-party codes internal_pmix_args="$internal_pmix_args --disable-devel-check" internal_pmix_wrapper_libs= internal_pmix_CPPFLAGS= if test "$opal_libevent_mode" = "internal" then : if test -z "${internal_pmix_args}" then : internal_pmix_args="--with-libevent --disable-libevent-lib-checks" else case e in @%:@( e) internal_pmix_args="${internal_pmix_args} --with-libevent --disable-libevent-lib-checks" ;; esac fi if test -z "${internal_pmix_args}" then : internal_pmix_args="--with-libevent-extra-libs=\"$opal_libevent_BUILD_LIBS\"" else case e in @%:@( e) internal_pmix_args="${internal_pmix_args} --with-libevent-extra-libs=\"$opal_libevent_BUILD_LIBS\"" ;; esac fi if test -z "${internal_pmix_wrapper_libs}" then : internal_pmix_wrapper_libs="$opal_libevent_WRAPPER_LIBS" else case e in @%:@( e) internal_pmix_wrapper_libs="${internal_pmix_wrapper_libs} $opal_libevent_WRAPPER_LIBS" ;; esac fi if test -z "${internal_pmix_CPPFLAGS}" then : internal_pmix_CPPFLAGS="$opal_libevent_BUILD_CPPFLAGS" else case e in @%:@( e) internal_pmix_CPPFLAGS="${internal_pmix_CPPFLAGS} $opal_libevent_BUILD_CPPFLAGS" ;; esac fi fi if test "$opal_hwloc_mode" = "internal" then : if test -z "${internal_pmix_args}" then : internal_pmix_args="--disable-hwloc-lib-checks" else case e in @%:@( e) internal_pmix_args="${internal_pmix_args} --disable-hwloc-lib-checks" ;; esac fi if test -z "${internal_pmix_args}" then : internal_pmix_args="--with-hwloc-extra-libs=\"$opal_hwloc_BUILD_LIBS\"" else case e in @%:@( e) internal_pmix_args="${internal_pmix_args} --with-hwloc-extra-libs=\"$opal_hwloc_BUILD_LIBS\"" ;; esac fi if test -z "${internal_pmix_wrapper_libs}" then : internal_pmix_wrapper_libs="$opal_hwloc_WRAPPER_BUILD_LIBS" else case e in @%:@( e) internal_pmix_wrapper_libs="${internal_pmix_wrapper_libs} $opal_hwloc_WRAPPER_BUILD_LIBS" ;; esac fi if test -z "${internal_pmix_CPPFLAGS}" then : internal_pmix_CPPFLAGS="$opal_hwloc_BUILD_CPPFLAGS" else case e in @%:@( e) internal_pmix_CPPFLAGS="${internal_pmix_CPPFLAGS} $opal_hwloc_BUILD_CPPFLAGS" ;; esac fi fi if test "$WANT_DEBUG" = "1"; then if test -z "${internal_pmix_args}" then : internal_pmix_args="--enable-debug" else case e in @%:@( e) internal_pmix_args="${internal_pmix_args} --enable-debug" ;; esac fi fi # Pass all our compiler/linker flags to PMIx, so that it # picks up how to build an internal HWLOC and libevent, plus # picks up any user-specified compiler flags from the master # configure run. for temp_var in $ac_precious_vars; do # save all set variables, with a __set and # __value format. _set will always be saved, # _value if _set evaluates to "set". # # Because we may modify the environment with # OPAL_SUBDIR_ENV_APPEND, also store the original values of # ac_env__set in _ac_env__set eval temp_var_set=\${${temp_var}+set} eval opal_pmix_configure_${temp_var}_set=$temp_var_set eval opal_pmix_configure_ac_env_${temp_var}_set=\$ac_env_${temp_var}_set if test "$temp_var_set" = "set" ; then eval opal_pmix_configure_${temp_var}_value=\$${temp_var} fi unset tmp_var_set # restore the variables that were set at the start of # configure and unset the ones that were not. eval temp_var_orig_set=\$ac_env_${temp_var}_set if test "$temp_var_set" = "set" ; then eval ${temp_var}=\$ac_env_${temp_var}_value else unset $temp_var fi done if test -n "$internal_pmix_CPPFLAGS" then : ac_env_CPPFLAGS_set="set" if test -z "$CPPFLAGS" then : CPPFLAGS=$internal_pmix_CPPFLAGS else case e in @%:@( e) CPPFLAGS="$CPPFLAGS $internal_pmix_CPPFLAGS" ;; esac fi fi if test -n "$internal_pmix_wrapper_libs" then : if test -z "${internal_pmix_args}" then : internal_pmix_args="--with-wrapper-libs=\"$internal_pmix_wrapper_libs\"" else case e in @%:@( e) internal_pmix_args="${internal_pmix_args} --with-wrapper-libs=\"$internal_pmix_wrapper_libs\"" ;; esac fi fi pac_dir="3rd-party/openpmix" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: ===== configuring 3rd-party/openpmix =====" >&5 printf "%s\n" "$as_me: ===== configuring 3rd-party/openpmix =====" >&6;} pac_abs_srcdir=`(cd $srcdir && pwd)` if test -f $pac_abs_srcdir/3rd-party/openpmix/setup ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: sourcing $pac_abs_srcdir/3rd-party/openpmix/setup" >&5 printf "%s\n" "$as_me: sourcing $pac_abs_srcdir/3rd-party/openpmix/setup" >&6;} . $pac_abs_srcdir/3rd-party/openpmix/setup fi # Adapted for MPICH from the autoconf-2.67 implementation of # AC_CONFIG_SUBDIRS. Search for "MPICH note:" for relevant commentary and # local modifications. # Remove --cache-file, --srcdir, and --disable-option-checking arguments # so they do not pile up. Otherwise relative paths (like --srcdir=.. from # make distcheck) will be incorrect. pac_sub_configure_args="$internal_pmix_args" pac_prev= eval "set x $ac_configure_args" shift for pac_arg do if test -n "$pac_prev"; then pac_prev= continue fi case $pac_arg in -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) pac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* \ | --c=*) ;; --config-cache | -C) ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) pac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) pac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) ;; --disable-option-checking) ;; *) # strip out precious variables from ac_configure_args, # which will include precious variables that are currently # set and were set on the command line or in the # environment at the time configure was invoked. Instead, # we add all precious variables which have been tagged as # set, so that we can more closely control the environment # of sub-configures. is_precious=0 for pac_pvar in $ac_precious_vars ; do # check if configure argument token contains the # precious variable, i.e. "name_of_prec_var=". if ( echo $pac_arg | grep "^$pac_pvar=" >/dev/null 2>&1 ) ; then is_precious=1 break fi done if test $is_precious -eq 0; then case $pac_arg in *\'*) pac_arg=`printf "%s\n" "$pac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append pac_sub_configure_args " '$pac_arg'" fi ;; esac done # add all precious values with a set token to the configure # args. If the caller hasn't artificially manipulated the # environment, this will simply be any precious variables as # they were originally specified on the top-level configure # line (or in the environment at start of configure). # However, callers may manipulate that environment, preferably # with the OPAL_SUBDIR_ENV macros. for temp_var in $ac_precious_vars; do eval temp_var_set=\$ac_env_${temp_var}_set if test "$temp_var_set" = "set" ; then eval temp_val=\$$temp_var temp_arg="$temp_var=$temp_val" as_fn_append pac_sub_configure_args " '$temp_arg'" fi done # Always prepend --prefix to ensure using the same prefix # in subdir configurations. # MPICH note: see tt#983 for an example of why this is necessary pac_arg="--prefix=$prefix" case $pac_arg in *\'*) pac_arg=`printf "%s\n" "$pac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac pac_sub_configure_args="'$pac_arg' $pac_sub_configure_args" # Pass --silent if test "$silent" = yes; then pac_sub_configure_args="--silent $pac_sub_configure_args" fi # Always prepend --disable-option-checking to silence warnings, since # different subdirs can have different --enable and --with options. pac_sub_configure_args="--disable-option-checking $pac_sub_configure_args" # remove arguments specified in third argument from the # built-up list of arguments pac_sub_configure_args=$(echo $pac_sub_configure_args | sed "s,'--with-libevent=internal',,") pac_sub_configure_args=$(echo $pac_sub_configure_args | sed "s,'--with-hwloc=internal',,") pac_sub_configure_args=$(echo $pac_sub_configure_args | sed "s,'--with-libevent=external',,") pac_sub_configure_args=$(echo $pac_sub_configure_args | sed "s,'--with-hwloc=external',,") pac_sub_configure_args=$(echo $pac_sub_configure_args | sed "s,'--with-pmix=[^ ]*',,") pac_sub_configure_args=$(echo $pac_sub_configure_args | sed "s,'--with-platform=[^ ]*',,") pac_popdir=`pwd` as_dir="$pac_dir"; as_fn_mkdir_p # MPICH note: we leave this internal macro reference for now. We can clone # the macro locally if this turns out to be non-portable across several autoconf # versions. It sets the following variables: ac_builddir, # ac_top_builddir_sub, ac_top_build_prefix, ac_srcdir, ac_top_srcdir, # ac_abs_top_builddir, ac_abs_builddir, ac_abs_top_srcdir, ac_abs_srcdir ac_builddir=. case "$pac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`printf "%s\n" "$pac_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 "$pac_dir" # Check for guested configure; otherwise get Cygnus style # configure. Look for configure in source tree and then the # build tree, as we sometimes configure from sub-tarballs # expanded in the build tree. if test -f "$ac_srcdir/configure.gnu"; then pac_sub_configure=$ac_srcdir/configure.gnu elif test -f "$ac_srcdir/configure"; then pac_sub_configure=$ac_srcdir/configure elif test -f "configure.gnu"; then pac_sub_configure="configure.gnu" ac_srcdir="." elif test -f "configure"; then pac_sub_configure="configure" ac_srcdir="." else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: no configuration information is in $pac_dir" >&5 printf "%s\n" "$as_me: WARNING: no configuration information is in $pac_dir" >&2;} pac_sub_configure= fi # The recursion is here. if test -n "$pac_sub_configure"; then # MPICH note: overriding the cache file on purpose to prevent strange # issues resulting from inter-dir caching pac_sub_cache_file="/dev/null" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: running $SHELL $pac_sub_configure $pac_sub_configure_args --cache-file=$pac_sub_cache_file --srcdir=$ac_srcdir" >&5 printf "%s\n" "$as_me: running $SHELL $pac_sub_configure $pac_sub_configure_args --cache-file=$pac_sub_cache_file --srcdir=$ac_srcdir" >&6;} # The eval makes quoting arguments work. # MPICH note: we want to execute the provided actions, not be silent # or error out if the subconfigure succeeded/failed if eval "\$SHELL \"\$pac_sub_configure\" $pac_sub_configure_args \ --cache-file=\"\$pac_sub_cache_file\" --srcdir=\"\$ac_srcdir\"" then # restore the current dir for the provided actions cd "$pac_popdir" internal_pmix_happy=1 else # restore the current dir for the provided actions cd "$pac_popdir" fi fi cd "$pac_popdir" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: ===== done with 3rd-party/openpmix configure =====" >&5 printf "%s\n" "$as_me: ===== done with 3rd-party/openpmix configure =====" >&6;} for temp_var in $ac_precious_vars; do # always restore the value of ac_env__set eval ac_env_${temp_var}_set=\$opal_pmix_configure_ac_env_${temp_var}_set # conditionally restore any variable values that were set at # CLEAN time eval temp_var_set=\$opal_pmix_configure_${temp_var}_set if test "$temp_var_set" = "set" ; then eval ${temp_var}=\$opal_pmix_configure_${temp_var}_value fi unset opal_pmix_configure_${temp_var}_value unset opal_pmix_configure_${temp_var}_set unset opal_pmix_configure_ac_env_${temp_var}_set done OPAL_3RDPARTY_DIST_SUBDIRS="$OPAL_3RDPARTY_DIST_SUBDIRS openpmix" fi # if we have a pmix package and configure did not complete # successfully (or wasn't started), then disable make dist. if test $internal_pmix_happy != 1 then : OPAL_MAKEDIST_DISABLE="$OPAL_MAKEDIST_DISABLE PMIX" fi # unless internal specifically requested by the user, try to find # an external that works. external_pmix_happy=0 if test "$opal_pmix_mode" != "internal" then : opal_var_scope_push ${LINENO} opal_pmix_min_version opal_pmix_min_num_version opal_pmix_CPPFLAGS_save opal_pmix_LDFLAGS_save opal_pmix_LIBS_save opal_pmix_external_support opal_pmix_external_support="yes" if test "$opal_libevent_mode" = "internal" -o "$opal_hwloc_mode" = "internal" then : opal_pmix_external_support="no" if test "$opal_pmix_mode" = "external" then : as_fn_error $? "Building against an external PMIx with an internal Libevent or HWLOC is unsupported. Cannot continue." "$LINENO" 5 fi else case e in @%:@( e) pmix_USE_WRAPPER_COMPILER=1 # ****************************** START CHECK PACKAGE FOR pmix ****************************** oac_var_scope_push ${LINENO} check_package_opal_pmix_save_CPPFLAGS check_package_opal_pmix_save_LDFLAGS check_package_opal_pmix_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_opal_pmix_save_CPPFLAGS="${CPPFLAGS}" check_package_opal_pmix_save_LDFLAGS="${LDFLAGS}" check_package_opal_pmix_save_LIBS="${LIBS}" opal_pmix_CPPFLAGS= opal_pmix_LDFLAGS= opal_pmix_STATIC_LDFLAGS= opal_pmix_LIBS= opal_pmix_STATIC_LIBS= { opal_pmix_PC_MODULES=; unset opal_pmix_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_pmix" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package pmix disabled by user" >&5 printf "%s\n" "$as_me: Package pmix disabled by user" >&6;} check_package_happy=0 elif test "${with_pmix}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_pmix}" ;; esac fi check_package_libdir= if test "${with_pmix_libdir}" = "no" -o "${with_pmix_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-pmix-libdir" "$LINENO" 5 elif test -n "${with_pmix_libdir}" then : check_package_libdir="${with_pmix_libdir}" fi check_package_incdir= if test "${with_pmix_incdir}" = "no" -o "${with_pmix_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-pmix-incdir" "$LINENO" 5 elif test -n "${with_pmix_incdir}" then : check_package_incdir="${with_pmix_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${pmix_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-pmix or --with-pmix-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-pmix only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pmix pkg-config name" >&5 printf %s "checking for pmix pkg-config name... " >&6; } if test ${oac_cv_check_package_pmix_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_pmix_pcfilename="pmix" if test -n "${check_package_libdir}" then : oac_cv_check_package_pmix_pcfilename="${check_package_libdir}/pkgconfig/pmix.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_pmix_pcfilename="pmix" elif test -r "${check_package_prefix}/lib/pkgconfig/pmix.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/pmix.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found pmix in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-pmix-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_pmix_pcfilename="${check_package_prefix}/lib/pkgconfig/pmix.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/pmix.pc" then : oac_cv_check_package_pmix_pcfilename="${check_package_prefix}/lib64/pkgconfig/pmix.pc" else case e in @%:@( e) oac_cv_check_package_pmix_pcfilename="${check_package_prefix}/lib/pkgconfig/pmix.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pmix_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_pmix_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if pmix pkg-config module exists" >&5 printf %s "checking if pmix pkg-config module exists... " >&6; } if test ${oac_cv_check_package_pmix_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_pmix_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_pmix_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : opal_pmix_PC_MODULES=${oac_cv_check_package_pmix_pcfilename} oac_cv_check_package_pmix_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_pmix_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pmix_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_pmix_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_pmix_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pmix pkg-config cflags" >&5 printf %s "checking for pmix pkg-config cflags... " >&6; } if test ${oac_cv_check_package_pmix_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_pmix_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_pmix_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_pmix_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving pmix cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pmix_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_pmix_pkg_config_cppflags" >&6; } opal_pmix_CPPFLAGS="${oac_cv_check_package_pmix_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pmix pkg-config ldflags" >&5 printf %s "checking for pmix pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_pmix_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_pmix_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_pmix_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_pmix_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving pmix ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pmix_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_pmix_pkg_config_ldflags" >&6; } opal_pmix_LDFLAGS="${oac_cv_check_package_pmix_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pmix pkg-config static ldflags" >&5 printf %s "checking for pmix pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_pmix_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_pmix_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_pmix_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_pmix_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving pmix static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pmix_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_pmix_pkg_config_static_ldflags" >&6; } opal_pmix_STATIC_LDFLAGS="${oac_cv_check_package_pmix_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pmix pkg-config libs" >&5 printf %s "checking for pmix pkg-config libs... " >&6; } if test ${oac_cv_check_package_pmix_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_pmix_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_pmix_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_pmix_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving pmix libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pmix_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_pmix_pkg_config_libs" >&6; } opal_pmix_LIBS="${oac_cv_check_package_pmix_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pmix pkg-config static libs" >&5 printf %s "checking for pmix pkg-config static libs... " >&6; } if test ${oac_cv_check_package_pmix_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_pmix_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_pmix_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_pmix_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving pmix libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pmix_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_pmix_pkg_config_static_libs" >&6; } opal_pmix_STATIC_LIBS="${oac_cv_check_package_pmix_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${pmix_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-pmix argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pmix wrapper compiler" >&5 printf %s "checking for pmix wrapper compiler... " >&6; } if test ${oac_cv_check_package_pmix_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_pmix_wrapper_compiler="pmixcc" else case e in @%:@( e) oac_cv_check_package_pmix_wrapper_compiler="${check_package_prefix}/bin/pmixcc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pmix_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_pmix_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if pmix wrapper compiler works" >&5 printf %s "checking if pmix wrapper compiler works... " >&6; } if test ${oac_cv_check_package_pmix_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_pmix_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_pmix_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_pmix_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_pmix_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pmix_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_pmix_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_pmix_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pmix wrapper compiler cppflags" >&5 printf %s "checking for pmix wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_pmix_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_pmix_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_pmix_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_pmix_wrapper_compiler_cppflags}" then : oac_cv_check_package_pmix_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_pmix_wrapper_compiler_cppflags="${oac_cv_check_package_pmix_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving pmix cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pmix_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_pmix_wrapper_compiler_cppflags" >&6; } opal_pmix_CPPFLAGS="${oac_cv_check_package_pmix_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pmix wrapper compiler ldflags" >&5 printf %s "checking for pmix wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_pmix_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_pmix_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_pmix_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_pmix_wrapper_compiler_ldflags}" then : oac_cv_check_package_pmix_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_pmix_wrapper_compiler_ldflags="${oac_cv_check_package_pmix_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving pmix ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pmix_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_pmix_wrapper_compiler_ldflags" >&6; } opal_pmix_LDFLAGS="${oac_cv_check_package_pmix_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pmix wrapper compiler static ldflags" >&5 printf %s "checking for pmix wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_pmix_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_pmix_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_pmix_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_pmix_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_pmix_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_pmix_wrapper_compiler_static_ldflags="${oac_cv_check_package_pmix_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving pmix static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pmix_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_pmix_wrapper_compiler_static_ldflags" >&6; } opal_pmix_STATIC_LDFLAGS="${oac_cv_check_package_pmix_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pmix wrapper compiler libs" >&5 printf %s "checking for pmix wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_pmix_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_pmix_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_pmix_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_pmix_wrapper_compiler_libs}" then : oac_cv_check_package_pmix_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_pmix_wrapper_compiler_libs="${oac_cv_check_package_pmix_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving pmix libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pmix_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_pmix_wrapper_compiler_libs" >&6; } opal_pmix_LIBS="$oac_cv_check_package_pmix_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pmix wrapper compiler static libs" >&5 printf %s "checking for pmix wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_pmix_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_pmix_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_pmix_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_pmix_wrapper_compiler_static_libs}" then : oac_cv_check_package_pmix_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_pmix_wrapper_compiler_static_libs="${oac_cv_check_package_pmix_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving pmix static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pmix_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_pmix_wrapper_compiler_static_libs" >&6; } opal_pmix_STATIC_LIBS="${oac_cv_check_package_pmix_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "pmix.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "pmix" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pmix header at ${check_package_generic_incdir}" >&5 printf %s "checking for pmix header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 opal_pmix_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pmix library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for pmix library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 opal_pmix_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pmix library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for pmix library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-pmix-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 opal_pmix_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 opal_pmix_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 opal_pmix_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for pmix in default search paths" >&5 printf "%s\n" "$as_me: Searching for pmix in default search paths" >&6;} pmix_CPPFLAGS= pmix_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in pmix ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${opal_pmix_LIBS}" then : opal_pmix_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) opal_pmix_LIBS="${opal_pmix_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${opal_pmix_STATIC_LIBS}" then : opal_pmix_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) opal_pmix_STATIC_LIBS="${opal_pmix_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pmix cppflags" >&5 printf %s "checking for pmix cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_pmix_CPPFLAGS" >&5 printf "%s\n" "$opal_pmix_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pmix ldflags" >&5 printf %s "checking for pmix ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_pmix_LDFLAGS" >&5 printf "%s\n" "$opal_pmix_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pmix libs" >&5 printf %s "checking for pmix libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_pmix_LIBS" >&5 printf "%s\n" "$opal_pmix_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pmix static libs" >&5 printf %s "checking for pmix static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_pmix_STATIC_LIBS" >&5 printf "%s\n" "$opal_pmix_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${opal_pmix_LDFLAGS}" then : opal_pmix_LDFLAGS="${opal_pmix_STATIC_LDFLAGS}" else case e in @%:@( e) opal_pmix_LDFLAGS="${opal_pmix_LDFLAGS} ${opal_pmix_STATIC_LDFLAGS}" ;; esac fi if test -z "${opal_pmix_LIBS}" then : opal_pmix_LIBS="${opal_pmix_STATIC_LIBS}" else case e in @%:@( e) opal_pmix_LIBS="${opal_pmix_LIBS} ${opal_pmix_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "pmix.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${opal_pmix_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${opal_pmix_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${opal_pmix_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${opal_pmix_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${opal_pmix_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${opal_pmix_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "PMIx_Init" "ac_cv_func_PMIx_Init" if test "x$ac_cv_func_PMIx_Init" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if pmix requires libnl v1 or v3" >&5 printf %s "checking if pmix requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_pmix+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void PMIx_Init (void); int main(int argc, char *argv[]) { PMIx_Init (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib pmix" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib pmix" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_pmix=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_pmix" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_pmix" >&6; } result_msg=$opal_libnl_sanity_check_cv_pmix this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, pmix links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, pmix links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libpmix (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libpmix (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libpmix." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libpmix." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas pmix requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas pmix requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libpmix (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libpmix (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libpmix." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libpmix." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs pmix" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas pmix requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas pmix requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libpmix (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libpmix (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libpmix." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libpmix." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs pmix" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi opal_pmix_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : opal_pmix_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) opal_pmix_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi else case e in @%:@( e) if test "${with_pmix}" = "no" then : opal_pmix_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) opal_pmix_SUMMARY="no (not found)" ;; esac fi { opal_pmix_CPPFLAGS=; unset opal_pmix_CPPFLAGS;} { opal_pmix_LDFLAGS=; unset opal_pmix_LDFLAGS;} { opal_pmix_STATIC_LDFLAGS=; unset opal_pmix_STATIC_LDFLAGS;} { opal_pmix_LIBS=; unset opal_pmix_LIBS;} { opal_pmix_STATIC_LIBS=; unset opal_pmix_STATIC_LIBS;} opal_pmix_external_support=no ;; esac fi CPPFLAGS="${check_package_opal_pmix_save_CPPFLAGS}" LDFLAGS="${check_package_opal_pmix_save_LDFLAGS}" LIBS="${check_package_opal_pmix_save_LIBS}" oac_var_scope_pop check_package_opal_pmix_save_CPPFLAGS check_package_opal_pmix_save_LDFLAGS check_package_opal_pmix_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR pmix ****************************** opal_pmix_CPPFLAGS_save=$CPPFLAGS opal_pmix_LDFLAGS_save=$LDFLAGS opal_pmix_LIBS_save=$LIBS CPPFLAGS="$opal_pmix_CPPFLAGS_save $opal_pmix_CPPFLAGS" LDFLAGS="$opal_pmix_LDFLAGS_save $opal_pmix_LDFLAGS" LIBS="$opal_pmix_LIBS_save $opal_pmix_LIBS" opal_pmix_min_num_version=0x00040200 opal_pmix_min_version=4.2.0 if test "$opal_pmix_external_support" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if external PMIx version is 4.2.0 or greater" >&5 printf %s "checking if external PMIx version is 4.2.0 or greater... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #if PMIX_NUMERIC_VERSION < $opal_pmix_min_num_version #error "pmix API version is less than $opal_pmix_min_version" #endif ; return 0; } _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 case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } opal_pmix_external_support=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi CPPFLAGS="$opal_pmix_CPPFLAGS_save" LDFLAGS="$opal_pmix_LDFLAGS_save" LIBS="$opal_pmix_LIBS_save" if test "$opal_pmix_external_support" = "yes" then : opal_pmix_BUILD_LIBS="${opal_pmix_LIBS}" external_pmix_happy=1 opal_pmix_mode="external" else case e in @%:@( e) if test "$opal_pmix_mode" = "external" then : as_fn_error $? "External PMIx requested but not found." "$LINENO" 5 fi ;; esac fi ;; esac fi opal_var_scope_pop opal_pmix_min_version opal_pmix_min_num_version opal_pmix_CPPFLAGS_save opal_pmix_LDFLAGS_save opal_pmix_LIBS_save opal_pmix_external_support fi # external did not work out and customer did not specify external, # so try the internal version. if test "$external_pmix_happy" = "0" -a "$internal_pmix_happy" = "1" then : opal_pmix_mode="internal" OPAL_USING_INTERNAL_PMIX=1 datafile="${OMPI_TOP_BUILDDIR}/3rd-party/openpmix/src/tools/wrapper/pmixcc-wrapper-data.txt" if test ! -f "${datafile}" then : as_fn_error $? "Cannot find PMIx wrapper compiler data. Aborting" "$LINENO" 5 fi pmix_internal_happy=1 opal_pmix_LDFLAGS= { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for internal pmix static LDFLAGS" >&5 printf %s "checking for internal pmix static LDFLAGS... " >&6; } if test ${opal_internal_pmix_cv_STATIC_LDFLAGS+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) printf "%s\n" "configure:__oline__: wrapper_field_results=`sed -ne 's/linker_flags_static=\(.*\)/\1/p' ${datafile} 2>&1`" >&5 wrapper_field_results=`sed -ne 's/linker_flags_static=\(.*\)/\1/p' ${datafile} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : opal_internal_pmix_cv_STATIC_LDFLAGS=$wrapper_field_results else case e in @%:@( e) pmix_internal_happy=0 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper field output: linker_flags_static: ${wrapper_field_results}" >&5 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_internal_pmix_cv_STATIC_LDFLAGS" >&5 printf "%s\n" "$opal_internal_pmix_cv_STATIC_LDFLAGS" >&6; } opal_pmix_STATIC_LDFLAGS="${opal_internal_pmix_cv_STATIC_LDFLAGS}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for internal pmix LIBS" >&5 printf %s "checking for internal pmix LIBS... " >&6; } if test ${opal_internal_pmix_cv_LIBS+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) printf "%s\n" "configure:__oline__: wrapper_field_results=`sed -ne 's/libs=\(.*\)/\1/p' ${datafile} 2>&1`" >&5 wrapper_field_results=`sed -ne 's/libs=\(.*\)/\1/p' ${datafile} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : opal_internal_pmix_cv_LIBS=$wrapper_field_results else case e in @%:@( e) pmix_internal_happy=0 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper field output: libs: ${wrapper_field_results}" >&5 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_internal_pmix_cv_LIBS" >&5 printf "%s\n" "$opal_internal_pmix_cv_LIBS" >&6; } opal_pmix_LIBS="${opal_internal_pmix_cv_LIBS}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for internal pmix static LIBS" >&5 printf %s "checking for internal pmix static LIBS... " >&6; } if test ${opal_internal_pmix_cv_STATIC_LIBS+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) printf "%s\n" "configure:__oline__: wrapper_field_results=`sed -ne 's/libs_static=\(.*\)/\1/p' ${datafile} 2>&1`" >&5 wrapper_field_results=`sed -ne 's/libs_static=\(.*\)/\1/p' ${datafile} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : opal_internal_pmix_cv_STATIC_LIBS=$wrapper_field_results else case e in @%:@( e) pmix_internal_happy=0 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper field output: libs_static: ${wrapper_field_results}" >&5 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_internal_pmix_cv_STATIC_LIBS" >&5 printf "%s\n" "$opal_internal_pmix_cv_STATIC_LIBS" >&6; } opal_pmix_STATIC_LIBS="${opal_internal_pmix_cv_STATIC_LIBS}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for internal pmix pkg-config module" >&5 printf %s "checking for internal pmix pkg-config module... " >&6; } opal_pmix_PC_MODULES="pmix" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${opal_pmix_PC_MODULES}" >&5 printf "%s\n" "${opal_pmix_PC_MODULES}" >&6; } if test ${pmix_internal_happy} -eq 0 then : as_fn_error $? "Failed to retrieve PMIx wrapper data. Aborting." "$LINENO" 5 fi # Overwrite the wrapper data results for CPPFLAGS, because it's # the install dir location, not the build location. opal_pmix_CPPFLAGS="-I$OMPI_TOP_BUILDDIR/3rd-party/openpmix/include -I$OMPI_TOP_SRCDIR/3rd-party/openpmix/include -I$OMPI_TOP_BUILDDIR/3rd-party/openpmix/ -I$OMPI_TOP_SRCDIR/3rd-party/openpmix/" opal_pmix_BUILD_CPPFLAGS="${opal_pmix_CPPFLAGS}" opal_pmix_BUILD_LIBS="$OMPI_TOP_BUILDDIR/3rd-party/openpmix/src/libpmix.la" OPAL_3RDPARTY_SUBDIRS="$OPAL_3RDPARTY_SUBDIRS openpmix" else case e in @%:@( e) OPAL_USING_INTERNAL_PMIX=0 ;; esac fi if test "$external_pmix_happy" = "0" -a "$internal_pmix_happy" = "0" then : as_fn_error $? "Could not find viable pmix build." "$LINENO" 5 fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${opal_pmix_LDFLAGS}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${wrapper_extra_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 "${wrapper_extra_ldflags}" then : wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) wrapper_extra_ldflags="${wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val opal_show_verbose "Adding \"${opal_pmix_LDFLAGS}\" to \"LDFLAGS\"" oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${opal_pmix_STATIC_LDFLAGS}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${wrapper_extra_static_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 "${wrapper_extra_static_ldflags}" then : wrapper_extra_static_ldflags="$oac_list_arg" else case e in @%:@( e) wrapper_extra_static_ldflags="${wrapper_extra_static_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val opal_show_verbose "Adding \"${opal_pmix_STATIC_LDFLAGS}\" to \"STATIC_LDFLAGS\"" oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in ${opal_pmix_LIBS}; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${wrapper_extra_libs}" then : wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) wrapper_extra_libs="${wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${wrapper_extra_libs}" then : wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) wrapper_extra_libs="${wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable opal_show_verbose "Adding \"${opal_pmix_LIBS}\" to \"LIBS\"" oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${opal_pmix_STATIC_LIBS}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${wrapper_extra_static_libs}; 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_static_libs}" then : wrapper_extra_static_libs="$oac_list_arg" else case e in @%:@( e) wrapper_extra_static_libs="${wrapper_extra_static_libs} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val opal_show_verbose "Adding \"${opal_pmix_STATIC_LIBS}\" to \"STATIC_LIBS\"" oac_var_scope_push ${LINENO} oac_list_arg oac_list_found oac_list_val for oac_list_arg in ${opal_pmix_PC_MODULES}; do oac_list_found=0; for oac_list_val in ${wrapper_extra_pkgconfig_modules}; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_found=1 break fi done if test "${oac_list_found}" = "0" then : if test -z "${wrapper_extra_pkgconfig_modules}" then : wrapper_extra_pkgconfig_modules="${oac_list_arg}" else case e in @%:@( e) wrapper_extra_pkgconfig_modules="${wrapper_extra_pkgconfig_modules} ${oac_list_arg}" ;; esac fi fi done oac_var_scope_pop oac_list_arg oac_list_found oac_list_val opal_show_verbose "Adding \"${opal_pmix_PC_MODULES}\" to \"PC_MODULES\"" printf "%s\n" "@%:@define OPAL_USING_INTERNAL_PMIX $OPAL_USING_INTERNAL_PMIX" >>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="pmix: $opal_pmix_mode" oac_summary_key="Miscellaneouspmix" # 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 case e in @%:@( e) oac_summary_section_Miscellaneous_name="Miscellaneous" if test -z "${oac_summary_sections}" then : oac_summary_sections="Miscellaneous" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} Miscellaneous" ;; esac fi ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) oac_summary_section_Miscellaneous_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key opal_var_scope_pop external_pmix_happy internal_pmix_happy internal_pmix_args internal_pmix_wrapper_libs internal_pmix_CPPFLAGS opal_pmix_STATIC_LDFLAGS opal_pmix_LIBS opal_pmix_STATIC_LIBS opal_var_scope_push ${LINENO} prrte_setup_internal_happy prrte_setup_external_happy target_rst_dir opal_show_subtitle "Configuring PRRTE" # We *must* have setup Sphinx before invoking this macro (i.e., it # is a programming error -- not a run-time error -- if Sphinx was # not previously setup). # These are sym links to folders with PRRTE's RST files that we'll # slurp into mpirun.1.rst. We'll remove these links (or even # accidental full copies) now and replace them with new links to # the PRRTE that we find, below. target_rst_dir="$OMPI_TOP_BUILDDIR/docs" rm -rf "$target_rst_dir/prrte-rst-content" rm -rf "$target_rst_dir/schizo-ompi-rst-content" @%:@ Check whether --with-prrte was given. if test ${with_prrte+y} then : withval=$with_prrte; fi @%:@ Check whether --with-prrte-libdir was given. if test ${with_prrte_libdir+y} then : withval=$with_prrte_libdir; fi # Bozo check if test "$with_prrte_libdir" = "no" -o "$with_prrte_libdir" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: yes/no are invalid responses for --with-prrte-libdir. Please specify a path." >&5 printf "%s\n" "$as_me: WARNING: yes/no are invalid responses for --with-prrte-libdir. Please specify a path." >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi # Make sure the user didn't specify --with-prrte=internal and # --with-prrte-libdir=whatever (because you can only specify # --with-prrte-libdir when external prrte is being used). if test "$with_prrte" = "internal" && test -n "$with_prrte_libdir" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Both --with-prrte=internal and --with-prrte-libdir=DIR" >&5 printf "%s\n" "$as_me: WARNING: Both --with-prrte=internal and --with-prrte-libdir=DIR" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: were specified, which does not make sense." >&5 printf "%s\n" "$as_me: WARNING: were specified, which does not make sense." >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi # clean up $with_prrte so that it contains only a path or empty # string. To determine internal or external preferences, use # $opal_prrte_mode. if test "$with_prrte" = "yes" then : with_prrte= fi case $with_prrte in @%:@( "internal") : with_prrte="" opal_prrte_mode="internal" ;; @%:@( "external") : with_prrte="" opal_prrte_mode="external" ;; @%:@( "no") : with_prrte="" opal_prrte_mode="disabled" ;; @%:@( "") : opal_prrte_mode="unspecified" ;; @%:@( *) : opal_prrte_mode="external" ;; esac @%:@ Check whether --with-prrte-bindir was given. if test ${with_prrte_bindir+y} then : withval=$with_prrte_bindir; fi prrte_setup_internal_happy=0 # ---------------------------------------- # Warning: Excluded: sysroot # ---------------------------------------- Above from 3rd-party/prrte//config/libtool.m4:1249 # Warning: Excluded: libtool-lock # ---------------------------------------- Above from 3rd-party/prrte//config/libtool.m4:1282 # Warning: Excluded: gnu-ld # ---------------------------------------- Above from 3rd-party/prrte//config/libtool.m4:3248 # Warning: Excluded: shared # ---------------------------------------- Above from 3rd-party/prrte//config/ltoptions.m4:167 # Warning: Excluded: static # ---------------------------------------- Above from 3rd-party/prrte//config/ltoptions.m4:221 # Warning: Excluded: fast-install # ---------------------------------------- Above from 3rd-party/prrte//config/ltoptions.m4:275 # Warning: Excluded: aix-soname # ---------------------------------------- Above from 3rd-party/prrte//config/ltoptions.m4:335 # Warning: Excluded: pic # ---------------------------------------- Above from 3rd-party/prrte//config/ltoptions.m4:383 # Warning: Excluded: pkgconfigdir # ---------------------------------------- Above from 3rd-party/prrte//config/pkg.m4:173 # Warning: Excluded: noarch-pkgconfigdir # ---------------------------------------- Above from 3rd-party/prrte//config/pkg.m4:193 # Warning: Excluded: alps-libdir # ---------------------------------------- Above from 3rd-party/prrte//config/prte_check_alps.m4:41 # Warning: Excluded: alps # ---------------------------------------- Above from 3rd-party/prrte//config/prte_check_alps.m4:92 @%:@ Check whether --with-lsf was given. if test ${with_lsf+y} then : withval=$with_lsf; fi # ---------------------------------------- Above from 3rd-party/prrte//config/prte_check_lsf.m4:34 @%:@ Check whether --with-lsf-libdir was given. if test ${with_lsf_libdir+y} then : withval=$with_lsf_libdir; fi # ---------------------------------------- Above from 3rd-party/prrte//config/prte_check_lsf.m4:37 @%:@ Check whether --with-sge was given. if test ${with_sge+y} then : withval=$with_sge; fi # ---------------------------------------- Above from 3rd-party/prrte//config/prte_check_sge.m4:36 # Warning: Excluded: slurm # ---------------------------------------- Above from 3rd-party/prrte//config/prte_check_slurm.m4:31 @%:@ Check whether --with-tm was given. if test ${with_tm+y} then : withval=$with_tm; fi # ---------------------------------------- Above from 3rd-party/prrte//config/prte_check_tm.m4:132 @%:@ Check whether --with-tm-libdir was given. if test ${with_tm_libdir+y} then : withval=$with_tm_libdir; fi # ---------------------------------------- Above from 3rd-party/prrte//config/prte_check_tm.m4:135 # Warning: Excluded: visibility # ---------------------------------------- Above from 3rd-party/prrte//config/prte_check_visibility.m4:31 # Warning: Excluded: c11-atomics # ---------------------------------------- Above from 3rd-party/prrte//config/prte_config_asm.m4:85 # Warning: Excluded: builtin-atomics # ---------------------------------------- Above from 3rd-party/prrte//config/prte_config_asm.m4:87 # Warning: Excluded: prte-prefix-by-default # ---------------------------------------- Above from 3rd-party/prrte//config/prte_configure_options.m4:50 # Warning: Excluded: debug # ---------------------------------------- Above from 3rd-party/prrte//config/prte_configure_options.m4:68 # Warning: Excluded: debug-symbols # ---------------------------------------- Above from 3rd-party/prrte//config/prte_configure_options.m4:87 # Warning: Excluded: devel-check # ---------------------------------------- Above from 3rd-party/prrte//config/prte_configure_options.m4:96 # Warning: Excluded: memory-sanitizers # ---------------------------------------- Above from 3rd-party/prrte//config/prte_configure_options.m4:117 # Warning: Excluded: devel-headers # ---------------------------------------- Above from 3rd-party/prrte//config/prte_configure_options.m4:139 # Warning: Excluded: pretty-print-stacktrace # ---------------------------------------- Above from 3rd-party/prrte//config/prte_configure_options.m4:156 # Warning: Excluded: pty-support # ---------------------------------------- Above from 3rd-party/prrte//config/prte_configure_options.m4:176 # Warning: Excluded: dlopen # ---------------------------------------- Above from 3rd-party/prrte//config/prte_configure_options.m4:195 @%:@ Check whether --enable-show-load-errors-by-default was given. if test ${enable_show_load_errors_by_default+y} then : enableval=$enable_show_load_errors_by_default; fi # ---------------------------------------- Above from 3rd-party/prrte//config/prte_configure_options.m4:227 @%:@ Check whether --with-proxy-version-string was given. if test ${with_proxy_version_string+y} then : withval=$with_proxy_version_string; fi # ---------------------------------------- Above from 3rd-party/prrte//config/prte_configure_options.m4:249 @%:@ Check whether --with-proxy-package-name was given. if test ${with_proxy_package_name+y} then : withval=$with_proxy_package_name; fi # ---------------------------------------- Above from 3rd-party/prrte//config/prte_configure_options.m4:276 @%:@ Check whether --with-proxy-bugreport was given. if test ${with_proxy_bugreport+y} then : withval=$with_proxy_bugreport; fi # ---------------------------------------- Above from 3rd-party/prrte//config/prte_configure_options.m4:290 # Warning: Excluded: per-user-config-files # ---------------------------------------- Above from 3rd-party/prrte//config/prte_configure_options.m4:305 # Warning: Excluded: ipv6 # ---------------------------------------- Above from 3rd-party/prrte//config/prte_configure_options.m4:320 # Warning: Excluded: package-string # ---------------------------------------- Above from 3rd-party/prrte//config/prte_configure_options.m4:337 # Warning: Excluded: ident-string # ---------------------------------------- Above from 3rd-party/prrte//config/prte_configure_options.m4:351 # Warning: Excluded: getpwuid # ---------------------------------------- Above from 3rd-party/prrte//config/prte_configure_options.m4:374 # Warning: Excluded: max- # ---------------------------------------- Above from 3rd-party/prrte//config/prte_functions.m4:308 @%:@ Check whether --with-prte-platform-patches-dir was given. if test ${with_prte_platform_patches_dir+y} then : withval=$with_prte_platform_patches_dir; fi # ---------------------------------------- Above from 3rd-party/prrte//config/prte_load_platform.m4:30 @%:@ Check whether --with-prte-platform was given. if test ${with_prte_platform+y} then : withval=$with_prte_platform; fi # ---------------------------------------- Above from 3rd-party/prrte//config/prte_load_platform.m4:37 # Warning: Excluded: mca-no-build # ---------------------------------------- Above from 3rd-party/prrte//config/prte_mca.m4:55 # Warning: Excluded: mca-dso # ---------------------------------------- Above from 3rd-party/prrte//config/prte_mca.m4:59 # Warning: Excluded: mca-static # ---------------------------------------- Above from 3rd-party/prrte//config/prte_mca.m4:67 # Warning: Excluded: hwloc # ---------------------------------------- Above from 3rd-party/prrte//config/prte_setup_hwloc.m4:21 # Warning: Excluded: hwloc-libdir # ---------------------------------------- Above from 3rd-party/prrte//config/prte_setup_hwloc.m4:24 # Warning: Excluded: hwloc-extra-libs # ---------------------------------------- Above from 3rd-party/prrte//config/prte_setup_hwloc.m4:27 # Warning: Excluded: hwloc-lib-checks # ---------------------------------------- Above from 3rd-party/prrte//config/prte_setup_hwloc.m4:30 # Warning: Excluded: libev # ---------------------------------------- Above from 3rd-party/prrte//config/prte_setup_libev.m4:36 # Warning: Excluded: libev-libdir # ---------------------------------------- Above from 3rd-party/prrte//config/prte_setup_libev.m4:39 # Warning: Excluded: libev-extra-libs # ---------------------------------------- Above from 3rd-party/prrte//config/prte_setup_libev.m4:42 # Warning: Excluded: libev-lib-checks # ---------------------------------------- Above from 3rd-party/prrte//config/prte_setup_libev.m4:45 # Warning: Excluded: libevent # ---------------------------------------- Above from 3rd-party/prrte//config/prte_setup_libevent.m4:36 # Warning: Excluded: libevent-libdir # ---------------------------------------- Above from 3rd-party/prrte//config/prte_setup_libevent.m4:39 # Warning: Excluded: libevent-extra-libs # ---------------------------------------- Above from 3rd-party/prrte//config/prte_setup_libevent.m4:42 # Warning: Excluded: libevent-lib-checks # ---------------------------------------- Above from 3rd-party/prrte//config/prte_setup_libevent.m4:45 @%:@ Check whether --with-pmix was given. if test ${with_pmix+y} then : withval=$with_pmix; fi # ---------------------------------------- Above from 3rd-party/prrte//config/prte_setup_pmix.m4:71 @%:@ Check whether --with-pmix-libdir was given. if test ${with_pmix_libdir+y} then : withval=$with_pmix_libdir; fi # ---------------------------------------- Above from 3rd-party/prrte//config/prte_setup_pmix.m4:74 @%:@ Check whether --with-pmix-extra-libs was given. if test ${with_pmix_extra_libs+y} then : withval=$with_pmix_extra_libs; fi # ---------------------------------------- Above from 3rd-party/prrte//config/prte_setup_pmix.m4:77 @%:@ Check whether --enable-pmix-lib-checks was given. if test ${enable_pmix_lib_checks+y} then : enableval=$enable_pmix_lib_checks; fi # ---------------------------------------- Above from 3rd-party/prrte//config/prte_setup_pmix.m4:80 @%:@ Check whether --enable-prte-dlopen was given. if test ${enable_prte_dlopen+y} then : enableval=$enable_prte_dlopen; fi # ---------------------------------------- Above from 3rd-party/prrte//src/mca/prtedl/dlopen/configure.m4:51 # Warning: Excluded: libltdl # ---------------------------------------- Above from 3rd-party/prrte//src/mca/prtedl/libltdl/configure.m4:48 # Warning: Excluded: libltdl-libdir # ---------------------------------------- Above from 3rd-party/prrte//src/mca/prtedl/libltdl/configure.m4:51 # Warning: Excluded: pbs # ---------------------------------------- Above from 3rd-party/prrte//src/mca/ras/pbs/configure.m4:34 @%:@ Check whether --enable-ompi-support was given. if test ${enable_ompi_support+y} then : enableval=$enable_ompi_support; fi # ---------------------------------------- Above from 3rd-party/prrte//src/mca/schizo/ompi/configure.m4:34 if test "$opal_prrte_mode" = "unspecified" -o "$opal_prrte_mode" = "internal" then : # Run PRRTE's configure script unless the user # explicitly asked us to use an external PMIX, so that # "make dist" includes PRRTE in the dist tarball. This # does mean that "make dist" will not work if Open MPI # was configured to use an external PRRTE library, but # we decided this was a reasonable tradeoff for not # having to deal with PRRTE (or PMIx) potentially # failing to configure in a situation where it isn't # desired. opal_var_scope_push ${LINENO} internal_prrte_args internal_prrte_happy deprecated_prefix_by_default print_prrte_warning internal_prrte_CPPFLAGS opal_prrte_CPPFLAGS_save # This is really a PRTE option that should not be in Open MPI, but # there is not a great way to support the orterun/mpirun checks # without this argument. @%:@ Check whether --enable-prte-prefix-by-default was given. if test ${enable_prte_prefix_by_default+y} then : enableval=$enable_prte_prefix_by_default; fi @%:@ Check whether --enable-orterun-prefix-by-default was given. if test ${enable_orterun_prefix_by_default+y} then : enableval=$enable_orterun_prefix_by_default; print_prrte_warning="yes" deprecated_prefix_by_default=$orterun_prefix_by_default fi @%:@ Check whether --enable-mpirun-prefix-by-default was given. if test ${enable_mpirun_prefix_by_default+y} then : enableval=$enable_mpirun_prefix_by_default; print_prrte_warning="yes" deprecated_prefix_by_default=$mpirun_prefix_by_default fi if test "$print_prrte_warning" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI no longer uses the ORTE environment - it has been" >&5 printf "%s\n" "$as_me: WARNING: Open MPI no longer uses the ORTE environment - it has been" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: replaced by PRRTE. Accordingly, the \"--enable-orterun-prefix-by-default\"" >&5 printf "%s\n" "$as_me: WARNING: replaced by PRRTE. Accordingly, the \"--enable-orterun-prefix-by-default\"" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: and \"--enable-mpirun-prefix-by-default\" options have been replaced" >&5 printf "%s\n" "$as_me: WARNING: and \"--enable-mpirun-prefix-by-default\" options have been replaced" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: by \"--enable-prte-prefix-by-default\". We will do the translation for" >&5 printf "%s\n" "$as_me: WARNING: by \"--enable-prte-prefix-by-default\". We will do the translation for" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: you now, but these older options are deprecated and will be removed" >&5 printf "%s\n" "$as_me: WARNING: you now, but these older options are deprecated and will be removed" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: in a later release, so please update your build scripts." >&5 printf "%s\n" "$as_me: WARNING: in a later release, so please update your build scripts." >&2;} fi if test -n "$prte_prefix_by_default" -a -n "$deprecated_prefix_by_default" then : as_fn_error $? "--enable-prte-prefix-by-default cannot be used with --enable-mpirun-prefix-by-default or --enable-orterun-prefix-by-default. Please only specify --enable-prte-prefix-by-default." "$LINENO" 5 fi internal_prrte_CPPFLAGS= internal_prrte_args="--with-proxy-version-string=$OPAL_VERSION --with-proxy-package-name=\"Open MPI\" --with-proxy-bugreport=\"https://www.open-mpi.org/community/help/\"" # PRRTE sets -Werror on devel builds so avoid buid breaks caused by 3rd-party codes internal_prrte_args="$internal_prrte_args --disable-devel-check" # Set --enable-prte-prefix-by-default to the deprecated options, # if they were specified. Otherwise, set it to enabled if the # user did not specify an option. PRTE defaults to not enabling # prefix-by-default, but open mpi wants that behavior. if test -n "$deprecated_prefix_by_default" then : internal_prrte_args="$internal_prrte_args --enable-prte-prefix-by-default=$deprecated_prefix_by_default" elif test -z "$enable_prte_prefix_by_default" then : internal_prrte_args="$internal_prrte_args --enable-prte-prefix-by-default" fi if test "$opal_libevent_mode" = "internal" then : internal_prrte_args="$internal_prrte_args --with-libevent --disable-libevent-lib-checks" internal_prrte_args="$internal_prrte_args --with-libevent-extra-libs=\"$opal_libevent_BUILD_LIBS\"" internal_prrte_CPPFLAGS="$internal_prrte_CPPFLAGS $opal_libevent_BUILD_CPPFLAGS" fi if test "$opal_hwloc_mode" = "internal" then : internal_prrte_args="$internal_prrte_args --disable-hwloc-lib-checks" internal_prrte_args="$internal_prrte_args --with-hwloc-extra-libs=\"$opal_hwloc_BUILD_LIBS\"" internal_prrte_CPPFLAGS="$internal_prrte_CPPFLAGS $opal_hwloc_BUILD_CPPFLAGS" fi if test "$opal_pmix_mode" = "internal" then : internal_prrte_args="$internal_prrte_args --disable-pmix-lib-checks" internal_prrte_args="$internal_prrte_args --with-pmix-extra-libs=\"$opal_pmix_BUILD_LIBS\"" internal_prrte_CPPFLAGS="$internal_prrte_CPPFLAGS $opal_pmix_BUILD_CPPFLAGS" fi opal_prrte_CPPFLAGS_save="${CPPFLAGS}" oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${opal_pmix_CPPFLAGS}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${CPPFLAGS}; 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 "${CPPFLAGS}" then : CPPFLAGS="$oac_list_arg" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} $oac_list_arg" ;; esac 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}: checking if PMIx version is 4.0.0 or greater" >&5 printf %s "checking if PMIx version is 4.0.0 or greater... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #if PMIX_VERSION_MAJOR < 4L #error "pmix API version is less than 4.0.0" #endif ; return 0; } _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 case e in @%:@( e) { 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: OMPI's internal runtime environment \"PRRTE\" does not support" >&5 printf "%s\n" "$as_me: WARNING: OMPI's internal runtime environment \"PRRTE\" does not support" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: PMIx versions less than v4.x as they lack adequate tool" >&5 printf "%s\n" "$as_me: WARNING: PMIx versions less than v4.x as they lack adequate tool" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: support. You can, if desired, build OMPI against an earlier" >&5 printf "%s\n" "$as_me: WARNING: support. You can, if desired, build OMPI against an earlier" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: version of PMIx for strictly direct-launch purposes - e.g., using" >&5 printf "%s\n" "$as_me: WARNING: version of PMIx for strictly direct-launch purposes - e.g., using" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Slurm's srun to launch the job - by configuring with the" >&5 printf "%s\n" "$as_me: WARNING: Slurm's srun to launch the job - by configuring with the" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: --without-prrte option." >&5 printf "%s\n" "$as_me: WARNING: --without-prrte option." >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext CPPFLAGS="${opal_prrte_CPPFLAGS_save}" if test "$with_ft" != "no" then : internal_prrte_args="--enable-prte-ft $internal_prrte_args" fi if test "$WANT_DEBUG" = "1"; then internal_prrte_args="$internal_prrte_args --enable-debug" fi # Pass all our compiler/linker flags to PRRTE, so that it # picks up how to build an internal HWLOC, libevent, and PMIx, plus # picks up any user-specified compiler flags from the master # configure run. for temp_var in $ac_precious_vars; do # save all set variables, with a __set and # __value format. _set will always be saved, # _value if _set evaluates to "set". # # Because we may modify the environment with # OPAL_SUBDIR_ENV_APPEND, also store the original values of # ac_env__set in _ac_env__set eval temp_var_set=\${${temp_var}+set} eval opal_prrte_configure_${temp_var}_set=$temp_var_set eval opal_prrte_configure_ac_env_${temp_var}_set=\$ac_env_${temp_var}_set if test "$temp_var_set" = "set" ; then eval opal_prrte_configure_${temp_var}_value=\$${temp_var} fi unset tmp_var_set # restore the variables that were set at the start of # configure and unset the ones that were not. eval temp_var_orig_set=\$ac_env_${temp_var}_set if test "$temp_var_set" = "set" ; then eval ${temp_var}=\$ac_env_${temp_var}_value else unset $temp_var fi done if test -n "$internal_prrte_CPPFLAGS" then : ac_env_CPPFLAGS_set="set" if test -z "$CPPFLAGS" then : CPPFLAGS=$internal_prrte_CPPFLAGS else case e in @%:@( e) CPPFLAGS="$CPPFLAGS $internal_prrte_CPPFLAGS" ;; esac fi fi pac_dir="3rd-party/prrte" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: ===== configuring 3rd-party/prrte =====" >&5 printf "%s\n" "$as_me: ===== configuring 3rd-party/prrte =====" >&6;} pac_abs_srcdir=`(cd $srcdir && pwd)` if test -f $pac_abs_srcdir/3rd-party/prrte/setup ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: sourcing $pac_abs_srcdir/3rd-party/prrte/setup" >&5 printf "%s\n" "$as_me: sourcing $pac_abs_srcdir/3rd-party/prrte/setup" >&6;} . $pac_abs_srcdir/3rd-party/prrte/setup fi # Adapted for MPICH from the autoconf-2.67 implementation of # AC_CONFIG_SUBDIRS. Search for "MPICH note:" for relevant commentary and # local modifications. # Remove --cache-file, --srcdir, and --disable-option-checking arguments # so they do not pile up. Otherwise relative paths (like --srcdir=.. from # make distcheck) will be incorrect. pac_sub_configure_args="$internal_prrte_args" pac_prev= eval "set x $ac_configure_args" shift for pac_arg do if test -n "$pac_prev"; then pac_prev= continue fi case $pac_arg in -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) pac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* \ | --c=*) ;; --config-cache | -C) ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) pac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) pac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) ;; --disable-option-checking) ;; *) # strip out precious variables from ac_configure_args, # which will include precious variables that are currently # set and were set on the command line or in the # environment at the time configure was invoked. Instead, # we add all precious variables which have been tagged as # set, so that we can more closely control the environment # of sub-configures. is_precious=0 for pac_pvar in $ac_precious_vars ; do # check if configure argument token contains the # precious variable, i.e. "name_of_prec_var=". if ( echo $pac_arg | grep "^$pac_pvar=" >/dev/null 2>&1 ) ; then is_precious=1 break fi done if test $is_precious -eq 0; then case $pac_arg in *\'*) pac_arg=`printf "%s\n" "$pac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append pac_sub_configure_args " '$pac_arg'" fi ;; esac done # add all precious values with a set token to the configure # args. If the caller hasn't artificially manipulated the # environment, this will simply be any precious variables as # they were originally specified on the top-level configure # line (or in the environment at start of configure). # However, callers may manipulate that environment, preferably # with the OPAL_SUBDIR_ENV macros. for temp_var in $ac_precious_vars; do eval temp_var_set=\$ac_env_${temp_var}_set if test "$temp_var_set" = "set" ; then eval temp_val=\$$temp_var temp_arg="$temp_var=$temp_val" as_fn_append pac_sub_configure_args " '$temp_arg'" fi done # Always prepend --prefix to ensure using the same prefix # in subdir configurations. # MPICH note: see tt#983 for an example of why this is necessary pac_arg="--prefix=$prefix" case $pac_arg in *\'*) pac_arg=`printf "%s\n" "$pac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac pac_sub_configure_args="'$pac_arg' $pac_sub_configure_args" # Pass --silent if test "$silent" = yes; then pac_sub_configure_args="--silent $pac_sub_configure_args" fi # Always prepend --disable-option-checking to silence warnings, since # different subdirs can have different --enable and --with options. pac_sub_configure_args="--disable-option-checking $pac_sub_configure_args" # remove arguments specified in third argument from the # built-up list of arguments pac_sub_configure_args=$(echo $pac_sub_configure_args | sed "s,'--with-libevent=internal',,") pac_sub_configure_args=$(echo $pac_sub_configure_args | sed "s,'--with-hwloc=internal',,") pac_sub_configure_args=$(echo $pac_sub_configure_args | sed "s,'--with-libevent=external',,") pac_sub_configure_args=$(echo $pac_sub_configure_args | sed "s,'--with-hwloc=external',,") pac_sub_configure_args=$(echo $pac_sub_configure_args | sed "s,'--with-pmix=internal',,") pac_sub_configure_args=$(echo $pac_sub_configure_args | sed "s,'--with-pmix=external',,") pac_sub_configure_args=$(echo $pac_sub_configure_args | sed "s,'--with-platform=[^ ]*',,") pac_popdir=`pwd` as_dir="$pac_dir"; as_fn_mkdir_p # MPICH note: we leave this internal macro reference for now. We can clone # the macro locally if this turns out to be non-portable across several autoconf # versions. It sets the following variables: ac_builddir, # ac_top_builddir_sub, ac_top_build_prefix, ac_srcdir, ac_top_srcdir, # ac_abs_top_builddir, ac_abs_builddir, ac_abs_top_srcdir, ac_abs_srcdir ac_builddir=. case "$pac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`printf "%s\n" "$pac_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 "$pac_dir" # Check for guested configure; otherwise get Cygnus style # configure. Look for configure in source tree and then the # build tree, as we sometimes configure from sub-tarballs # expanded in the build tree. if test -f "$ac_srcdir/configure.gnu"; then pac_sub_configure=$ac_srcdir/configure.gnu elif test -f "$ac_srcdir/configure"; then pac_sub_configure=$ac_srcdir/configure elif test -f "configure.gnu"; then pac_sub_configure="configure.gnu" ac_srcdir="." elif test -f "configure"; then pac_sub_configure="configure" ac_srcdir="." else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: no configuration information is in $pac_dir" >&5 printf "%s\n" "$as_me: WARNING: no configuration information is in $pac_dir" >&2;} pac_sub_configure= fi # The recursion is here. if test -n "$pac_sub_configure"; then # MPICH note: overriding the cache file on purpose to prevent strange # issues resulting from inter-dir caching pac_sub_cache_file="/dev/null" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: running $SHELL $pac_sub_configure $pac_sub_configure_args --cache-file=$pac_sub_cache_file --srcdir=$ac_srcdir" >&5 printf "%s\n" "$as_me: running $SHELL $pac_sub_configure $pac_sub_configure_args --cache-file=$pac_sub_cache_file --srcdir=$ac_srcdir" >&6;} # The eval makes quoting arguments work. # MPICH note: we want to execute the provided actions, not be silent # or error out if the subconfigure succeeded/failed if eval "\$SHELL \"\$pac_sub_configure\" $pac_sub_configure_args \ --cache-file=\"\$pac_sub_cache_file\" --srcdir=\"\$ac_srcdir\"" then # restore the current dir for the provided actions cd "$pac_popdir" internal_prrte_happy="yes" else # restore the current dir for the provided actions cd "$pac_popdir" internal_prrte_happy="no" fi fi cd "$pac_popdir" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: ===== done with 3rd-party/prrte configure =====" >&5 printf "%s\n" "$as_me: ===== done with 3rd-party/prrte configure =====" >&6;} for temp_var in $ac_precious_vars; do # always restore the value of ac_env__set eval ac_env_${temp_var}_set=\$opal_prrte_configure_ac_env_${temp_var}_set # conditionally restore any variable values that were set at # CLEAN time eval temp_var_set=\$opal_prrte_configure_${temp_var}_set if test "$temp_var_set" = "set" ; then eval ${temp_var}=\$opal_prrte_configure_${temp_var}_value fi unset opal_prrte_configure_${temp_var}_value unset opal_prrte_configure_${temp_var}_set unset opal_prrte_configure_ac_env_${temp_var}_set done OPAL_3RDPARTY_DIST_SUBDIRS="$OPAL_3RDPARTY_DIST_SUBDIRS prrte" if test "$internal_prrte_happy" = "no" -a "$enable_internal_rte" != "no" then : as_fn_error $? "PRRTE configuration failed. Cannot continue." "$LINENO" 5 fi OMPI_HAVE_PRRTE_RST=0 if test "$internal_prrte_happy" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for internal PRRTE RST files" >&5 printf %s "checking for internal PRRTE RST files... " >&6; } if test -n "$SPHINX_BUILD" then : OMPI_HAVE_PRRTE_RST=1 OMPI_PRRTE_RST_CONTENT_DIR="$OMPI_TOP_SRCDIR/3rd-party/prrte/src/docs/prrte-rst-content" OMPI_SCHIZO_OMPI_RST_CONTENT_DIR="$OMPI_TOP_SRCDIR/3rd-party/prrte/src/mca/schizo/ompi" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi prrte_setup_internal_happy=1 else case e in @%:@( e) prrte_setup_internal_happy=0 ;; esac fi opal_var_scope_pop internal_prrte_args internal_prrte_happy deprecated_prefix_by_default print_prrte_warning internal_prrte_CPPFLAGS opal_prrte_CPPFLAGS_save fi # if we have a pmix package and configure did not complete # successfully (or wasn't started), then disable make dist. if test $prrte_setup_internal_happy != 1 then : OPAL_MAKEDIST_DISABLE="$OPAL_MAKEDIST_DISABLE PRRTE" fi # unless internal specifically requested by the user, try to find # an external that works. prrte_setup_external_happy=0 if test "$opal_prrte_mode" != "internal" -o "$opal_prrte_mode" != "disabled" then : opal_var_scope_push ${LINENO} ompi_prte_min_version ompi_prte_min_num_version setup_prrte_external_happy opal_prrte_CPPFLAGS_save opal_prrte_CPPFLAGS_save=$CPPFLAGS if test -n "${with_prrte}" -a "${with_prrte}" != "yes" -a "${with_prrte}" != "no" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in "-I${with_prrte}/include"; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${CPPFLAGS}; 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 "${CPPFLAGS}" then : CPPFLAGS="$oac_list_arg" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi ac_fn_c_check_header_compile "$LINENO" "prte.h" "ac_cv_header_prte_h" "$ac_includes_default" if test "x$ac_cv_header_prte_h" = xyes then : setup_prrte_external_happy=yes else case e in @%:@( e) setup_prrte_external_happy=no ;; esac fi ompi_prte_min_version=3.0.0 ompi_prte_min_num_version=0x00030000 if test "${setup_prrte_external_happy}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if external PRRTE version is 3.0.0 or greater" >&5 printf %s "checking if external PRRTE version is 3.0.0 or greater... " >&6; } if test ${ompi_setup_prrte_cv_version_happy+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #if PRTE_NUMERIC_VERSION < $ompi_prte_min_num_version #error "prrte API version is less than $ompi_prte_min_version" #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : ompi_setup_prrte_cv_version_happy="yes" else case e in @%:@( e) ompi_setup_prrte_cv_version_happy="no" ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_setup_prrte_cv_version_happy" >&5 printf "%s\n" "$ompi_setup_prrte_cv_version_happy" >&6; } if test "${ompi_setup_prrte_cv_version_happy}" = "no" then : setup_prrte_external_happy="no" fi fi CPPFLAGS="$opal_prrte_CPPFLAGS_save" # If an external build and the user told us where to find PRRTE, # find prterun and save that path. prterun_path= if test "$setup_prrte_external_happy" = "yes" then : if test "${with_prrte_bindir}" = "yes" -o "${with_prrte_bindir}" = "no" then : as_fn_error $? "\"yes\" and \"no\" are not valid arguments for --with-prrte-bindir" "$LINENO" 5 fi if test -z "${with_prrte_bindir}" -a -n "${with_prrte}" then : with_prrte_bindir="${with_prrte}/bin" fi if test -n "${with_prrte_bindir}" then : if test -x ${with_prrte_bindir}/prterun then : prterun_path="${with_prrte_bindir}/prterun" else case e in @%:@( e) as_fn_error $? "Could not find executable prterun: ${with_prrte_bindir}/prterun" "$LINENO" 5 ;; esac fi fi fi if test -n "${prterun_path}" then : printf "%s\n" "@%:@define OMPI_PRTERUN_PATH \"${prterun_path}\"" >>confdefs.h fi OMPI_HAVE_PRRTE_RST=0 if test "$setup_prrte_external_happy" = "yes" then : # Determine if this external PRRTE has installed the RST # directories that we care about { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for external PRRTE RST files" >&5 printf %s "checking for external PRRTE RST files... " >&6; } prrte_install_dir=${with_prrte}/share/prte/rst if test -n "$SPHINX_BUILD" then : if test -d "$prrte_install_dir/prrte-rst-content" && \ test -d "$prrte_install_dir/schizo-ompi-rst-content" then : OMPI_HAVE_PRRTE_RST=1 OMPI_PRRTE_RST_CONTENT_DIR="$prrte_install_dir/prrte-rst-content" OMPI_SCHIZO_OMPI_RST_CONTENT_DIR="$prrte_install_dir/schizo-ompi-rst-content" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) # This version of PRRTE doesn't have installed RST # files. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi fi prrte_setup_external_happy=1 opal_prrte_mode="external" else case e in @%:@( e) if test "$opal_prrte_mode" = "external" then : as_fn_error $? "External PRRTE requested but not found." "$LINENO" 5 fi ;; esac fi opal_var_scope_pop ompi_prte_min_version ompi_prte_min_num_version setup_prrte_external_happy opal_prrte_CPPFLAGS_save fi # external did not work out and customer did not specify external, # so try the internal version. if test "$prrte_setup_external_happy" = "0" -a "$prrte_setup_internal_happy" = "1" then : opal_prrte_mode="internal" OMPI_USING_INTERNAL_PRRTE=1 OPAL_3RDPARTY_SUBDIRS="$OPAL_3RDPARTY_SUBDIRS prrte" else case e in @%:@( e) OMPI_USING_INTERNAL_PRRTE=0 ;; esac fi if test "$opal_prrte_mode" != "disabled" then : if test "$prrte_setup_external_happy" = "0" -a "$prrte_setup_internal_happy" = "0" then : as_fn_error $? "Could not find viable prrte build." "$LINENO" 5 fi OMPI_HAVE_PRRTE=1 else case e in @%:@( e) OMPI_HAVE_PRRTE=0 ;; esac fi if test "$prrte_setup_internal_happy" = "1" -o "$prrte_setup_external_happy" = "1"; then OMPI_WANT_PRRTE_TRUE= OMPI_WANT_PRRTE_FALSE='#' else OMPI_WANT_PRRTE_TRUE='#' OMPI_WANT_PRRTE_FALSE= fi printf "%s\n" "@%:@define OMPI_HAVE_PRRTE $OMPI_HAVE_PRRTE" >>confdefs.h printf "%s\n" "@%:@define OMPI_USING_INTERNAL_PRRTE $OMPI_USING_INTERNAL_PRRTE" >>confdefs.h if test $OMPI_HAVE_PRRTE_RST -eq 1; then OMPI_HAVE_PRRTE_RST_TRUE= OMPI_HAVE_PRRTE_RST_FALSE='#' else OMPI_HAVE_PRRTE_RST_TRUE='#' OMPI_HAVE_PRRTE_RST_FALSE= fi 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="PRRTE: $opal_prrte_mode" oac_summary_key="MiscellaneousPRRTE" # 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 case e in @%:@( e) oac_summary_section_Miscellaneous_name="Miscellaneous" if test -z "${oac_summary_sections}" then : oac_summary_sections="Miscellaneous" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} Miscellaneous" ;; esac fi ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) oac_summary_section_Miscellaneous_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key opal_var_scope_pop prrte_setup_internal_happy prrte_setup_external_happy target_rst_dir ################################## # Fault Tolerance # Part2: must happen after prte ################################## opal_show_subtitle "Fault tolerance" if test "$opal_setup_ft_options" = "yes"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want fault tolerance" >&5 printf %s "checking if want fault tolerance... " >&6; } fi if test x"$with_ft" != "xno"; then opal_want_ft=1 opal_want_ft_mpi=0 opal_want_ft_type=none as_save_IFS=$IFS IFS="," for opt in $with_ft; do IFS=$as_save_IFS if test "$opt" = "LAM" || test "$opt" = "lam" || test "$opt" = "CR" || test "$opt" = "cr"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Support for C/R FT has been removed in OMPI 5.0" >&5 printf "%s\n" "Support for C/R FT has been removed in OMPI 5.0" >&6; } fi # Default value if test "$opt" = "auto"; then opal_want_ft_mpi=1 elif test "$opt" = "yes"; then opal_want_ft_mpi=1 elif test "$opt" = "ULFM"; then opal_want_ft_mpi=1 elif test "$opt" = "ulfm"; then opal_want_ft_mpi=1 elif test "$opt" = "MPI"; then opal_want_ft_mpi=1 elif test "$opt" = "mpi"; then opal_want_ft_mpi=1 else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Unrecognized FT TYPE: $opt" >&5 printf "%s\n" "Unrecognized FT TYPE: $opt" >&6; } as_fn_error $? "Cannot continue" "$LINENO" 5 fi done if test "$opal_want_ft_mpi" = 1; then opal_want_ft_type="mpi" fi # If we use external PRTE, does it support FT? if test "$internal_prrte_build" = "0" -a "$opal_want_ft_type" != "none" then : if prte_info | $GREP "Resilience support: yes" then : else case e in @%:@( e) if test "$with_ft" != auto then : as_fn_error $? "Requested enabling fault-tolerance and using external launcher, but external PRTE doesn't support resilience; you can either use the internal PRTE, recompile the external PRTE with fault-tolerance, or disable fault-tolerance. ABORTING." "$LINENO" 5 else case e in @%:@( e) { 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: *** Requested external PRTE which doesn't have *" >&5 printf "%s\n" "$as_me: WARNING: *** Requested external PRTE which doesn't have *" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Resilience compiled-in. *" >&5 printf "%s\n" "$as_me: WARNING: *** Resilience compiled-in. *" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** To enable Open MPI Fault-Tolerance, either *" >&5 printf "%s\n" "$as_me: WARNING: *** To enable Open MPI Fault-Tolerance, either *" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** use the internal PRTE, or *" >&5 printf "%s\n" "$as_me: WARNING: *** use the internal PRTE, or *" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** compile the external PRTE with resilience *" >&5 printf "%s\n" "$as_me: WARNING: *** compile the external PRTE with resilience *" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** DISABLING FAULT TOLERANCE SUPPORT. *" >&5 printf "%s\n" "$as_me: WARNING: *** DISABLING FAULT TOLERANCE SUPPORT. *" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: **************************************************" >&5 printf "%s\n" "$as_me: WARNING: **************************************************" >&2;} opal_want_ft_mpi=0 opal_want_ft_type="none" ;; esac fi ;; esac fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Enabled $opal_want_ft_type (Specified $with_ft)" >&5 printf "%s\n" "Enabled $opal_want_ft_type (Specified $with_ft)" >&6; } if test "$opal_want_ft_type" != "none" 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: *** Fault Tolerance Integration into Open MPI is *" >&5 printf "%s\n" "$as_me: WARNING: *** Fault Tolerance Integration into Open MPI is *" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** compiled-in, but off by default. Use mpiexec *" >&5 printf "%s\n" "$as_me: WARNING: *** compiled-in, but off by default. Use mpiexec *" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** and MCA parameters to turn it on. *" >&5 printf "%s\n" "$as_me: WARNING: *** and MCA parameters to turn it on. *" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Not all components support fault tolerance. *" >&5 printf "%s\n" "$as_me: WARNING: *** Not all components support fault tolerance. *" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: **************************************************" >&5 printf "%s\n" "$as_me: WARNING: **************************************************" >&2;} fi else opal_want_ft=0 opal_want_ft_mpi=0 if test "$opal_setup_ft_options" = "yes"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabled fault tolerance" >&5 printf "%s\n" "Disabled fault tolerance" >&6; } fi fi printf "%s\n" "@%:@define OPAL_ENABLE_FT $opal_want_ft" >>confdefs.h printf "%s\n" "@%:@define OPAL_ENABLE_FT_MPI $opal_want_ft_mpi" >>confdefs.h if test "$opal_want_ft" = "1"; then WANT_FT_TRUE= WANT_FT_FALSE='#' else WANT_FT_TRUE='#' WANT_FT_FALSE= fi if test "$opal_want_ft_mpi" = "1"; then WANT_FT_MPI_TRUE= WANT_FT_MPI_FALSE='#' else WANT_FT_MPI_TRUE='#' WANT_FT_MPI_FALSE= fi if test "$opal_setup_ft_options" = "yes"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want checkpoint/restart enabled debugging option" >&5 printf %s "checking if want checkpoint/restart enabled debugging option... " >&6; } fi if test "$opal_want_ft" = "0"; then if test "$opal_setup_ft_options" = "yes"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabled (fault tolerance disabled --without-ft)" >&5 printf "%s\n" "Disabled (fault tolerance disabled --without-ft)" >&6; } fi else if test "$opal_setup_ft_options" = "yes"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Disabled" >&5 printf "%s\n" "Disabled" >&6; } fi fi 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="Fault Tolerance support: $opal_want_ft_type" oac_summary_key="MiscellaneousFault_Tolerance_support" # 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 case e in @%:@( e) oac_summary_section_Miscellaneous_name="Miscellaneous" if test -z "${oac_summary_sections}" then : oac_summary_sections="Miscellaneous" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} Miscellaneous" ;; esac fi ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) oac_summary_section_Miscellaneous_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key ################################## # MCA ################################## opal_show_title "Modular Component Architecture (MCA) setup" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for subdir args" >&5 printf %s "checking for subdir args... " >&6; } opal_var_scope_push ${LINENO} subdirs_str subdirs_skip subdirs_args subdirs_arg # # Invoke configure in subdirectories. # # opal_subdir_args is the name of the variable to assign the output to # # # Make a list of command line args --eliminate the --srcdir and # --cache-file args, because we need to replace them with our own # values when invoking the sub-configure script. Also eliminate # the --with-platform as this will confuse any subdir with # similar options # subdirs_args= subdirs_skip=no eval "set x $ac_configure_args" shift for subdirs_arg do if test "$subdirs_skip" = "yes"; then subdirs_skip=no else case $subdirs_arg in -cache-file | --cache-file | -cache | --cache) subdirs_skip=yes ;; --config-cache | -C) ;; -cache-file=* | --cache-file=*) ;; -srcdir | --srcdir) subdirs_skip=yes ;; -srcdir=* | --srcdir=*) ;; -with-platform=* | --with-platform=*) ;; --with*=internal) ;; --with*=external) ;; *) case $subdir_arg in *\'*) subdir_arg=`echo "$subdir_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac subdirs_args="$subdirs_args '$subdirs_arg'" ;; esac fi done # # Assign the output # subdirs_str=opal_subdir_args=\"$subdirs_args\" eval "$subdirs_str" # # Clean up # opal_var_scope_pop subdirs_str subdirs_skip subdirs_args subdirs_arg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_subdir_args" >&5 printf "%s\n" "$opal_subdir_args" >&6; } if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. set dummy ${ac_tool_prefix}pkg-config; 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_PKG_CONFIG+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # 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_PKG_CONFIG="$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 ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 printf "%s\n" "$PKG_CONFIG" >&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_path_PKG_CONFIG"; then ac_pt_PKG_CONFIG=$PKG_CONFIG # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; 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_pt_PKG_CONFIG+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) case $ac_pt_PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # 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_pt_PKG_CONFIG="$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 ;; esac fi ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG if test -n "$ac_pt_PKG_CONFIG"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_pt_PKG_CONFIG" = x; then PKG_CONFIG="" 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 PKG_CONFIG=$ac_pt_PKG_CONFIG fi else PKG_CONFIG="$ac_cv_path_PKG_CONFIG" fi fi if test -n "$PKG_CONFIG"; then _pkg_min_version=0.9.0 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; 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; } PKG_CONFIG="" fi fi ompi_endpoint_tag_counter=0 # Set a special flag so that we can detect if the user calls # OPAL_WRAPPER_FLAGS_ADD and error. # Find which components should be built as run-time loadable components # Acceptable combinations: # # [default -- no option given] # --enable-mca-dso # --enable-mca-dso=[.+,]*COMPONENT_TYPE[.+,]* # --enable-mca-dso=[.+,]*COMPONENT_TYPE-COMPONENT_NAME[.+,]* # --disable-mca-dso # @%:@ Check whether --enable-mca-no-build was given. if test ${enable_mca_no_build+y} then : enableval=$enable_mca_no_build; fi @%:@ Check whether --enable-mca-dso was given. if test ${enable_mca_dso+y} then : enableval=$enable_mca_dso; fi @%:@ Check whether --enable-mca-static was given. if test ${enable_mca_static+y} then : enableval=$enable_mca_static; fi @%:@ Check whether --enable-mca-direct was given. if test ${enable_mca_direct+y} then : enableval=$enable_mca_direct; fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which components should be disabled" >&5 printf %s "checking which components should be disabled... " >&6; } if test "$enable_mca_no_build" = "yes"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } as_fn_error $? "*** The enable-mca-no-build flag requires an explicit list of type-component pairs. For example, --enable-mca-no-build=pml-ob1" "$LINENO" 5 else ifs_save="$IFS" IFS="${IFS}$PATH_SEPARATOR," msg= for item in $enable_mca_no_build; do type="`echo $item | cut -s -f1 -d-`" comp="`echo $item | cut -s -f2- -d-`" if test -z $type ; then type=$item fi if test -z $comp ; then eval "`printf "%s\n" "DISABLE_${type}" | sed "$as_sed_sh"`=1" msg="$item $msg" else eval "`printf "%s\n" "DISABLE_${type}_${comp}" | sed "$as_sed_sh"`=1" msg="$item $msg" fi done IFS="$ifs_save" fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $msg" >&5 printf "%s\n" "$msg" >&6; } unset msg # # First, add all the mca-direct components / types into the mca-static # lists and create a list of component types that are direct compile, # in the form DIRECT_[type]=[component] # { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which components should be direct-linked into the library" >&5 printf %s "checking which components should be direct-linked into the library... " >&6; } if test -n "$enable_mca_direct" ; then # # we need to add this into the static list, unless the static list # is everything # if test "$enable_mca_static" = "no" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Re-enabling static component support for direct call" >&5 printf "%s\n" "$as_me: WARNING: *** Re-enabling static component support for direct call" >&2;} enable_mca_static="$enable_mca_direct" elif test -z "$enable_mca_static" ; then enable_mca_static="$enable_mca_direct" elif test "$enable_mca_static" != "yes" ; then enable_mca_static="$enable_mca_direct,$enable_mca_static" fi ifs_save="$IFS" IFS="${IFS}$PATH_SEPARATOR," msg= for item in $enable_mca_direct; do type="`echo $item | cut -s -f1 -d-`" comp="`echo $item | cut -s -f2- -d-`" if test -z $type || test -z $comp ; then as_fn_error $? "enable-mca-direct requires a list of type-component pairs (ex. --enable-mca-direct=pml-ob1,smsc-xpmem)" "$LINENO" 5 fi var_name=`printf "%s\n" "DIRECT_${type}" | sed "$as_sed_sh"` eval var_value=\$$var_name if test -n "$var_value" ; then as_fn_error $? "enable-mca-direct can only enable a single component per framework: specified both ${type}-${var_value} and ${type}-${comp}." "$LINENO" 5 fi eval "$var_name=\`printf \"%s\\n\" \"\${comp}\" | sed \"\$as_sed_sh\"\`" msg="$item $msg" done IFS="$ifs_save" fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $msg" >&5 printf "%s\n" "$msg" >&6; } unset msg # # Second, set the DSO_all and STATIC_all variables. conflict # resolution (prefer static) is done in the big loop below # # Exception here is the components of the accelerator framework, # which by default are built to be dynamic, except for null. # { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which components should be run-time loadable" >&5 printf %s "checking which components should be run-time loadable... " >&6; } if test "$enable_static" != "no"; then DSO_all=0 msg="none (static libraries built)" elif test "$OPAL_ENABLE_DLOPEN_SUPPORT" = 0; then DSO_all=0 msg="none (dlopen disabled)" elif test "$enable_mca_dso" = "no"; then DSO_all=0 msg=none elif test "$enable_mca_dso" = "yes"; then DSO_all=1 msg=all else msg= if test -z "$enable_mca_dso"; then enable_mca_dso="accelerator-cuda,accelerator-rocm,accelerator-ze,btl-smcuda,rcache-gpusm,rcache-rgpusm" msg="(default)" fi DSO_all=0 ifs_save="$IFS" IFS="${IFS}$PATH_SEPARATOR," for item in $enable_mca_dso; do eval "`printf "%s\n" "DSO_$item" | sed "$as_sed_sh"`=1" msg="$item $msg" done IFS="$ifs_save" fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $msg" >&5 printf "%s\n" "$msg" >&6; } unset msg if test "$enable_static" != "no"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Shared libraries have been disabled (--disable-shared)" >&5 printf "%s\n" "$as_me: WARNING: *** Shared libraries have been disabled (--disable-shared)" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** Building MCA components as DSOs automatically disabled" >&5 printf "%s\n" "$as_me: WARNING: *** Building MCA components as DSOs automatically disabled" >&2;} fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which components should be static" >&5 printf %s "checking which components should be static... " >&6; } if test -z "$enable_mca_static" ; then STATIC_all=0 msg=default elif test "$enable_mca_static" = "no"; then STATIC_all=0 msg=none elif test "$enable_mca_static" = "yes"; then STATIC_all=1 msg=all else STATIC_all=0 ifs_save="$IFS" IFS="${IFS}$PATH_SEPARATOR," msg= for item in $enable_mca_static; do eval "`printf "%s\n" "STATIC_$item" | sed "$as_sed_sh"`=1" msg="$item $msg" done IFS="$ifs_save" fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $msg" >&5 printf "%s\n" "$msg" >&6; } unset msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for projects containing MCA frameworks" >&5 printf %s "checking for projects containing MCA frameworks... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: opal, ompi, oshmem" >&5 printf "%s\n" "opal, ompi, oshmem" >&6; } # if there isn't a project list, abort # now configure all the projects, frameworks, and components. Most # of the hard stuff is in here MCA_PROJECT_SUBDIRS= MCA_PROJECT_DIST_SUBDIRS= MCA_PROJECT_SUBDIRS="$MCA_PROJECT_SUBDIRS opal" MCA_PROJECT_DIST_SUBDIRS="$MCA_PROJECT_DIST_SUBDIRS opal" # can't use a variable rename here because these need to be evaled # at auto* time. opal_show_subtitle "Configuring MCA for opal" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for frameworks for opal" >&5 printf %s "checking for frameworks for opal... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: common, accelerator, allocator, backtrace, btl, dl, hwloc, if, installdirs, memchecker, memcpy, memory, mpool, patcher, pmix, rcache, reachable, shmem, smsc, threads, timer" >&5 printf "%s\n" "common, accelerator, allocator, backtrace, btl, dl, hwloc, if, installdirs, memchecker, memcpy, memory, mpool, patcher, pmix, rcache, reachable, shmem, smsc, threads, timer" >&6; } # iterate through the list of frameworks. There is something # funky with m4 foreach if the list is defined, but empty. It # will call the 3rd argument once with an empty value for the # first argument. Protect against calling MCA_CONFIGURE_FRAMEWORK # with an empty second argument. Grrr.... # if there isn't a project list, abort # # Also setup two variables for Makefiles: # MCA_project_FRAMEWORKS - list of frameworks in that project # MCA_project_FRAMEWORK_LIBS - list of libraries (or variables pointing # to more libraries) that must be included # in the project's main library MCA_opal_FRAMEWORKS= MCA_opal_FRAMEWORKS_SUBDIRS= MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS= MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS= MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS= MCA_opal_FRAMEWORK_LIBS= MCA_opal_FRAMEWORK_CORE_LIBS= MCA_opal_FRAMEWORKS="common $MCA_opal_FRAMEWORKS" MCA_opal_FRAMEWORKS_SUBDIRS="mca/common $MCA_opal_FRAMEWORKS_SUBDIRS" MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS="\$(MCA_opal_common_ALL_SUBDIRS) $MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS" MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS="\$(MCA_opal_common_DSO_SUBDIRS) $MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS" MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="\$(MCA_opal_common_STATIC_SUBDIRS) $MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS" mca_opal_framework_base_lib= MCA_opal_FRAMEWORK_LIBS="$MCA_opal_FRAMEWORK_LIBS ${mca_opal_framework_base_lib} \$(MCA_opal_common_STATIC_LTLIBS)" opal_show_subsubtitle "Configuring MCA framework common" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=opal/mca/common as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files opal/mca/common/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework common" >&5 printf %s "checking for no configure components in framework common... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework common" >&5 printf %s "checking for m4 configure components in framework common... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ofi, sm, ucx" >&5 printf "%s\n" "ofi, sm, ucx" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=1 components_last_result=0 opal_show_subsubsubtitle "MCA component common:ofi (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/common/ofi" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_common" ; then if test "$DIRECT_common" = "ofi" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_common" = "1" then : want_component=0 fi if test "${DISABLE_common_ofi}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_common_ofi_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_common" SHARED_COMPONENT="$DSO_common_ofi" STATIC_FRAMEWORK="$STATIC_common" STATIC_COMPONENT="$STATIC_common_ofi" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_common_ofi_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component common:ofi compile mode" >&5 printf %s "checking for MCA component common:ofi compile mode... " >&6; } if test "$DIRECT_common" = "ofi" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$opal_common_ofi_compile_mode # try to configure the component opal_var_scope_push ${LINENO} common_ofi_happy ac_config_files="$ac_config_files opal/mca/common/ofi/Makefile" opal_var_scope_push ${LINENO} opal_check_ofi_save_CPPFLAGS opal_check_ofi_save_LDFLAGS opal_check_ofi_save_LIBS opal_check_fi_info_pci # Add --with options @%:@ Check whether --with-libfabric was given. if test ${with_libfabric+y} then : withval=$with_libfabric; fi @%:@ Check whether --with-libfabric-libdir was given. if test ${with_libfabric_libdir+y} then : withval=$with_libfabric_libdir; fi @%:@ Check whether --with-ofi was given. if test ${with_ofi+y} then : withval=$with_ofi; fi @%:@ Check whether --with-ofi-libdir was given. if test ${with_ofi_libdir+y} then : withval=$with_ofi_libdir; fi if test -z "${with_ofi}" then : with_ofi=${with_libfabric} fi if test -z "${with_ofi_libdir}" then : with_ofi_libdir=${with_libfabric_libdir} fi opal_check_ofi_save_CPPFLAGS=${CPPFLAGS} opal_check_ofi_save_LDFLAGS=${LDFLAGS} opal_check_ofi_save_LIBS=${LIBS} opal_check_fi_info_pci=0 # ****************************** START CHECK PACKAGE FOR ofi ****************************** oac_var_scope_push ${LINENO} check_package_common_ofi_save_CPPFLAGS check_package_common_ofi_save_LDFLAGS check_package_common_ofi_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_common_ofi_save_CPPFLAGS="${CPPFLAGS}" check_package_common_ofi_save_LDFLAGS="${LDFLAGS}" check_package_common_ofi_save_LIBS="${LIBS}" common_ofi_CPPFLAGS= common_ofi_LDFLAGS= common_ofi_STATIC_LDFLAGS= common_ofi_LIBS= common_ofi_STATIC_LIBS= { common_ofi_PC_MODULES=; unset common_ofi_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_ofi" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package ofi disabled by user" >&5 printf "%s\n" "$as_me: Package ofi disabled by user" >&6;} check_package_happy=0 elif test "${with_ofi}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_ofi}" ;; esac fi check_package_libdir= if test "${with_ofi_libdir}" = "no" -o "${with_ofi_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-ofi-libdir" "$LINENO" 5 elif test -n "${with_ofi_libdir}" then : check_package_libdir="${with_ofi_libdir}" fi check_package_incdir= if test "${with_ofi_incdir}" = "no" -o "${with_ofi_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-ofi-incdir" "$LINENO" 5 elif test -n "${with_ofi_incdir}" then : check_package_incdir="${with_ofi_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${ofi_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-ofi or --with-ofi-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-ofi only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi pkg-config name" >&5 printf %s "checking for ofi pkg-config name... " >&6; } if test ${oac_cv_check_package_ofi_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_ofi_pcfilename="libfabric" if test -n "${check_package_libdir}" then : oac_cv_check_package_ofi_pcfilename="${check_package_libdir}/pkgconfig/libfabric.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_ofi_pcfilename="libfabric" elif test -r "${check_package_prefix}/lib/pkgconfig/libfabric.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/libfabric.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found libfabric in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-ofi-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_ofi_pcfilename="${check_package_prefix}/lib/pkgconfig/libfabric.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/libfabric.pc" then : oac_cv_check_package_ofi_pcfilename="${check_package_prefix}/lib64/pkgconfig/libfabric.pc" else case e in @%:@( e) oac_cv_check_package_ofi_pcfilename="${check_package_prefix}/lib/pkgconfig/libfabric.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_ofi_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ofi pkg-config module exists" >&5 printf %s "checking if ofi pkg-config module exists... " >&6; } if test ${oac_cv_check_package_ofi_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_ofi_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_ofi_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : common_ofi_PC_MODULES=${oac_cv_check_package_ofi_pcfilename} oac_cv_check_package_ofi_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_ofi_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_ofi_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_ofi_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi pkg-config cflags" >&5 printf %s "checking for ofi pkg-config cflags... " >&6; } if test ${oac_cv_check_package_ofi_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_ofi_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_ofi_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ofi_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_ofi_pkg_config_cppflags" >&6; } common_ofi_CPPFLAGS="${oac_cv_check_package_ofi_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi pkg-config ldflags" >&5 printf %s "checking for ofi pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_ofi_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_ofi_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_ofi_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ofi_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ofi_pkg_config_ldflags" >&6; } common_ofi_LDFLAGS="${oac_cv_check_package_ofi_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi pkg-config static ldflags" >&5 printf %s "checking for ofi pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_ofi_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_ofi_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_ofi_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ofi_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ofi_pkg_config_static_ldflags" >&6; } common_ofi_STATIC_LDFLAGS="${oac_cv_check_package_ofi_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi pkg-config libs" >&5 printf %s "checking for ofi pkg-config libs... " >&6; } if test ${oac_cv_check_package_ofi_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_ofi_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_ofi_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ofi_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_ofi_pkg_config_libs" >&6; } common_ofi_LIBS="${oac_cv_check_package_ofi_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi pkg-config static libs" >&5 printf %s "checking for ofi pkg-config static libs... " >&6; } if test ${oac_cv_check_package_ofi_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_ofi_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_ofi_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ofi_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_ofi_pkg_config_static_libs" >&6; } common_ofi_STATIC_LIBS="${oac_cv_check_package_ofi_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${ofi_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-ofi argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi wrapper compiler" >&5 printf %s "checking for ofi wrapper compiler... " >&6; } if test ${oac_cv_check_package_ofi_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_ofi_wrapper_compiler="oficc" else case e in @%:@( e) oac_cv_check_package_ofi_wrapper_compiler="${check_package_prefix}/bin/oficc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_ofi_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ofi wrapper compiler works" >&5 printf %s "checking if ofi wrapper compiler works... " >&6; } if test ${oac_cv_check_package_ofi_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_ofi_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_ofi_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_ofi_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_ofi_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi wrapper compiler cppflags" >&5 printf %s "checking for ofi wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_ofi_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ofi_wrapper_compiler_cppflags}" then : oac_cv_check_package_ofi_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ofi_wrapper_compiler_cppflags="${oac_cv_check_package_ofi_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_ofi_wrapper_compiler_cppflags" >&6; } common_ofi_CPPFLAGS="${oac_cv_check_package_ofi_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi wrapper compiler ldflags" >&5 printf %s "checking for ofi wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_ofi_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ofi_wrapper_compiler_ldflags}" then : oac_cv_check_package_ofi_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ofi_wrapper_compiler_ldflags="${oac_cv_check_package_ofi_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ofi_wrapper_compiler_ldflags" >&6; } common_ofi_LDFLAGS="${oac_cv_check_package_ofi_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi wrapper compiler static ldflags" >&5 printf %s "checking for ofi wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_ofi_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ofi_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_ofi_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ofi_wrapper_compiler_static_ldflags="${oac_cv_check_package_ofi_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ofi_wrapper_compiler_static_ldflags" >&6; } common_ofi_STATIC_LDFLAGS="${oac_cv_check_package_ofi_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi wrapper compiler libs" >&5 printf %s "checking for ofi wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_ofi_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ofi_wrapper_compiler_libs}" then : oac_cv_check_package_ofi_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ofi_wrapper_compiler_libs="${oac_cv_check_package_ofi_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_ofi_wrapper_compiler_libs" >&6; } common_ofi_LIBS="$oac_cv_check_package_ofi_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi wrapper compiler static libs" >&5 printf %s "checking for ofi wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_ofi_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ofi_wrapper_compiler_static_libs}" then : oac_cv_check_package_ofi_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ofi_wrapper_compiler_static_libs="${oac_cv_check_package_ofi_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_ofi_wrapper_compiler_static_libs" >&6; } common_ofi_STATIC_LIBS="${oac_cv_check_package_ofi_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "rdma/fabric.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "fabric" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi header at ${check_package_generic_incdir}" >&5 printf %s "checking for ofi header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 common_ofi_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for ofi library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 common_ofi_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for ofi library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-ofi-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 common_ofi_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 common_ofi_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 common_ofi_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for ofi in default search paths" >&5 printf "%s\n" "$as_me: Searching for ofi in default search paths" >&6;} ofi_CPPFLAGS= ofi_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in fabric ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${common_ofi_LIBS}" then : common_ofi_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) common_ofi_LIBS="${common_ofi_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${common_ofi_STATIC_LIBS}" then : common_ofi_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) common_ofi_STATIC_LIBS="${common_ofi_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi cppflags" >&5 printf %s "checking for ofi cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $common_ofi_CPPFLAGS" >&5 printf "%s\n" "$common_ofi_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi ldflags" >&5 printf %s "checking for ofi ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $common_ofi_LDFLAGS" >&5 printf "%s\n" "$common_ofi_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi libs" >&5 printf %s "checking for ofi libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $common_ofi_LIBS" >&5 printf "%s\n" "$common_ofi_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi static libs" >&5 printf %s "checking for ofi static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $common_ofi_STATIC_LIBS" >&5 printf "%s\n" "$common_ofi_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${common_ofi_LDFLAGS}" then : common_ofi_LDFLAGS="${common_ofi_STATIC_LDFLAGS}" else case e in @%:@( e) common_ofi_LDFLAGS="${common_ofi_LDFLAGS} ${common_ofi_STATIC_LDFLAGS}" ;; esac fi if test -z "${common_ofi_LIBS}" then : common_ofi_LIBS="${common_ofi_STATIC_LIBS}" else case e in @%:@( e) common_ofi_LIBS="${common_ofi_LIBS} ${common_ofi_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "rdma/fabric.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${common_ofi_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${common_ofi_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${common_ofi_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${common_ofi_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${common_ofi_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${common_ofi_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "fi_getinfo" "ac_cv_func_fi_getinfo" if test "x$ac_cv_func_fi_getinfo" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ofi requires libnl v1 or v3" >&5 printf %s "checking if ofi requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_ofi+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void fi_getinfo (void); int main(int argc, char *argv[]) { fi_getinfo (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib ofi" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib ofi" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_ofi=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_ofi" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_ofi" >&6; } result_msg=$opal_libnl_sanity_check_cv_ofi this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, ofi links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, ofi links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libofi (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libofi (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libofi." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libofi." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas ofi requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas ofi requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libofi (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libofi (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libofi." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libofi." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs ofi" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas ofi requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas ofi requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libofi (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libofi (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libofi." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libofi." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs ofi" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi common_ofi_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : common_ofi_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) common_ofi_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi opal_ofi_happy=yes else case e in @%:@( e) if test "${with_ofi}" = "no" then : common_ofi_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) common_ofi_SUMMARY="no (not found)" ;; esac fi { common_ofi_CPPFLAGS=; unset common_ofi_CPPFLAGS;} { common_ofi_LDFLAGS=; unset common_ofi_LDFLAGS;} { common_ofi_STATIC_LDFLAGS=; unset common_ofi_STATIC_LDFLAGS;} { common_ofi_LIBS=; unset common_ofi_LIBS;} { common_ofi_STATIC_LIBS=; unset common_ofi_STATIC_LIBS;} opal_ofi_happy=no ;; esac fi CPPFLAGS="${check_package_common_ofi_save_CPPFLAGS}" LDFLAGS="${check_package_common_ofi_save_LDFLAGS}" LIBS="${check_package_common_ofi_save_LIBS}" oac_var_scope_pop check_package_common_ofi_save_CPPFLAGS check_package_common_ofi_save_LDFLAGS check_package_common_ofi_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR ofi ****************************** oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${common_ofi_CPPFLAGS}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${CPPFLAGS}; 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 "${CPPFLAGS}" then : CPPFLAGS="$oac_list_arg" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test $opal_ofi_happy = yes then : ac_fn_c_check_header_compile "$LINENO" "rdma/fi_ext.h" "ac_cv_header_rdma_fi_ext_h" "$ac_includes_default" if test "x$ac_cv_header_rdma_fi_ext_h" = xyes then : printf "%s\n" "@%:@define HAVE_RDMA_FI_EXT_H 1" >>confdefs.h fi ac_fn_c_check_member "$LINENO" "struct fi_info" "nic" "ac_cv_member_struct_fi_info_nic" "#include " if test "x$ac_cv_member_struct_fi_info_nic" = xyes then : opal_check_fi_info_pci=1 else case e in @%:@( e) opal_check_fi_info_pci=0 ;; esac fi printf "%s\n" "@%:@define OPAL_OFI_PCI_DATA_AVAILABLE ${opal_check_fi_info_pci}" >>confdefs.h ac_fn_check_decl "$LINENO" "FI_OPT_FI_HMEM_P2P" "ac_cv_have_decl_FI_OPT_FI_HMEM_P2P" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_FI_OPT_FI_HMEM_P2P" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_FI_OPT_FI_HMEM_P2P $ac_have_decl" >>confdefs.h ac_fn_c_check_type "$LINENO" "struct fi_ops_mem_monitor" "ac_cv_type_struct_fi_ops_mem_monitor" "#ifdef HAVE_RDMA_FI_EXT_H #include #endif " if test "x$ac_cv_type_struct_fi_ops_mem_monitor" = xyes then : printf "%s\n" "@%:@define HAVE_STRUCT_FI_OPS_MEM_MONITOR 1" >>confdefs.h fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${opal_pmix_CPPFLAGS}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${CPPFLAGS}; 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 "${CPPFLAGS}" then : CPPFLAGS="$oac_list_arg" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val ac_fn_check_decl "$LINENO" "PMIX_PACKAGE_RANK" "ac_cv_have_decl_PMIX_PACKAGE_RANK" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_PMIX_PACKAGE_RANK" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_PMIX_PACKAGE_RANK $ac_have_decl" >>confdefs.h ac_fn_c_check_member "$LINENO" "struct fi_mr_attr" "iface" "ac_cv_member_struct_fi_mr_attr_iface" "#include " if test "x$ac_cv_member_struct_fi_mr_attr_iface" = xyes then : opal_check_fi_mr_attr_iface=1 else case e in @%:@( e) opal_check_fi_mr_attr_iface=0 ;; esac fi printf "%s\n" "@%:@define OPAL_OFI_HAVE_FI_MR_IFACE ${opal_check_fi_mr_attr_iface}" >>confdefs.h ac_fn_check_decl "$LINENO" "FI_HMEM_ROCR" "ac_cv_have_decl_FI_HMEM_ROCR" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_FI_HMEM_ROCR" = xyes then : opal_check_fi_hmem_rocr=1 else case e in @%:@( e) opal_check_fi_hmem_rocr=0 ;; esac fi printf "%s\n" "@%:@define OPAL_OFI_HAVE_FI_HMEM_ROCR ${opal_check_fi_hmem_rocr}" >>confdefs.h fi CPPFLAGS=${opal_check_ofi_save_CPPFLAGS} LDFLAGS=${opal_check_ofi_save_LDFLAGS} LIBS=${opal_check_ofi_save_LIBS} opal_ofi_internal_CPPFLAGS="${common_ofi_CPPFLAGS}" 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="OpenFabrics OFI Libfabric: ${common_ofi_SUMMARY}" oac_summary_key="TransportsOpenFabrics_OFI_Libfabric" # Use the section name variable as an indicator for whether or not # the section has already been created. if test ${oac_summary_section_Transports_name+y} then : else case e in @%:@( e) oac_summary_section_Transports_name="Transports" if test -z "${oac_summary_sections}" then : oac_summary_sections="Transports" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} Transports" ;; esac fi ;; esac 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 case e in @%:@( e) eval "${oac_summary_key}=1" if test ${oac_summary_section_Transports_value+y} then : as_fn_append oac_summary_section_Transports_value "${oac_summary_newline}${oac_summary_line}" else case e in @%:@( e) oac_summary_section_Transports_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key if test "${opal_ofi_happy}" = "yes" then : common_ofi_happy=1 else case e in @%:@( e) if test -n "${with_ofi}" && test "${with_ofi}" != "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: OFI libfabric support requested (via --with-ofi or --with-libfabric), but not found." >&5 printf "%s\n" "$as_me: WARNING: OFI libfabric support requested (via --with-ofi or --with-libfabric), but not found." >&2;} as_fn_error $? "Cannot continue." "$LINENO" 5 fi common_ofi_happy=0 ;; esac fi opal_var_scope_pop opal_check_ofi_save_CPPFLAGS opal_check_ofi_save_LDFLAGS opal_check_ofi_save_LIBS opal_check_fi_info_pci if test ${common_ofi_happy} -eq 1 then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi opal_var_scope_pop common_ofi_happy opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/common/ofi/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components ofi" if test "$compile_mode" = "dso" ; then dso_components="$dso_components ofi" else if test "common" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/common/ofi/lib${OPAL_LIB_NAME}mca_common_ofi.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/common/ofi/libmca_common_ofi.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_common_ofi_component;" >> $outfile.extern echo " &mca_common_ofi_component, " >> $outfile.struct static_components="$static_components ofi" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component common:ofi can compile" >&5 printf %s "checking if MCA component common:ofi can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_common" = "ofi" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_common_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** common component ofi was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_common" = "ofi" ; then as_fn_error $? "*** common component ofi was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${common_ofi_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${common_ofi_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${common_ofi_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${common_ofi_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${common_ofi_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${common_ofi_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$common_ofi_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $common_ofi_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring common_ofi_WRAPPER_EXTRA_CPPFLAGS ($common_ofi_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring common_ofi_WRAPPER_EXTRA_CPPFLAGS ($common_ofi_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component common:ofi can compile" >&5 printf %s "checking if MCA component common:ofi can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_common" = "ofi" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ofi\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ofi\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_common" ; then if test "$DIRECT_common" = "ofi" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ofi\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ofi\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components ofi" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_common_ofi_DSO=1 else case e in @%:@( e) BUILD_opal_common_ofi_DSO=0 ;; esac fi if test "$BUILD_opal_common_ofi_DSO" = "1"; then MCA_BUILD_opal_common_ofi_DSO_TRUE= MCA_BUILD_opal_common_ofi_DSO_FALSE='#' else MCA_BUILD_opal_common_ofi_DSO_TRUE='#' MCA_BUILD_opal_common_ofi_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component common:sm (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/common/sm" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_common" ; then if test "$DIRECT_common" = "sm" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_common" = "1" then : want_component=0 fi if test "${DISABLE_common_sm}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_common_sm_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_common" SHARED_COMPONENT="$DSO_common_sm" STATIC_FRAMEWORK="$STATIC_common" STATIC_COMPONENT="$STATIC_common_sm" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_common_sm_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component common:sm compile mode" >&5 printf %s "checking for MCA component common:sm compile mode... " >&6; } if test "$DIRECT_common" = "sm" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$opal_common_sm_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/common/sm/Makefile" should_build=$should_build opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/common/sm/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components sm" if test "$compile_mode" = "dso" ; then dso_components="$dso_components sm" else if test "common" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/common/sm/lib${OPAL_LIB_NAME}mca_common_sm.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/common/sm/libmca_common_sm.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_common_sm_component;" >> $outfile.extern echo " &mca_common_sm_component, " >> $outfile.struct static_components="$static_components sm" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component common:sm can compile" >&5 printf %s "checking if MCA component common:sm can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_common" = "sm" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_common_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** common component sm was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_common" = "sm" ; then as_fn_error $? "*** common component sm was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${common_sm_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${common_sm_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${common_sm_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${common_sm_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${common_sm_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${common_sm_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$common_sm_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $common_sm_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring common_sm_WRAPPER_EXTRA_CPPFLAGS ($common_sm_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring common_sm_WRAPPER_EXTRA_CPPFLAGS ($common_sm_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component common:sm can compile" >&5 printf %s "checking if MCA component common:sm can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_common" = "sm" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"sm\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"sm\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_common" ; then if test "$DIRECT_common" = "sm" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"sm\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"sm\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components sm" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_common_sm_DSO=1 else case e in @%:@( e) BUILD_opal_common_sm_DSO=0 ;; esac fi if test "$BUILD_opal_common_sm_DSO" = "1"; then MCA_BUILD_opal_common_sm_DSO_TRUE= MCA_BUILD_opal_common_sm_DSO_FALSE='#' else MCA_BUILD_opal_common_sm_DSO_TRUE='#' MCA_BUILD_opal_common_sm_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component common:ucx (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/common/ucx" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_common" ; then if test "$DIRECT_common" = "ucx" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_common" = "1" then : want_component=0 fi if test "${DISABLE_common_ucx}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_common_ucx_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_common" SHARED_COMPONENT="$DSO_common_ucx" STATIC_FRAMEWORK="$STATIC_common" STATIC_COMPONENT="$STATIC_common_ucx" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_common_ucx_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component common:ucx compile mode" >&5 printf %s "checking for MCA component common:ucx compile mode... " >&6; } if test "$DIRECT_common" = "ucx" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$opal_common_ucx_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/common/ucx/Makefile" opal_var_scope_push ${LINENO} ompi_check_ucx_happy ompi_check_ucx_CPPFLAGS_save ompi_check_ucx_LDFLAGS_save ompi_check_ucx_LIBS_save @%:@ Check whether --with-ucx was given. if test ${with_ucx+y} then : withval=$with_ucx; fi @%:@ Check whether --with-ucx-libdir was given. if test ${with_ucx_libdir+y} then : withval=$with_ucx_libdir; fi # ****************************** START CHECK PACKAGE FOR ucx ****************************** oac_var_scope_push ${LINENO} check_package_common_ucx_save_CPPFLAGS check_package_common_ucx_save_LDFLAGS check_package_common_ucx_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_common_ucx_save_CPPFLAGS="${CPPFLAGS}" check_package_common_ucx_save_LDFLAGS="${LDFLAGS}" check_package_common_ucx_save_LIBS="${LIBS}" common_ucx_CPPFLAGS= common_ucx_LDFLAGS= common_ucx_STATIC_LDFLAGS= common_ucx_LIBS= common_ucx_STATIC_LIBS= { common_ucx_PC_MODULES=; unset common_ucx_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_ucx" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package ucx disabled by user" >&5 printf "%s\n" "$as_me: Package ucx disabled by user" >&6;} check_package_happy=0 elif test "${with_ucx}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_ucx}" ;; esac fi check_package_libdir= if test "${with_ucx_libdir}" = "no" -o "${with_ucx_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-ucx-libdir" "$LINENO" 5 elif test -n "${with_ucx_libdir}" then : check_package_libdir="${with_ucx_libdir}" fi check_package_incdir= if test "${with_ucx_incdir}" = "no" -o "${with_ucx_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-ucx-incdir" "$LINENO" 5 elif test -n "${with_ucx_incdir}" then : check_package_incdir="${with_ucx_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${ucx_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-ucx or --with-ucx-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-ucx only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config name" >&5 printf %s "checking for ucx pkg-config name... " >&6; } if test ${oac_cv_check_package_ucx_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_ucx_pcfilename="ucx" if test -n "${check_package_libdir}" then : oac_cv_check_package_ucx_pcfilename="${check_package_libdir}/pkgconfig/ucx.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_ucx_pcfilename="ucx" elif test -r "${check_package_prefix}/lib/pkgconfig/ucx.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/ucx.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found ucx in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-ucx-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_ucx_pcfilename="${check_package_prefix}/lib/pkgconfig/ucx.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/ucx.pc" then : oac_cv_check_package_ucx_pcfilename="${check_package_prefix}/lib64/pkgconfig/ucx.pc" else case e in @%:@( e) oac_cv_check_package_ucx_pcfilename="${check_package_prefix}/lib/pkgconfig/ucx.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ucx pkg-config module exists" >&5 printf %s "checking if ucx pkg-config module exists... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : common_ucx_PC_MODULES=${oac_cv_check_package_ucx_pcfilename} oac_cv_check_package_ucx_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_ucx_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_ucx_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config cflags" >&5 printf %s "checking for ucx pkg-config cflags... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucx_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_cppflags" >&6; } common_ucx_CPPFLAGS="${oac_cv_check_package_ucx_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config ldflags" >&5 printf %s "checking for ucx pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucx_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_ldflags" >&6; } common_ucx_LDFLAGS="${oac_cv_check_package_ucx_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config static ldflags" >&5 printf %s "checking for ucx pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucx_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_static_ldflags" >&6; } common_ucx_STATIC_LDFLAGS="${oac_cv_check_package_ucx_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config libs" >&5 printf %s "checking for ucx pkg-config libs... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucx_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_libs" >&6; } common_ucx_LIBS="${oac_cv_check_package_ucx_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config static libs" >&5 printf %s "checking for ucx pkg-config static libs... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucx_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_static_libs" >&6; } common_ucx_STATIC_LIBS="${oac_cv_check_package_ucx_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${ucx_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-ucx argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler" >&5 printf %s "checking for ucx wrapper compiler... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_ucx_wrapper_compiler="ucxcc" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler="${check_package_prefix}/bin/ucxcc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ucx wrapper compiler works" >&5 printf %s "checking if ucx wrapper compiler works... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_ucx_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_ucx_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler cppflags" >&5 printf %s "checking for ucx wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucx_wrapper_compiler_cppflags}" then : oac_cv_check_package_ucx_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_cppflags="${oac_cv_check_package_ucx_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_cppflags" >&6; } common_ucx_CPPFLAGS="${oac_cv_check_package_ucx_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler ldflags" >&5 printf %s "checking for ucx wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucx_wrapper_compiler_ldflags}" then : oac_cv_check_package_ucx_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_ldflags="${oac_cv_check_package_ucx_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_ldflags" >&6; } common_ucx_LDFLAGS="${oac_cv_check_package_ucx_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler static ldflags" >&5 printf %s "checking for ucx wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucx_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_ucx_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_static_ldflags="${oac_cv_check_package_ucx_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_static_ldflags" >&6; } common_ucx_STATIC_LDFLAGS="${oac_cv_check_package_ucx_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler libs" >&5 printf %s "checking for ucx wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucx_wrapper_compiler_libs}" then : oac_cv_check_package_ucx_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_libs="${oac_cv_check_package_ucx_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_libs" >&6; } common_ucx_LIBS="$oac_cv_check_package_ucx_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler static libs" >&5 printf %s "checking for ucx wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucx_wrapper_compiler_static_libs}" then : oac_cv_check_package_ucx_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_static_libs="${oac_cv_check_package_ucx_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_static_libs" >&6; } common_ucx_STATIC_LIBS="${oac_cv_check_package_ucx_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "ucp/api/ucp.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "ucp -luct -lucm -lucs" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx header at ${check_package_generic_incdir}" >&5 printf %s "checking for ucx header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 common_ucx_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for ucx library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 common_ucx_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for ucx library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-ucx-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 common_ucx_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 common_ucx_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 common_ucx_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for ucx in default search paths" >&5 printf "%s\n" "$as_me: Searching for ucx in default search paths" >&6;} ucx_CPPFLAGS= ucx_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in ucp -luct -lucm -lucs ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${common_ucx_LIBS}" then : common_ucx_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) common_ucx_LIBS="${common_ucx_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${common_ucx_STATIC_LIBS}" then : common_ucx_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) common_ucx_STATIC_LIBS="${common_ucx_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx cppflags" >&5 printf %s "checking for ucx cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $common_ucx_CPPFLAGS" >&5 printf "%s\n" "$common_ucx_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx ldflags" >&5 printf %s "checking for ucx ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $common_ucx_LDFLAGS" >&5 printf "%s\n" "$common_ucx_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx libs" >&5 printf %s "checking for ucx libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $common_ucx_LIBS" >&5 printf "%s\n" "$common_ucx_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx static libs" >&5 printf %s "checking for ucx static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $common_ucx_STATIC_LIBS" >&5 printf "%s\n" "$common_ucx_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${common_ucx_LDFLAGS}" then : common_ucx_LDFLAGS="${common_ucx_STATIC_LDFLAGS}" else case e in @%:@( e) common_ucx_LDFLAGS="${common_ucx_LDFLAGS} ${common_ucx_STATIC_LDFLAGS}" ;; esac fi if test -z "${common_ucx_LIBS}" then : common_ucx_LIBS="${common_ucx_STATIC_LIBS}" else case e in @%:@( e) common_ucx_LIBS="${common_ucx_LIBS} ${common_ucx_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "ucp/api/ucp.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${common_ucx_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${common_ucx_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${common_ucx_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${common_ucx_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${common_ucx_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${common_ucx_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "ucp_cleanup" "ac_cv_func_ucp_cleanup" if test "x$ac_cv_func_ucp_cleanup" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ucx requires libnl v1 or v3" >&5 printf %s "checking if ucx requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_ucx+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void ucp_cleanup (void); int main(int argc, char *argv[]) { ucp_cleanup (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib ucx" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib ucx" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_ucx=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_ucx" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_ucx" >&6; } result_msg=$opal_libnl_sanity_check_cv_ucx this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, ucx links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, ucx links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libucx (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libucx (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libucx." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libucx." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas ucx requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas ucx requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libucx (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libucx (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libucx." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libucx." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs ucx" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas ucx requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas ucx requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libucx (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libucx (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libucx." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libucx." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs ucx" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi common_ucx_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : common_ucx_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) common_ucx_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi ompi_check_ucx_happy="yes" else case e in @%:@( e) if test "${with_ucx}" = "no" then : common_ucx_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) common_ucx_SUMMARY="no (not found)" ;; esac fi { common_ucx_CPPFLAGS=; unset common_ucx_CPPFLAGS;} { common_ucx_LDFLAGS=; unset common_ucx_LDFLAGS;} { common_ucx_STATIC_LDFLAGS=; unset common_ucx_STATIC_LDFLAGS;} { common_ucx_LIBS=; unset common_ucx_LIBS;} { common_ucx_STATIC_LIBS=; unset common_ucx_STATIC_LIBS;} ompi_check_ucx_happy="no" ;; esac fi CPPFLAGS="${check_package_common_ucx_save_CPPFLAGS}" LDFLAGS="${check_package_common_ucx_save_LDFLAGS}" LIBS="${check_package_common_ucx_save_LIBS}" oac_var_scope_pop check_package_common_ucx_save_CPPFLAGS check_package_common_ucx_save_LDFLAGS check_package_common_ucx_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR ucx ****************************** ompi_check_ucx_CPPFLAGS_save=${CPPFLAGS} ompi_check_ucx_LDLAGS_save=${LDFLAGS} ompi_check_ucx_LIBS_save=${LIBS} oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${common_ucx_CPPFLAGS}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${CPPFLAGS}; 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 "${CPPFLAGS}" then : CPPFLAGS="$oac_list_arg" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${common_ucx_LDFLAGS}; 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 case e in @%:@( e) LDFLAGS="${LDFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in ${common_ucx_LIBS}; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${LIBS} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${LIBS}" then : LIBS="${oac_list_arg}" else case e in @%:@( e) LIBS="${LIBS} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${LIBS}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi LIBS="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${LIBS}" then : LIBS="${oac_list_arg}" else case e in @%:@( e) LIBS="${LIBS} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable if test "$ompi_check_ucx_happy" = yes then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for UCX version header" >&5 printf %s "checking for UCX version header... " >&6; } if test ${ompi_check_ucx_cv_have_version_header+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : ompi_check_ucx_cv_have_version_header="yes" else case e in @%:@( e) ompi_check_ucx_cv_have_version_header="no" ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_check_ucx_cv_have_version_header" >&5 printf "%s\n" "$ompi_check_ucx_cv_have_version_header" >&6; } if test "${ompi_check_ucx_cv_have_version_header}" != "yes" then : ompi_check_ucx_happy=no fi fi if test "$ompi_check_ucx_happy" = yes then : # Turn off UCX version v1.8 due to issue #8321 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking UCX version 1.8.x" >&5 printf %s "checking UCX version 1.8.x... " >&6; } if test ${ompi_check_ucx_cv_have_version_1_8+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #if (UCP_API_MAJOR == 1) && (UCP_API_MINOR == 8) #error "Invalid version" #endif ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO" then : ompi_check_ucx_cv_have_version_1_8=no else case e in @%:@( e) ompi_check_ucx_cv_have_version_1_8=yes ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_check_ucx_cv_have_version_1_8" >&5 printf "%s\n" "$ompi_check_ucx_cv_have_version_1_8" >&6; } if test "${ompi_check_ucx_cv_have_version_1_8}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: UCX support skipped because version 1.8.x was found, which has a known catastrophic issue." >&5 printf "%s\n" "$as_me: WARNING: UCX support skipped because version 1.8.x was found, which has a known catastrophic issue." >&2;} ompi_check_ucx_happy=no fi fi cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #if (UCP_API_MAJOR < 1) || ((UCP_API_MAJOR == 1) && (UCP_API_MINOR < 9)) #error "Version too low" #endif ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: UCX version is too old, please upgrade to 1.9 or higher." >&5 printf "%s\n" "$as_me: WARNING: UCX version is too old, please upgrade to 1.9 or higher." >&2;} ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext if test "$ompi_check_ucx_happy" = yes then : ac_fn_check_decl "$LINENO" "ucp_tag_send_nbr" "ac_cv_have_decl_ucp_tag_send_nbr" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_tag_send_nbr" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_TAG_SEND_NBR $ac_have_decl" >>confdefs.h if test $ac_have_decl = 1 then : printf "%s\n" "@%:@define HAVE_UCP_TAG_SEND_NBR 1" >>confdefs.h fi ac_fn_check_decl "$LINENO" "ucp_ep_flush_nb" "ac_cv_have_decl_ucp_ep_flush_nb" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_ep_flush_nb" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_EP_FLUSH_NB $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_worker_flush_nb" "ac_cv_have_decl_ucp_worker_flush_nb" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_worker_flush_nb" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_WORKER_FLUSH_NB $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_request_check_status" "ac_cv_have_decl_ucp_request_check_status" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_request_check_status" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_REQUEST_CHECK_STATUS $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_put_nb" "ac_cv_have_decl_ucp_put_nb" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_put_nb" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_PUT_NB $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_get_nb" "ac_cv_have_decl_ucp_get_nb" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_get_nb" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_GET_NB $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_put_nbx" "ac_cv_have_decl_ucp_put_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_put_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_PUT_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_get_nbx" "ac_cv_have_decl_ucp_get_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_get_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_GET_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_atomic_op_nbx" "ac_cv_have_decl_ucp_atomic_op_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_atomic_op_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_OP_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_ep_flush_nbx" "ac_cv_have_decl_ucp_ep_flush_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_ep_flush_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_EP_FLUSH_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucm_test_events" "ac_cv_have_decl_ucm_test_events" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucm_test_events" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCM_TEST_EVENTS $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucm_test_external_events" "ac_cv_have_decl_ucm_test_external_events" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucm_test_external_events" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCM_TEST_EXTERNAL_EVENTS $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_POST_OP_AND" "ac_cv_have_decl_UCP_ATOMIC_POST_OP_AND" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_POST_OP_AND" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_POST_OP_AND $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_POST_OP_OR" "ac_cv_have_decl_UCP_ATOMIC_POST_OP_OR" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_POST_OP_OR" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_POST_OP_OR $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_POST_OP_XOR" "ac_cv_have_decl_UCP_ATOMIC_POST_OP_XOR" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_POST_OP_XOR" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_POST_OP_XOR $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_FETCH_OP_FAND" "ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FAND" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FAND" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_FETCH_OP_FAND $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_FETCH_OP_FOR" "ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FOR" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FOR" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_FETCH_OP_FOR $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_FETCH_OP_FXOR" "ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FXOR" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FXOR" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_FETCH_OP_FXOR $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_PARAM_FIELD_ESTIMATED_NUM_PPN" "ac_cv_have_decl_UCP_PARAM_FIELD_ESTIMATED_NUM_PPN" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_PARAM_FIELD_ESTIMATED_NUM_PPN" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_PARAM_FIELD_ESTIMATED_NUM_PPN $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_WORKER_FLAG_IGNORE_REQUEST_LEAK" "ac_cv_have_decl_UCP_WORKER_FLAG_IGNORE_REQUEST_LEAK" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_WORKER_FLAG_IGNORE_REQUEST_LEAK" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_WORKER_FLAG_IGNORE_REQUEST_LEAK $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_OP_ATTR_FLAG_MULTI_SEND" "ac_cv_have_decl_UCP_OP_ATTR_FLAG_MULTI_SEND" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_OP_ATTR_FLAG_MULTI_SEND" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_OP_ATTR_FLAG_MULTI_SEND $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_MEM_MAP_SYMMETRIC_RKEY" "ac_cv_have_decl_UCP_MEM_MAP_SYMMETRIC_RKEY" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_MEM_MAP_SYMMETRIC_RKEY" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_MEM_MAP_SYMMETRIC_RKEY $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCS_MEMORY_TYPE_RDMA" "ac_cv_have_decl_UCS_MEMORY_TYPE_RDMA" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCS_MEMORY_TYPE_RDMA" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCS_MEMORY_TYPE_RDMA $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS" "ac_cv_have_decl_UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS $ac_have_decl" >>confdefs.h if test $ac_have_decl = 1 then : printf "%s\n" "@%:@define HAVE_UCP_WORKER_ADDRESS_FLAGS 1" >>confdefs.h fi ac_fn_check_decl "$LINENO" "UCP_ATTR_FIELD_MEMORY_TYPES" "ac_cv_have_decl_UCP_ATTR_FIELD_MEMORY_TYPES" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATTR_FIELD_MEMORY_TYPES" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATTR_FIELD_MEMORY_TYPES $ac_have_decl" >>confdefs.h if test $ac_have_decl = 1 then : printf "%s\n" "@%:@define HAVE_UCP_ATTR_MEMORY_TYPES 1" >>confdefs.h fi ac_fn_check_decl "$LINENO" "UCP_EP_ATTR_FIELD_TRANSPORTS" "ac_cv_have_decl_UCP_EP_ATTR_FIELD_TRANSPORTS" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_EP_ATTR_FIELD_TRANSPORTS" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_EP_ATTR_FIELD_TRANSPORTS $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_tag_send_nbx" "ac_cv_have_decl_ucp_tag_send_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_tag_send_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_TAG_SEND_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_tag_send_sync_nbx" "ac_cv_have_decl_ucp_tag_send_sync_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_tag_send_sync_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_TAG_SEND_SYNC_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_tag_recv_nbx" "ac_cv_have_decl_ucp_tag_recv_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_tag_recv_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_TAG_RECV_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_rkey_compare" "ac_cv_have_decl_ucp_rkey_compare" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_rkey_compare" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_RKEY_COMPARE $ac_have_decl" >>confdefs.h ac_fn_c_check_type "$LINENO" "ucp_request_param_t" "ac_cv_type_ucp_request_param_t" "#include " if test "x$ac_cv_type_ucp_request_param_t" = xyes then : printf "%s\n" "@%:@define HAVE_UCP_REQUEST_PARAM_T 1" >>confdefs.h fi fi CPPFLAGS=${ompi_check_ucx_CPPFLAGS_save} LDFLAGS=${ompi_check_ucx_LDLAGS_save} LIBS=${ompi_check_ucx_LIBS_save} 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="Open UCX: $ompi_check_ucx_happy" oac_summary_key="TransportsOpen_UCX" # Use the section name variable as an indicator for whether or not # the section has already been created. if test ${oac_summary_section_Transports_name+y} then : else case e in @%:@( e) oac_summary_section_Transports_name="Transports" if test -z "${oac_summary_sections}" then : oac_summary_sections="Transports" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} Transports" ;; esac fi ;; esac 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 case e in @%:@( e) eval "${oac_summary_key}=1" if test ${oac_summary_section_Transports_value+y} then : as_fn_append oac_summary_section_Transports_value "${oac_summary_newline}${oac_summary_line}" else case e in @%:@( e) oac_summary_section_Transports_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key if test "$ompi_check_ucx_happy" = "yes" then : common_ucx_happy="yes" else case e in @%:@( e) if test ! -z "$with_ucx" && test "$with_ucx" != "no" then : as_fn_error $? "UCX support requested but not found. Aborting" "$LINENO" 5 fi common_ucx_happy="no" ;; esac fi opal_var_scope_pop ompi_check_ucx_happy ompi_check_ucx_CPPFLAGS_save ompi_check_ucx_LDFLAGS_save ompi_check_ucx_LIBS_save ac_fn_check_decl "$LINENO" "open_memstream" "ac_cv_have_decl_open_memstream" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_open_memstream" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_OPEN_MEMSTREAM $ac_have_decl" >>confdefs.h if test "$common_ucx_happy" = "yes" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi # substitute in the things needed to build common_ucx opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/common/ucx/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components ucx" if test "$compile_mode" = "dso" ; then dso_components="$dso_components ucx" else if test "common" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/common/ucx/lib${OPAL_LIB_NAME}mca_common_ucx.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/common/ucx/libmca_common_ucx.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_common_ucx_component;" >> $outfile.extern echo " &mca_common_ucx_component, " >> $outfile.struct static_components="$static_components ucx" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component common:ucx can compile" >&5 printf %s "checking if MCA component common:ucx can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_common" = "ucx" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_common_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** common component ucx was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_common" = "ucx" ; then as_fn_error $? "*** common component ucx was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${common_ucx_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${common_ucx_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${common_ucx_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${common_ucx_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${common_ucx_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${common_ucx_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$common_ucx_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $common_ucx_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring common_ucx_WRAPPER_EXTRA_CPPFLAGS ($common_ucx_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring common_ucx_WRAPPER_EXTRA_CPPFLAGS ($common_ucx_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component common:ucx can compile" >&5 printf %s "checking if MCA component common:ucx can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_common" = "ucx" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ucx\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ucx\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_common" ; then if test "$DIRECT_common" = "ucx" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ucx\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ucx\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components ucx" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_common_ucx_DSO=1 else case e in @%:@( e) BUILD_opal_common_ucx_DSO=0 ;; esac fi if test "$BUILD_opal_common_ucx_DSO" = "1"; then MCA_BUILD_opal_common_ucx_DSO_TRUE= MCA_BUILD_opal_common_ucx_DSO_FALSE='#' else MCA_BUILD_opal_common_ucx_DSO_TRUE='#' MCA_BUILD_opal_common_ucx_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test ${DIRECT_common+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for common framework" >&5 printf %s "checking if direct-selection component exists for common framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_common" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_common requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_common" >&5 printf "%s\n" "$DIRECT_common" >&6; } fi MCA_opal_common_ALL_COMPONENTS="$all_components" MCA_opal_common_STATIC_COMPONENTS="$static_components" MCA_opal_common_DSO_COMPONENTS="$dso_components" MCA_opal_common_STATIC_LTLIBS="$static_ltlibs" MCA_opal_common_ALL_SUBDIRS= for item in $all_components ; do MCA_opal_common_ALL_SUBDIRS="$MCA_opal_common_ALL_SUBDIRS mca/common/$item" done MCA_opal_common_STATIC_SUBDIRS= for item in $static_components ; do MCA_opal_common_STATIC_SUBDIRS="$MCA_opal_common_STATIC_SUBDIRS mca/common/$item" done MCA_opal_common_DSO_SUBDIRS= for item in $dso_components ; do MCA_opal_common_DSO_SUBDIRS="$MCA_opal_common_DSO_SUBDIRS mca/common/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "common" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real MCA_opal_FRAMEWORKS="$MCA_opal_FRAMEWORKS accelerator" MCA_opal_FRAMEWORKS_SUBDIRS="$MCA_opal_FRAMEWORKS_SUBDIRS mca/accelerator" MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_opal_accelerator_ALL_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_opal_accelerator_DSO_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_opal_accelerator_STATIC_SUBDIRS)" mca_opal_framework_base_lib="mca/accelerator/libmca_accelerator.la" MCA_opal_FRAMEWORK_LIBS="$MCA_opal_FRAMEWORK_LIBS ${mca_opal_framework_base_lib} \$(MCA_opal_accelerator_STATIC_LTLIBS)" opal_show_subsubtitle "Configuring MCA framework accelerator" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=opal/mca/accelerator/base as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files opal/mca/accelerator/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework accelerator" >&5 printf %s "checking for no configure components in framework accelerator... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: null" >&5 printf "%s\n" "null" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework accelerator" >&5 printf %s "checking for m4 configure components in framework accelerator... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cuda, rocm" >&5 printf "%s\n" "cuda, rocm" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components opal_show_subsubsubtitle "MCA component accelerator:null (no configuration)" opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: before, should_build=1" component_path="$srcdir/opal/mca/accelerator/null" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_accelerator" ; then if test "$DIRECT_accelerator" = "null" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_accelerator" = "1" then : want_component=0 fi if test "${DISABLE_accelerator_null}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=1 else case e in @%:@( e) should_build=0 ;; esac fi if test ${opal_accelerator_null_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_accelerator" SHARED_COMPONENT="$DSO_accelerator_null" STATIC_FRAMEWORK="$STATIC_accelerator" STATIC_COMPONENT="$STATIC_accelerator_null" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_accelerator_null_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component accelerator:null compile mode" >&5 printf %s "checking for MCA component accelerator:null compile mode... " >&6; } if test "$DIRECT_accelerator" = "null" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$opal_accelerator_null_compile_mode opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" ; then # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/accelerator/null/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components null" if test "$compile_mode" = "dso" ; then dso_components="$dso_components null" else if test "accelerator" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/accelerator/null/lib${OPAL_LIB_NAME}mca_accelerator_null.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/accelerator/null/libmca_accelerator_null.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_accelerator_null_component;" >> $outfile.extern echo " &mca_accelerator_null_component, " >> $outfile.struct static_components="$static_components null" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component accelerator:null can compile" >&5 printf %s "checking if MCA component accelerator:null can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_accelerator" = "null" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_accelerator_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** accelerator component null was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_accelerator" = "null" ; then as_fn_error $? "*** accelerator component null was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${accelerator_null_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${accelerator_null_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${accelerator_null_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${accelerator_null_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${accelerator_null_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${accelerator_null_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$accelerator_null_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $accelerator_null_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring accelerator_null_WRAPPER_EXTRA_CPPFLAGS ($accelerator_null_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring accelerator_null_WRAPPER_EXTRA_CPPFLAGS ($accelerator_null_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component accelerator:null can compile" >&5 printf %s "checking if MCA component accelerator:null can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_accelerator" = "null" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"null\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"null\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_accelerator" ; then if test "$DIRECT_accelerator" = "null" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"null\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"null\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components null" fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" ; then BUILD_opal_accelerator_null_DSO=1 else BUILD_opal_accelerator_null_DSO=0 fi if test "$BUILD_opal_accelerator_null_DSO" = "1"; then MCA_BUILD_opal_accelerator_null_DSO_TRUE= MCA_BUILD_opal_accelerator_null_DSO_FALSE='#' else MCA_BUILD_opal_accelerator_null_DSO_TRUE='#' MCA_BUILD_opal_accelerator_null_DSO_FALSE= fi ac_config_files="$ac_config_files opal/mca/accelerator/null/Makefile" unset compile_mode # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=1 components_last_result=0 opal_show_subsubsubtitle "MCA component accelerator:cuda (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/accelerator/cuda" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_accelerator" ; then if test "$DIRECT_accelerator" = "cuda" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_accelerator" = "1" then : want_component=0 fi if test "${DISABLE_accelerator_cuda}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_accelerator_cuda_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_accelerator" SHARED_COMPONENT="$DSO_accelerator_cuda" STATIC_FRAMEWORK="$STATIC_accelerator" STATIC_COMPONENT="$STATIC_accelerator_cuda" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_accelerator_cuda_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component accelerator:cuda compile mode" >&5 printf %s "checking for MCA component accelerator:cuda compile mode... " >&6; } if test "$DIRECT_accelerator" = "cuda" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$opal_accelerator_cuda_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/accelerator/cuda/Makefile" opal_var_scope_push ${LINENO} cuda_save_CPPFLAGS cuda_save_LDFLAGS cuda_save_LIBS cuda_save_CPPFLAGS="$CPPFLAGS" cuda_save_LDFLAGS="$LDFLAGS" cuda_save_LIBS="$LIBS" # # Check to see if user wants CUDA support # @%:@ Check whether --with-cuda was given. if test ${with_cuda+y} then : withval=$with_cuda; fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if --with-cuda is set" >&5 printf %s "checking if --with-cuda is set... " >&6; } # Search for libcuda.so in $with_cuda if the user didn't pass --with-cuda-libdir # Otherwise check for cuda in the default path, /usr/local/cuda. If the default # path doesn't exist, set with_cuda_libdir to empty. @%:@ Check whether --with-cuda-libdir was given. if test ${with_cuda_libdir+y} then : withval=$with_cuda_libdir; else case e in @%:@( e) if test -d "$with_cuda" then : with_cuda_libdir=$(dirname $(find -H $with_cuda -name libcuda.so 2> /dev/null) 2> /dev/null) else case e in @%:@( e) with_cuda_libdir=$(dirname $(find -H /usr/local/cuda -name libcuda.so 2> /dev/null) 2> /dev/null) ;; esac fi ;; esac fi # Note that CUDA support is off by default. To turn it on, the user has to # request it. The user can just ask for --with-cuda and it that case we # look for the cuda.h file in /usr/local/cuda. Otherwise, they can give # us a directory. If they provide a directory, we will look in that directory # as well as the directory with the "include" string appended to it. The fact # that we check in two directories precludes us from using the OMPI_CHECK_DIR # macro as that would error out after not finding it in the first directory. # Note that anywhere CUDA aware code is in the Open MPI repository requires # us to make use of AC_REQUIRE to ensure this check has been done. if test "$with_cuda" = "no" || test "x$with_cuda" = "x" then : opal_check_cuda_happy="no" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not set (--with-cuda=$with_cuda)" >&5 printf "%s\n" "not set (--with-cuda=$with_cuda)" >&6; } else case e in @%:@( e) if test "$with_cuda" = "yes" then : if test "x`ls /usr/local/cuda/include/cuda.h 2> /dev/null`" = "x" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found in standard location" >&5 printf "%s\n" "not found in standard location" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Expected file /usr/local/cuda/include/cuda.h not found" >&5 printf "%s\n" "$as_me: WARNING: Expected file /usr/local/cuda/include/cuda.h not found" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } opal_check_cuda_happy=yes opal_cuda_incdir=/usr/local/cuda/include ;; esac fi else case e in @%:@( e) if test ! -d "$with_cuda" 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_cuda not found" >&5 printf "%s\n" "$as_me: WARNING: Directory $with_cuda not found" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 else case e in @%:@( e) if test "x`ls $with_cuda/include/cuda.h 2> /dev/null`" = "x" then : if test "x`ls $with_cuda/cuda.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: Could not find cuda.h in $with_cuda/include or $with_cuda" >&5 printf "%s\n" "$as_me: WARNING: Could not find cuda.h in $with_cuda/include or $with_cuda" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 else case e in @%:@( e) opal_check_cuda_happy=yes opal_cuda_incdir=$with_cuda { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found ($with_cuda/cuda.h)" >&5 printf "%s\n" "found ($with_cuda/cuda.h)" >&6; } ;; esac fi else case e in @%:@( e) opal_check_cuda_happy=yes opal_cuda_incdir="$with_cuda/include" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found ($opal_cuda_incdir/cuda.h)" >&5 printf "%s\n" "found ($opal_cuda_incdir/cuda.h)" >&6; } ;; esac fi ;; esac fi ;; esac fi ;; esac fi if test "$opal_check_cuda_happy" = "yes" then : # ****************************** START CHECK PACKAGE FOR cuda ****************************** oac_var_scope_push ${LINENO} check_package_accelerator_cuda_save_CPPFLAGS check_package_accelerator_cuda_save_LDFLAGS check_package_accelerator_cuda_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_accelerator_cuda_save_CPPFLAGS="${CPPFLAGS}" check_package_accelerator_cuda_save_LDFLAGS="${LDFLAGS}" check_package_accelerator_cuda_save_LIBS="${LIBS}" accelerator_cuda_CPPFLAGS= accelerator_cuda_LDFLAGS= accelerator_cuda_STATIC_LDFLAGS= accelerator_cuda_LIBS= accelerator_cuda_STATIC_LIBS= { accelerator_cuda_PC_MODULES=; unset accelerator_cuda_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_cuda" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package cuda disabled by user" >&5 printf "%s\n" "$as_me: Package cuda disabled by user" >&6;} check_package_happy=0 elif test "${with_cuda}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_cuda}" ;; esac fi check_package_libdir= if test "${with_cuda_libdir}" = "no" -o "${with_cuda_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-cuda-libdir" "$LINENO" 5 elif test -n "${with_cuda_libdir}" then : check_package_libdir="${with_cuda_libdir}" fi check_package_incdir= if test "${with_cuda_incdir}" = "no" -o "${with_cuda_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-cuda-incdir" "$LINENO" 5 elif test -n "${with_cuda_incdir}" then : check_package_incdir="${with_cuda_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${cuda_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-cuda or --with-cuda-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-cuda only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda pkg-config name" >&5 printf %s "checking for cuda pkg-config name... " >&6; } if test ${oac_cv_check_package_cuda_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_cuda_pcfilename="cuda" if test -n "${check_package_libdir}" then : oac_cv_check_package_cuda_pcfilename="${check_package_libdir}/pkgconfig/cuda.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_cuda_pcfilename="cuda" elif test -r "${check_package_prefix}/lib/pkgconfig/cuda.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/cuda.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found cuda in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-cuda-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_cuda_pcfilename="${check_package_prefix}/lib/pkgconfig/cuda.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/cuda.pc" then : oac_cv_check_package_cuda_pcfilename="${check_package_prefix}/lib64/pkgconfig/cuda.pc" else case e in @%:@( e) oac_cv_check_package_cuda_pcfilename="${check_package_prefix}/lib/pkgconfig/cuda.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_cuda_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if cuda pkg-config module exists" >&5 printf %s "checking if cuda pkg-config module exists... " >&6; } if test ${oac_cv_check_package_cuda_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_cuda_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_cuda_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : accelerator_cuda_PC_MODULES=${oac_cv_check_package_cuda_pcfilename} oac_cv_check_package_cuda_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_cuda_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_cuda_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_cuda_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda pkg-config cflags" >&5 printf %s "checking for cuda pkg-config cflags... " >&6; } if test ${oac_cv_check_package_cuda_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_cuda_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_cuda_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_cuda_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_cuda_pkg_config_cppflags" >&6; } accelerator_cuda_CPPFLAGS="${oac_cv_check_package_cuda_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda pkg-config ldflags" >&5 printf %s "checking for cuda pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_cuda_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_cuda_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_cuda_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_cuda_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_cuda_pkg_config_ldflags" >&6; } accelerator_cuda_LDFLAGS="${oac_cv_check_package_cuda_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda pkg-config static ldflags" >&5 printf %s "checking for cuda pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_cuda_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_cuda_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_cuda_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_cuda_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_cuda_pkg_config_static_ldflags" >&6; } accelerator_cuda_STATIC_LDFLAGS="${oac_cv_check_package_cuda_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda pkg-config libs" >&5 printf %s "checking for cuda pkg-config libs... " >&6; } if test ${oac_cv_check_package_cuda_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_cuda_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_cuda_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_cuda_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_cuda_pkg_config_libs" >&6; } accelerator_cuda_LIBS="${oac_cv_check_package_cuda_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda pkg-config static libs" >&5 printf %s "checking for cuda pkg-config static libs... " >&6; } if test ${oac_cv_check_package_cuda_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_cuda_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_cuda_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_cuda_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_cuda_pkg_config_static_libs" >&6; } accelerator_cuda_STATIC_LIBS="${oac_cv_check_package_cuda_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${cuda_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-cuda argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda wrapper compiler" >&5 printf %s "checking for cuda wrapper compiler... " >&6; } if test ${oac_cv_check_package_cuda_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_cuda_wrapper_compiler="cudacc" else case e in @%:@( e) oac_cv_check_package_cuda_wrapper_compiler="${check_package_prefix}/bin/cudacc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_cuda_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if cuda wrapper compiler works" >&5 printf %s "checking if cuda wrapper compiler works... " >&6; } if test ${oac_cv_check_package_cuda_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_cuda_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_cuda_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_cuda_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_cuda_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda wrapper compiler cppflags" >&5 printf %s "checking for cuda wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_cuda_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_cuda_wrapper_compiler_cppflags}" then : oac_cv_check_package_cuda_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_cuda_wrapper_compiler_cppflags="${oac_cv_check_package_cuda_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_cuda_wrapper_compiler_cppflags" >&6; } accelerator_cuda_CPPFLAGS="${oac_cv_check_package_cuda_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda wrapper compiler ldflags" >&5 printf %s "checking for cuda wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_cuda_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_cuda_wrapper_compiler_ldflags}" then : oac_cv_check_package_cuda_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_cuda_wrapper_compiler_ldflags="${oac_cv_check_package_cuda_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_cuda_wrapper_compiler_ldflags" >&6; } accelerator_cuda_LDFLAGS="${oac_cv_check_package_cuda_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda wrapper compiler static ldflags" >&5 printf %s "checking for cuda wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_cuda_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_cuda_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_cuda_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_cuda_wrapper_compiler_static_ldflags="${oac_cv_check_package_cuda_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_cuda_wrapper_compiler_static_ldflags" >&6; } accelerator_cuda_STATIC_LDFLAGS="${oac_cv_check_package_cuda_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda wrapper compiler libs" >&5 printf %s "checking for cuda wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_cuda_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_cuda_wrapper_compiler_libs}" then : oac_cv_check_package_cuda_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_cuda_wrapper_compiler_libs="${oac_cv_check_package_cuda_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_cuda_wrapper_compiler_libs" >&6; } accelerator_cuda_LIBS="$oac_cv_check_package_cuda_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda wrapper compiler static libs" >&5 printf %s "checking for cuda wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_cuda_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_cuda_wrapper_compiler_static_libs}" then : oac_cv_check_package_cuda_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_cuda_wrapper_compiler_static_libs="${oac_cv_check_package_cuda_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_cuda_wrapper_compiler_static_libs" >&6; } accelerator_cuda_STATIC_LIBS="${oac_cv_check_package_cuda_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "cuda.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "cuda" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda header at ${check_package_generic_incdir}" >&5 printf %s "checking for cuda header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 accelerator_cuda_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for cuda library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 accelerator_cuda_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for cuda library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-cuda-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 accelerator_cuda_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 accelerator_cuda_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 accelerator_cuda_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for cuda in default search paths" >&5 printf "%s\n" "$as_me: Searching for cuda in default search paths" >&6;} cuda_CPPFLAGS= cuda_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in cuda ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${accelerator_cuda_LIBS}" then : accelerator_cuda_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) accelerator_cuda_LIBS="${accelerator_cuda_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${accelerator_cuda_STATIC_LIBS}" then : accelerator_cuda_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) accelerator_cuda_STATIC_LIBS="${accelerator_cuda_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda cppflags" >&5 printf %s "checking for cuda cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $accelerator_cuda_CPPFLAGS" >&5 printf "%s\n" "$accelerator_cuda_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda ldflags" >&5 printf %s "checking for cuda ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $accelerator_cuda_LDFLAGS" >&5 printf "%s\n" "$accelerator_cuda_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda libs" >&5 printf %s "checking for cuda libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $accelerator_cuda_LIBS" >&5 printf "%s\n" "$accelerator_cuda_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda static libs" >&5 printf %s "checking for cuda static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $accelerator_cuda_STATIC_LIBS" >&5 printf "%s\n" "$accelerator_cuda_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${accelerator_cuda_LDFLAGS}" then : accelerator_cuda_LDFLAGS="${accelerator_cuda_STATIC_LDFLAGS}" else case e in @%:@( e) accelerator_cuda_LDFLAGS="${accelerator_cuda_LDFLAGS} ${accelerator_cuda_STATIC_LDFLAGS}" ;; esac fi if test -z "${accelerator_cuda_LIBS}" then : accelerator_cuda_LIBS="${accelerator_cuda_STATIC_LIBS}" else case e in @%:@( e) accelerator_cuda_LIBS="${accelerator_cuda_LIBS} ${accelerator_cuda_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "cuda.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${accelerator_cuda_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${accelerator_cuda_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${accelerator_cuda_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${accelerator_cuda_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${accelerator_cuda_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${accelerator_cuda_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "cuMemFree" "ac_cv_func_cuMemFree" if test "x$ac_cv_func_cuMemFree" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if cuda requires libnl v1 or v3" >&5 printf %s "checking if cuda requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_cuda+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void cuMemFree (void); int main(int argc, char *argv[]) { cuMemFree (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib cuda" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib cuda" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_cuda=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_cuda" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_cuda" >&6; } result_msg=$opal_libnl_sanity_check_cv_cuda this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, cuda links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, cuda links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libcuda (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libcuda (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libcuda." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libcuda." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas cuda requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas cuda requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libcuda (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libcuda (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libcuda." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libcuda." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs cuda" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas cuda requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas cuda requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libcuda (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libcuda (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libcuda." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libcuda." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs cuda" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi accelerator_cuda_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : accelerator_cuda_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) accelerator_cuda_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi opal_check_cuda_happy="yes" else case e in @%:@( e) if test "${with_cuda}" = "no" then : accelerator_cuda_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) accelerator_cuda_SUMMARY="no (not found)" ;; esac fi { accelerator_cuda_CPPFLAGS=; unset accelerator_cuda_CPPFLAGS;} { accelerator_cuda_LDFLAGS=; unset accelerator_cuda_LDFLAGS;} { accelerator_cuda_STATIC_LDFLAGS=; unset accelerator_cuda_STATIC_LDFLAGS;} { accelerator_cuda_LIBS=; unset accelerator_cuda_LIBS;} { accelerator_cuda_STATIC_LIBS=; unset accelerator_cuda_STATIC_LIBS;} opal_check_cuda_happy="no" ;; esac fi CPPFLAGS="${check_package_accelerator_cuda_save_CPPFLAGS}" LDFLAGS="${check_package_accelerator_cuda_save_LDFLAGS}" LIBS="${check_package_accelerator_cuda_save_LIBS}" oac_var_scope_pop check_package_accelerator_cuda_save_CPPFLAGS check_package_accelerator_cuda_save_LDFLAGS check_package_accelerator_cuda_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR cuda ****************************** fi # We require CUDA IPC support which started in CUDA 4.1. Error # out if the support is not there. if test "$opal_check_cuda_happy" = "yes" then : ac_fn_c_check_member "$LINENO" "struct CUipcMemHandle_st" "reserved" "ac_cv_member_struct_CUipcMemHandle_st_reserved" "#include <$opal_cuda_incdir/cuda.h> " if test "x$ac_cv_member_struct_CUipcMemHandle_st_reserved" = xyes then : else case e in @%:@( e) as_fn_error $? "Cannot continue because CUDA 4.1 or later is required" "$LINENO" 5 ;; esac fi fi # If we have CUDA support, check to see if we have support for SYNC_MEMOPS # which was first introduced in CUDA 6.0. if test "$opal_check_cuda_happy" = "yes" then : ac_fn_check_decl "$LINENO" "CU_POINTER_ATTRIBUTE_SYNC_MEMOPS" "ac_cv_have_decl_CU_POINTER_ATTRIBUTE_SYNC_MEMOPS" "#include <$opal_cuda_incdir/cuda.h> " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_CU_POINTER_ATTRIBUTE_SYNC_MEMOPS" = xyes then : CUDA_SYNC_MEMOPS=1 else case e in @%:@( e) CUDA_SYNC_MEMOPS=0 ;; esac fi fi # If we have CUDA support, check to see if we have CUDA 6.0 or later. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <$opal_cuda_incdir/cuda.h> int main (void) { #if CUDA_VERSION < 6000 #error "CUDA_VERSION is less than 6000" #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : CUDA_VERSION_60_OR_GREATER=1 else case e in @%:@( e) CUDA_VERSION_60_OR_GREATER=0 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext # If we have CUDA support, check to see if we have support for cuPointerGetAttributes # which was first introduced in CUDA 7.0. if test "$opal_check_cuda_happy" = "yes" then : ac_fn_check_decl "$LINENO" "cuPointerGetAttributes" "ac_cv_have_decl_cuPointerGetAttributes" "#include <$opal_cuda_incdir/cuda.h> " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_cuPointerGetAttributes" = xyes then : CUDA_GET_ATTRIBUTES=1 else case e in @%:@( e) CUDA_GET_ATTRIBUTES=0 ;; esac fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if have cuda support" >&5 printf %s "checking if have cuda support... " >&6; } if test "$opal_check_cuda_happy" = "yes"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes (-I$opal_cuda_incdir)" >&5 printf "%s\n" "yes (-I$opal_cuda_incdir)" >&6; } CUDA_SUPPORT=1 common_cuda_CPPFLAGS="-I$opal_cuda_incdir" else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } CUDA_SUPPORT=0 fi 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="CUDA support: $opal_check_cuda_happy" oac_summary_key="AcceleratorsCUDA_support" # Use the section name variable as an indicator for whether or not # the section has already been created. if test ${oac_summary_section_Accelerators_name+y} then : else case e in @%:@( e) oac_summary_section_Accelerators_name="Accelerators" if test -z "${oac_summary_sections}" then : oac_summary_sections="Accelerators" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} Accelerators" ;; esac fi ;; esac 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 case e in @%:@( e) eval "${oac_summary_key}=1" if test ${oac_summary_section_Accelerators_value+y} then : as_fn_append oac_summary_section_Accelerators_value "${oac_summary_newline}${oac_summary_line}" else case e in @%:@( e) oac_summary_section_Accelerators_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key if test "x$CUDA_SUPPORT" = "x1"; then OPAL_cuda_support_TRUE= OPAL_cuda_support_FALSE='#' else OPAL_cuda_support_TRUE='#' OPAL_cuda_support_FALSE= fi printf "%s\n" "@%:@define OPAL_CUDA_SUPPORT $CUDA_SUPPORT" >>confdefs.h if test "x$CUDA_SYNC_MEMOPS" = "x1"; then OPAL_cuda_sync_memops_TRUE= OPAL_cuda_sync_memops_FALSE='#' else OPAL_cuda_sync_memops_TRUE='#' OPAL_cuda_sync_memops_FALSE= fi printf "%s\n" "@%:@define OPAL_CUDA_SYNC_MEMOPS $CUDA_SYNC_MEMOPS" >>confdefs.h if test "x$CUDA_GET_ATTRIBUTES" = "x1"; then OPAL_cuda_get_attributes_TRUE= OPAL_cuda_get_attributes_FALSE='#' else OPAL_cuda_get_attributes_TRUE='#' OPAL_cuda_get_attributes_FALSE= fi printf "%s\n" "@%:@define OPAL_CUDA_GET_ATTRIBUTES $CUDA_GET_ATTRIBUTES" >>confdefs.h # There is nothing specific we can check for to see if GPU Direct RDMA is available. # Therefore, we check to see whether we have CUDA 6.0 or later. if test "x$CUDA_VERSION_60_OR_GREATER" = "x1"; then OPAL_cuda_gdr_support_TRUE= OPAL_cuda_gdr_support_FALSE='#' else OPAL_cuda_gdr_support_TRUE='#' OPAL_cuda_gdr_support_FALSE= fi printf "%s\n" "@%:@define OPAL_CUDA_GDR_SUPPORT $CUDA_VERSION_60_OR_GREATER" >>confdefs.h CPPFLAGS=${cuda_save_CPPFLAGS} LDFLAGS=${cuda_save_LDFLAGS} LIBS=${cuda_save_LIBS} opal_var_scope_pop cuda_save_CPPFLAGS cuda_save_LDFLAGS cuda_save_LIBS if test "x$CUDA_SUPPORT" = "x1" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/accelerator/cuda/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components cuda" if test "$compile_mode" = "dso" ; then dso_components="$dso_components cuda" else if test "accelerator" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/accelerator/cuda/lib${OPAL_LIB_NAME}mca_accelerator_cuda.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/accelerator/cuda/libmca_accelerator_cuda.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_accelerator_cuda_component;" >> $outfile.extern echo " &mca_accelerator_cuda_component, " >> $outfile.struct static_components="$static_components cuda" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component accelerator:cuda can compile" >&5 printf %s "checking if MCA component accelerator:cuda can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_accelerator" = "cuda" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_accelerator_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** accelerator component cuda was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_accelerator" = "cuda" ; then as_fn_error $? "*** accelerator component cuda was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${accelerator_cuda_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${accelerator_cuda_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${accelerator_cuda_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${accelerator_cuda_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${accelerator_cuda_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${accelerator_cuda_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$accelerator_cuda_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $accelerator_cuda_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring accelerator_cuda_WRAPPER_EXTRA_CPPFLAGS ($accelerator_cuda_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring accelerator_cuda_WRAPPER_EXTRA_CPPFLAGS ($accelerator_cuda_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component accelerator:cuda can compile" >&5 printf %s "checking if MCA component accelerator:cuda can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_accelerator" = "cuda" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"cuda\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"cuda\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_accelerator" ; then if test "$DIRECT_accelerator" = "cuda" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"cuda\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"cuda\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components cuda" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_accelerator_cuda_DSO=1 else case e in @%:@( e) BUILD_opal_accelerator_cuda_DSO=0 ;; esac fi if test "$BUILD_opal_accelerator_cuda_DSO" = "1"; then MCA_BUILD_opal_accelerator_cuda_DSO_TRUE= MCA_BUILD_opal_accelerator_cuda_DSO_FALSE='#' else MCA_BUILD_opal_accelerator_cuda_DSO_TRUE='#' MCA_BUILD_opal_accelerator_cuda_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component accelerator:rocm (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/accelerator/rocm" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_accelerator" ; then if test "$DIRECT_accelerator" = "rocm" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_accelerator" = "1" then : want_component=0 fi if test "${DISABLE_accelerator_rocm}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_accelerator_rocm_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_accelerator" SHARED_COMPONENT="$DSO_accelerator_rocm" STATIC_FRAMEWORK="$STATIC_accelerator" STATIC_COMPONENT="$STATIC_accelerator_rocm" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_accelerator_rocm_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component accelerator:rocm compile mode" >&5 printf %s "checking for MCA component accelerator:rocm compile mode... " >&6; } if test "$DIRECT_accelerator" = "rocm" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$opal_accelerator_rocm_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/accelerator/rocm/Makefile" opal_var_scope_push ${LINENO} opal_check_rocm_happy rocm_save_CPPFLAGS rocm_save_LDFLAGS rocm_save_LIBS rocm_CPPFLAGS rocm_LDFLAGS rocm_LIBS rocm_save_CPPFLAGS="$CPPFLAGS" rocm_save_LDFLAGS="$LDFLAGS" rocm_save_LIBS="$LIBS" # Get some configuration information @%:@ Check whether --with-rocm was given. if test ${with_rocm+y} then : withval=$with_rocm; fi if test -n "$with_rocm" && test "$with_rocm" = "yes" then : with_rocm="/opt/rocm" fi rocm_CPPFLAGS="-D__HIP_PLATFORM_AMD__" rocm_LDFLAGS="-L${with_rocm}/lib/" if test -n "$with_rocm" && test "$with_rocm" != "no" then : if test -z "${CPPFLAGS}" then : CPPFLAGS="$rocm_CPPFLAGS" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} $rocm_CPPFLAGS" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="$rocm_LDFLAGS" else case e in @%:@( e) LDFLAGS="${LDFLAGS} $rocm_LDFLAGS" ;; esac fi fi # ****************************** START CHECK PACKAGE FOR rocm ****************************** oac_var_scope_push ${LINENO} check_package_opal_rocm_save_CPPFLAGS check_package_opal_rocm_save_LDFLAGS check_package_opal_rocm_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_opal_rocm_save_CPPFLAGS="${CPPFLAGS}" check_package_opal_rocm_save_LDFLAGS="${LDFLAGS}" check_package_opal_rocm_save_LIBS="${LIBS}" opal_rocm_CPPFLAGS= opal_rocm_LDFLAGS= opal_rocm_STATIC_LDFLAGS= opal_rocm_LIBS= opal_rocm_STATIC_LIBS= { opal_rocm_PC_MODULES=; unset opal_rocm_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_rocm" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package rocm disabled by user" >&5 printf "%s\n" "$as_me: Package rocm disabled by user" >&6;} check_package_happy=0 elif test "${with_rocm}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_rocm}" ;; esac fi check_package_libdir= if test "${with_rocm_libdir}" = "no" -o "${with_rocm_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-rocm-libdir" "$LINENO" 5 elif test -n "${with_rocm_libdir}" then : check_package_libdir="${with_rocm_libdir}" fi check_package_incdir= if test "${with_rocm_incdir}" = "no" -o "${with_rocm_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-rocm-incdir" "$LINENO" 5 elif test -n "${with_rocm_incdir}" then : check_package_incdir="${with_rocm_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${rocm_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-rocm or --with-rocm-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-rocm only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for rocm pkg-config name" >&5 printf %s "checking for rocm pkg-config name... " >&6; } if test ${oac_cv_check_package_rocm_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_rocm_pcfilename="rocm" if test -n "${check_package_libdir}" then : oac_cv_check_package_rocm_pcfilename="${check_package_libdir}/pkgconfig/rocm.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_rocm_pcfilename="rocm" elif test -r "${check_package_prefix}/lib/pkgconfig/rocm.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/rocm.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found rocm in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-rocm-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_rocm_pcfilename="${check_package_prefix}/lib/pkgconfig/rocm.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/rocm.pc" then : oac_cv_check_package_rocm_pcfilename="${check_package_prefix}/lib64/pkgconfig/rocm.pc" else case e in @%:@( e) oac_cv_check_package_rocm_pcfilename="${check_package_prefix}/lib/pkgconfig/rocm.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_rocm_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_rocm_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if rocm pkg-config module exists" >&5 printf %s "checking if rocm pkg-config module exists... " >&6; } if test ${oac_cv_check_package_rocm_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_rocm_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_rocm_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : opal_rocm_PC_MODULES=${oac_cv_check_package_rocm_pcfilename} oac_cv_check_package_rocm_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_rocm_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_rocm_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_rocm_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_rocm_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for rocm pkg-config cflags" >&5 printf %s "checking for rocm pkg-config cflags... " >&6; } if test ${oac_cv_check_package_rocm_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_rocm_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_rocm_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_rocm_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving rocm cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_rocm_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_rocm_pkg_config_cppflags" >&6; } opal_rocm_CPPFLAGS="${oac_cv_check_package_rocm_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for rocm pkg-config ldflags" >&5 printf %s "checking for rocm pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_rocm_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_rocm_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_rocm_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_rocm_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving rocm ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_rocm_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_rocm_pkg_config_ldflags" >&6; } opal_rocm_LDFLAGS="${oac_cv_check_package_rocm_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for rocm pkg-config static ldflags" >&5 printf %s "checking for rocm pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_rocm_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_rocm_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_rocm_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_rocm_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving rocm static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_rocm_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_rocm_pkg_config_static_ldflags" >&6; } opal_rocm_STATIC_LDFLAGS="${oac_cv_check_package_rocm_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for rocm pkg-config libs" >&5 printf %s "checking for rocm pkg-config libs... " >&6; } if test ${oac_cv_check_package_rocm_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_rocm_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_rocm_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_rocm_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving rocm libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_rocm_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_rocm_pkg_config_libs" >&6; } opal_rocm_LIBS="${oac_cv_check_package_rocm_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for rocm pkg-config static libs" >&5 printf %s "checking for rocm pkg-config static libs... " >&6; } if test ${oac_cv_check_package_rocm_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_rocm_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_rocm_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_rocm_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving rocm libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_rocm_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_rocm_pkg_config_static_libs" >&6; } opal_rocm_STATIC_LIBS="${oac_cv_check_package_rocm_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${rocm_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-rocm argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for rocm wrapper compiler" >&5 printf %s "checking for rocm wrapper compiler... " >&6; } if test ${oac_cv_check_package_rocm_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_rocm_wrapper_compiler="rocmcc" else case e in @%:@( e) oac_cv_check_package_rocm_wrapper_compiler="${check_package_prefix}/bin/rocmcc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_rocm_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_rocm_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if rocm wrapper compiler works" >&5 printf %s "checking if rocm wrapper compiler works... " >&6; } if test ${oac_cv_check_package_rocm_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_rocm_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_rocm_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_rocm_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_rocm_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_rocm_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_rocm_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_rocm_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for rocm wrapper compiler cppflags" >&5 printf %s "checking for rocm wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_rocm_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_rocm_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_rocm_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_rocm_wrapper_compiler_cppflags}" then : oac_cv_check_package_rocm_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_rocm_wrapper_compiler_cppflags="${oac_cv_check_package_rocm_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving rocm cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_rocm_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_rocm_wrapper_compiler_cppflags" >&6; } opal_rocm_CPPFLAGS="${oac_cv_check_package_rocm_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for rocm wrapper compiler ldflags" >&5 printf %s "checking for rocm wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_rocm_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_rocm_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_rocm_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_rocm_wrapper_compiler_ldflags}" then : oac_cv_check_package_rocm_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_rocm_wrapper_compiler_ldflags="${oac_cv_check_package_rocm_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving rocm ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_rocm_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_rocm_wrapper_compiler_ldflags" >&6; } opal_rocm_LDFLAGS="${oac_cv_check_package_rocm_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for rocm wrapper compiler static ldflags" >&5 printf %s "checking for rocm wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_rocm_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_rocm_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_rocm_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_rocm_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_rocm_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_rocm_wrapper_compiler_static_ldflags="${oac_cv_check_package_rocm_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving rocm static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_rocm_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_rocm_wrapper_compiler_static_ldflags" >&6; } opal_rocm_STATIC_LDFLAGS="${oac_cv_check_package_rocm_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for rocm wrapper compiler libs" >&5 printf %s "checking for rocm wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_rocm_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_rocm_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_rocm_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_rocm_wrapper_compiler_libs}" then : oac_cv_check_package_rocm_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_rocm_wrapper_compiler_libs="${oac_cv_check_package_rocm_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving rocm libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_rocm_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_rocm_wrapper_compiler_libs" >&6; } opal_rocm_LIBS="$oac_cv_check_package_rocm_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for rocm wrapper compiler static libs" >&5 printf %s "checking for rocm wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_rocm_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_rocm_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_rocm_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_rocm_wrapper_compiler_static_libs}" then : oac_cv_check_package_rocm_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_rocm_wrapper_compiler_static_libs="${oac_cv_check_package_rocm_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving rocm static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_rocm_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_rocm_wrapper_compiler_static_libs" >&6; } opal_rocm_STATIC_LIBS="${oac_cv_check_package_rocm_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "hip/hip_runtime.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "amdhip64" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for rocm header at ${check_package_generic_incdir}" >&5 printf %s "checking for rocm header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 opal_rocm_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for rocm library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for rocm library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 opal_rocm_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for rocm library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for rocm library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-rocm-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 opal_rocm_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 opal_rocm_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 opal_rocm_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for rocm in default search paths" >&5 printf "%s\n" "$as_me: Searching for rocm in default search paths" >&6;} rocm_CPPFLAGS= rocm_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in amdhip64 ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${opal_rocm_LIBS}" then : opal_rocm_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) opal_rocm_LIBS="${opal_rocm_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${opal_rocm_STATIC_LIBS}" then : opal_rocm_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) opal_rocm_STATIC_LIBS="${opal_rocm_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for rocm cppflags" >&5 printf %s "checking for rocm cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_rocm_CPPFLAGS" >&5 printf "%s\n" "$opal_rocm_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for rocm ldflags" >&5 printf %s "checking for rocm ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_rocm_LDFLAGS" >&5 printf "%s\n" "$opal_rocm_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for rocm libs" >&5 printf %s "checking for rocm libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_rocm_LIBS" >&5 printf "%s\n" "$opal_rocm_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for rocm static libs" >&5 printf %s "checking for rocm static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_rocm_STATIC_LIBS" >&5 printf "%s\n" "$opal_rocm_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${opal_rocm_LDFLAGS}" then : opal_rocm_LDFLAGS="${opal_rocm_STATIC_LDFLAGS}" else case e in @%:@( e) opal_rocm_LDFLAGS="${opal_rocm_LDFLAGS} ${opal_rocm_STATIC_LDFLAGS}" ;; esac fi if test -z "${opal_rocm_LIBS}" then : opal_rocm_LIBS="${opal_rocm_STATIC_LIBS}" else case e in @%:@( e) opal_rocm_LIBS="${opal_rocm_LIBS} ${opal_rocm_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "hip/hip_runtime.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${opal_rocm_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${opal_rocm_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${opal_rocm_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${opal_rocm_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${opal_rocm_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${opal_rocm_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "hipFree" "ac_cv_func_hipFree" if test "x$ac_cv_func_hipFree" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if rocm requires libnl v1 or v3" >&5 printf %s "checking if rocm requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_rocm+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void hipFree (void); int main(int argc, char *argv[]) { hipFree (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib rocm" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib rocm" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_rocm=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_rocm" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_rocm" >&6; } result_msg=$opal_libnl_sanity_check_cv_rocm this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, rocm links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, rocm links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in librocm (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in librocm (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using librocm." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using librocm." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas rocm requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas rocm requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in librocm (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in librocm (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using librocm." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using librocm." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs rocm" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas rocm requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas rocm requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in librocm (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in librocm (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using librocm." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using librocm." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs rocm" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi opal_rocm_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : opal_rocm_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) opal_rocm_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi opal_check_rocm_happy="yes" else case e in @%:@( e) if test "${with_rocm}" = "no" then : opal_rocm_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) opal_rocm_SUMMARY="no (not found)" ;; esac fi { opal_rocm_CPPFLAGS=; unset opal_rocm_CPPFLAGS;} { opal_rocm_LDFLAGS=; unset opal_rocm_LDFLAGS;} { opal_rocm_STATIC_LDFLAGS=; unset opal_rocm_STATIC_LDFLAGS;} { opal_rocm_LIBS=; unset opal_rocm_LIBS;} { opal_rocm_STATIC_LIBS=; unset opal_rocm_STATIC_LIBS;} opal_check_rocm_happy="no" ;; esac fi CPPFLAGS="${check_package_opal_rocm_save_CPPFLAGS}" LDFLAGS="${check_package_opal_rocm_save_LDFLAGS}" LIBS="${check_package_opal_rocm_save_LIBS}" oac_var_scope_pop check_package_opal_rocm_save_CPPFLAGS check_package_opal_rocm_save_LDFLAGS check_package_opal_rocm_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR rocm ****************************** LDFLAGS="$rocm_save_LDFLAGS" LIBS="$rocm_save_LIBS" CPPFLAGS="$rocm_save_CPPFLAGS" if test "$opal_check_rocm_happy" = "yes" then : if test -z "${opal_rocm_CPPFLAGS}" then : opal_rocm_CPPFLAGS="$rocm_CPPFLAGS" else case e in @%:@( e) opal_rocm_CPPFLAGS="${opal_rocm_CPPFLAGS} $rocm_CPPFLAGS" ;; esac fi printf "%s\n" "@%:@define OPAL_ROCM_SUPPORT 1" >>confdefs.h ROCM_SUPPORT=1 else case e in @%:@( e) printf "%s\n" "@%:@define OPAL_ROCM_SUPPORT 0" >>confdefs.h ROCM_SUPPORT=0 ;; esac fi if test "$opal_check_rocm_happy" = "yes" then : opal_rocm_happy="yes" else case e in @%:@( e) if test -n "$with_rocm" && test "$with_rocm" != "no" then : as_fn_error $? "ROCm support requested but not found. Aborting" "$LINENO" 5 fi opal_rocm_happy="no" ;; esac fi if test "$opal_check_rocm_happy" = "yes"; then OPAL_rocm_support_TRUE= OPAL_rocm_support_FALSE='#' else OPAL_rocm_support_TRUE='#' OPAL_rocm_support_FALSE= fi opal_var_scope_pop opal_check_rocm_happy rocm_save_CPPFLAGS rocm_save_LDFLAGS rocm_save_LIBS rocm_CPPFLAGS rocm_LDFLAGS rocm_LIBS 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="ROCm support: $opal_rocm_happy" oac_summary_key="AcceleratorsROCm_support" # Use the section name variable as an indicator for whether or not # the section has already been created. if test ${oac_summary_section_Accelerators_name+y} then : else case e in @%:@( e) oac_summary_section_Accelerators_name="Accelerators" if test -z "${oac_summary_sections}" then : oac_summary_sections="Accelerators" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} Accelerators" ;; esac fi ;; esac 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 case e in @%:@( e) eval "${oac_summary_key}=1" if test ${oac_summary_section_Accelerators_value+y} then : as_fn_append oac_summary_section_Accelerators_value "${oac_summary_newline}${oac_summary_line}" else case e in @%:@( e) oac_summary_section_Accelerators_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key if test "$opal_rocm_happy" = "yes" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/accelerator/rocm/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components rocm" if test "$compile_mode" = "dso" ; then dso_components="$dso_components rocm" else if test "accelerator" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/accelerator/rocm/lib${OPAL_LIB_NAME}mca_accelerator_rocm.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/accelerator/rocm/libmca_accelerator_rocm.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_accelerator_rocm_component;" >> $outfile.extern echo " &mca_accelerator_rocm_component, " >> $outfile.struct static_components="$static_components rocm" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component accelerator:rocm can compile" >&5 printf %s "checking if MCA component accelerator:rocm can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_accelerator" = "rocm" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_accelerator_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** accelerator component rocm was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_accelerator" = "rocm" ; then as_fn_error $? "*** accelerator component rocm was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${accelerator_rocm_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${accelerator_rocm_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${accelerator_rocm_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${accelerator_rocm_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${accelerator_rocm_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${accelerator_rocm_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$accelerator_rocm_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $accelerator_rocm_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring accelerator_rocm_WRAPPER_EXTRA_CPPFLAGS ($accelerator_rocm_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring accelerator_rocm_WRAPPER_EXTRA_CPPFLAGS ($accelerator_rocm_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component accelerator:rocm can compile" >&5 printf %s "checking if MCA component accelerator:rocm can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_accelerator" = "rocm" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"rocm\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"rocm\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_accelerator" ; then if test "$DIRECT_accelerator" = "rocm" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"rocm\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"rocm\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components rocm" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_accelerator_rocm_DSO=1 else case e in @%:@( e) BUILD_opal_accelerator_rocm_DSO=0 ;; esac fi if test "$BUILD_opal_accelerator_rocm_DSO" = "1"; then MCA_BUILD_opal_accelerator_rocm_DSO_TRUE= MCA_BUILD_opal_accelerator_rocm_DSO_FALSE='#' else MCA_BUILD_opal_accelerator_rocm_DSO_TRUE='#' MCA_BUILD_opal_accelerator_rocm_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test ${DIRECT_accelerator+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for accelerator framework" >&5 printf %s "checking if direct-selection component exists for accelerator framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_accelerator" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_accelerator requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_accelerator" >&5 printf "%s\n" "$DIRECT_accelerator" >&6; } fi MCA_opal_accelerator_ALL_COMPONENTS="$all_components" MCA_opal_accelerator_STATIC_COMPONENTS="$static_components" MCA_opal_accelerator_DSO_COMPONENTS="$dso_components" MCA_opal_accelerator_STATIC_LTLIBS="$static_ltlibs" MCA_opal_accelerator_ALL_SUBDIRS= for item in $all_components ; do MCA_opal_accelerator_ALL_SUBDIRS="$MCA_opal_accelerator_ALL_SUBDIRS mca/accelerator/$item" done MCA_opal_accelerator_STATIC_SUBDIRS= for item in $static_components ; do MCA_opal_accelerator_STATIC_SUBDIRS="$MCA_opal_accelerator_STATIC_SUBDIRS mca/accelerator/$item" done MCA_opal_accelerator_DSO_SUBDIRS= for item in $dso_components ; do MCA_opal_accelerator_DSO_SUBDIRS="$MCA_opal_accelerator_DSO_SUBDIRS mca/accelerator/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "accelerator" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real MCA_opal_FRAMEWORKS="$MCA_opal_FRAMEWORKS allocator" MCA_opal_FRAMEWORKS_SUBDIRS="$MCA_opal_FRAMEWORKS_SUBDIRS mca/allocator" MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_opal_allocator_ALL_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_opal_allocator_DSO_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_opal_allocator_STATIC_SUBDIRS)" mca_opal_framework_base_lib="mca/allocator/libmca_allocator.la" MCA_opal_FRAMEWORK_LIBS="$MCA_opal_FRAMEWORK_LIBS ${mca_opal_framework_base_lib} \$(MCA_opal_allocator_STATIC_LTLIBS)" opal_show_subsubtitle "Configuring MCA framework allocator" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=opal/mca/allocator/base as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files opal/mca/allocator/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework allocator" >&5 printf %s "checking for no configure components in framework allocator... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: basic, bucket" >&5 printf "%s\n" "basic, bucket" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework allocator" >&5 printf %s "checking for m4 configure components in framework allocator... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components opal_show_subsubsubtitle "MCA component allocator:basic (no configuration)" opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: before, should_build=1" component_path="$srcdir/opal/mca/allocator/basic" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_allocator" ; then if test "$DIRECT_allocator" = "basic" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_allocator" = "1" then : want_component=0 fi if test "${DISABLE_allocator_basic}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=1 else case e in @%:@( e) should_build=0 ;; esac fi if test ${opal_allocator_basic_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_allocator" SHARED_COMPONENT="$DSO_allocator_basic" STATIC_FRAMEWORK="$STATIC_allocator" STATIC_COMPONENT="$STATIC_allocator_basic" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_allocator_basic_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component allocator:basic compile mode" >&5 printf %s "checking for MCA component allocator:basic compile mode... " >&6; } if test "$DIRECT_allocator" = "basic" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$opal_allocator_basic_compile_mode opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" ; then # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/allocator/basic/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components basic" if test "$compile_mode" = "dso" ; then dso_components="$dso_components basic" else if test "allocator" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/allocator/basic/lib${OPAL_LIB_NAME}mca_allocator_basic.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/allocator/basic/libmca_allocator_basic.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_allocator_basic_component;" >> $outfile.extern echo " &mca_allocator_basic_component, " >> $outfile.struct static_components="$static_components basic" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component allocator:basic can compile" >&5 printf %s "checking if MCA component allocator:basic can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_allocator" = "basic" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_allocator_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** allocator component basic was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_allocator" = "basic" ; then as_fn_error $? "*** allocator component basic was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${allocator_basic_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${allocator_basic_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${allocator_basic_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${allocator_basic_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${allocator_basic_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${allocator_basic_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$allocator_basic_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $allocator_basic_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring allocator_basic_WRAPPER_EXTRA_CPPFLAGS ($allocator_basic_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring allocator_basic_WRAPPER_EXTRA_CPPFLAGS ($allocator_basic_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component allocator:basic can compile" >&5 printf %s "checking if MCA component allocator:basic can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_allocator" = "basic" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"basic\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"basic\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_allocator" ; then if test "$DIRECT_allocator" = "basic" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"basic\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"basic\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components basic" fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" ; then BUILD_opal_allocator_basic_DSO=1 else BUILD_opal_allocator_basic_DSO=0 fi if test "$BUILD_opal_allocator_basic_DSO" = "1"; then MCA_BUILD_opal_allocator_basic_DSO_TRUE= MCA_BUILD_opal_allocator_basic_DSO_FALSE='#' else MCA_BUILD_opal_allocator_basic_DSO_TRUE='#' MCA_BUILD_opal_allocator_basic_DSO_FALSE= fi ac_config_files="$ac_config_files opal/mca/allocator/basic/Makefile" unset compile_mode opal_show_subsubsubtitle "MCA component allocator:bucket (no configuration)" opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: before, should_build=1" component_path="$srcdir/opal/mca/allocator/bucket" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_allocator" ; then if test "$DIRECT_allocator" = "bucket" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_allocator" = "1" then : want_component=0 fi if test "${DISABLE_allocator_bucket}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=1 else case e in @%:@( e) should_build=0 ;; esac fi if test ${opal_allocator_bucket_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_allocator" SHARED_COMPONENT="$DSO_allocator_bucket" STATIC_FRAMEWORK="$STATIC_allocator" STATIC_COMPONENT="$STATIC_allocator_bucket" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_allocator_bucket_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component allocator:bucket compile mode" >&5 printf %s "checking for MCA component allocator:bucket compile mode... " >&6; } if test "$DIRECT_allocator" = "bucket" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$opal_allocator_bucket_compile_mode opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" ; then # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/allocator/bucket/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components bucket" if test "$compile_mode" = "dso" ; then dso_components="$dso_components bucket" else if test "allocator" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/allocator/bucket/lib${OPAL_LIB_NAME}mca_allocator_bucket.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/allocator/bucket/libmca_allocator_bucket.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_allocator_bucket_component;" >> $outfile.extern echo " &mca_allocator_bucket_component, " >> $outfile.struct static_components="$static_components bucket" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component allocator:bucket can compile" >&5 printf %s "checking if MCA component allocator:bucket can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_allocator" = "bucket" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_allocator_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** allocator component bucket was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_allocator" = "bucket" ; then as_fn_error $? "*** allocator component bucket was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${allocator_bucket_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${allocator_bucket_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${allocator_bucket_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${allocator_bucket_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${allocator_bucket_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${allocator_bucket_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$allocator_bucket_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $allocator_bucket_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring allocator_bucket_WRAPPER_EXTRA_CPPFLAGS ($allocator_bucket_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring allocator_bucket_WRAPPER_EXTRA_CPPFLAGS ($allocator_bucket_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component allocator:bucket can compile" >&5 printf %s "checking if MCA component allocator:bucket can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_allocator" = "bucket" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"bucket\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"bucket\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_allocator" ; then if test "$DIRECT_allocator" = "bucket" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"bucket\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"bucket\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components bucket" fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" ; then BUILD_opal_allocator_bucket_DSO=1 else BUILD_opal_allocator_bucket_DSO=0 fi if test "$BUILD_opal_allocator_bucket_DSO" = "1"; then MCA_BUILD_opal_allocator_bucket_DSO_TRUE= MCA_BUILD_opal_allocator_bucket_DSO_FALSE='#' else MCA_BUILD_opal_allocator_bucket_DSO_TRUE='#' MCA_BUILD_opal_allocator_bucket_DSO_FALSE= fi ac_config_files="$ac_config_files opal/mca/allocator/bucket/Makefile" unset compile_mode # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=1 components_last_result=0 if test ${DIRECT_allocator+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for allocator framework" >&5 printf %s "checking if direct-selection component exists for allocator framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_allocator" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_allocator requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_allocator" >&5 printf "%s\n" "$DIRECT_allocator" >&6; } fi MCA_opal_allocator_ALL_COMPONENTS="$all_components" MCA_opal_allocator_STATIC_COMPONENTS="$static_components" MCA_opal_allocator_DSO_COMPONENTS="$dso_components" MCA_opal_allocator_STATIC_LTLIBS="$static_ltlibs" MCA_opal_allocator_ALL_SUBDIRS= for item in $all_components ; do MCA_opal_allocator_ALL_SUBDIRS="$MCA_opal_allocator_ALL_SUBDIRS mca/allocator/$item" done MCA_opal_allocator_STATIC_SUBDIRS= for item in $static_components ; do MCA_opal_allocator_STATIC_SUBDIRS="$MCA_opal_allocator_STATIC_SUBDIRS mca/allocator/$item" done MCA_opal_allocator_DSO_SUBDIRS= for item in $dso_components ; do MCA_opal_allocator_DSO_SUBDIRS="$MCA_opal_allocator_DSO_SUBDIRS mca/allocator/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "allocator" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real MCA_opal_FRAMEWORKS="$MCA_opal_FRAMEWORKS backtrace" MCA_opal_FRAMEWORKS_SUBDIRS="$MCA_opal_FRAMEWORKS_SUBDIRS mca/backtrace" MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_opal_backtrace_ALL_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_opal_backtrace_DSO_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_opal_backtrace_STATIC_SUBDIRS)" mca_opal_framework_base_lib="mca/backtrace/libmca_backtrace.la" MCA_opal_FRAMEWORK_CORE_LIBS="$MCA_opal_FRAMEWORK_CORE_LIBS ${mca_opal_framework_base_lib} \$(MCA_opal_backtrace_STATIC_LTLIBS)" opal_show_subsubtitle "Configuring MCA framework backtrace" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=opal/mca/backtrace/base as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files opal/mca/backtrace/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework backtrace" >&5 printf %s "checking for no configure components in framework backtrace... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework backtrace" >&5 printf %s "checking for m4 configure components in framework backtrace... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: execinfo, none, printstack" >&5 printf "%s\n" "execinfo, none, printstack" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=1 components_last_result=0 opal_show_subsubsubtitle "MCA component backtrace:execinfo (m4 configuration macro, priority 30)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/backtrace/execinfo" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_backtrace" ; then if test "$DIRECT_backtrace" = "execinfo" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_backtrace" = "1" then : want_component=0 fi if test "${DISABLE_backtrace_execinfo}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_backtrace_execinfo_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} component_compile_mode_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component backtrace:execinfo compile mode" >&5 printf %s "checking for MCA component backtrace:execinfo compile mode... " >&6; } component_compile_mode_tmp="static" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $component_compile_mode_tmp" >&5 printf "%s\n" "$component_compile_mode_tmp" >&6; } eval opal_backtrace_execinfo_compile_mode=\$$component_compile_mode_tmp opal_var_scope_pop component_compile_mode_tmp ;; esac fi compile_mode=$opal_backtrace_execinfo_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/backtrace/execinfo/Makefile" ac_fn_c_check_header_compile "$LINENO" "execinfo.h" "ac_cv_header_execinfo_h" "$ac_includes_default" if test "x$ac_cv_header_execinfo_h" = xyes then : printf "%s\n" "@%:@define HAVE_EXECINFO_H 1" >>confdefs.h fi # FreeBSD has backtrace in -lexecinfo, usually in libc opal_var_scope_push ${LINENO} LIBS_save add LIBS_save=$LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing backtrace" >&5 printf %s "checking for library containing backtrace... " >&6; } if test ${ac_cv_search_backtrace+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* 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. The 'extern "C"' is for builds by C++ compilers; although this is not generally supported in C code supporting it here has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif char backtrace (void); int main (void) { return backtrace (); ; return 0; } _ACEOF for ac_lib in '' execinfo do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO" then : ac_cv_search_backtrace=$ac_res fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext if test ${ac_cv_search_backtrace+y} then : break fi done if test ${ac_cv_search_backtrace+y} then : else case e in @%:@( e) ac_cv_search_backtrace=no ;; esac fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_backtrace" >&5 printf "%s\n" "$ac_cv_search_backtrace" >&6; } ac_res=$ac_cv_search_backtrace if test "$ac_res" != no then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" # Found it! See if anything was added to LIBS add=`printf '%s\n' "$LIBS" | sed -e "s/$LIBS_save$//"` if test -n "$add" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $add; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${backtrace_execinfo_LIBS}; 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 "${backtrace_execinfo_LIBS}" then : backtrace_execinfo_LIBS="$oac_list_arg" else case e in @%:@( e) backtrace_execinfo_LIBS="${backtrace_execinfo_LIBS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi backtrace_execinfo_have_backtrace=1 backtrace_execinfo_happy="yes" else case e in @%:@( e) backtrace_execinfo_have_backtrace=0 backtrace_execinfo_happy="no" ;; esac fi printf "%s\n" "@%:@define OPAL_HAVE_BACKTRACE_EXECINFO $backtrace_execinfo_have_backtrace" >>confdefs.h opal_var_scope_pop LIBS_save add if test "$backtrace_execinfo_happy" = "yes" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/backtrace/execinfo/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components execinfo" if test "$compile_mode" = "dso" ; then dso_components="$dso_components execinfo" else if test "backtrace" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/backtrace/execinfo/lib${OPAL_LIB_NAME}mca_backtrace_execinfo.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/backtrace/execinfo/libmca_backtrace_execinfo.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_backtrace_execinfo_component;" >> $outfile.extern echo " &mca_backtrace_execinfo_component, " >> $outfile.struct static_components="$static_components execinfo" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component backtrace:execinfo can compile" >&5 printf %s "checking if MCA component backtrace:execinfo can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_backtrace" = "execinfo" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_backtrace_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** backtrace component execinfo was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_backtrace" = "execinfo" ; then as_fn_error $? "*** backtrace component execinfo was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${backtrace_execinfo_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${backtrace_execinfo_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${backtrace_execinfo_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${backtrace_execinfo_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${backtrace_execinfo_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${backtrace_execinfo_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$backtrace_execinfo_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=1 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $backtrace_execinfo_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring backtrace_execinfo_WRAPPER_EXTRA_CPPFLAGS ($backtrace_execinfo_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring backtrace_execinfo_WRAPPER_EXTRA_CPPFLAGS ($backtrace_execinfo_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component backtrace:execinfo can compile" >&5 printf %s "checking if MCA component backtrace:execinfo can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_backtrace" = "execinfo" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"execinfo\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"execinfo\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_backtrace" ; then if test "$DIRECT_backtrace" = "execinfo" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"execinfo\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"execinfo\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components execinfo" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_backtrace_execinfo_DSO=1 else case e in @%:@( e) BUILD_opal_backtrace_execinfo_DSO=0 ;; esac fi if test "$BUILD_opal_backtrace_execinfo_DSO" = "1"; then MCA_BUILD_opal_backtrace_execinfo_DSO_TRUE= MCA_BUILD_opal_backtrace_execinfo_DSO_FALSE='#' else MCA_BUILD_opal_backtrace_execinfo_DSO_TRUE='#' MCA_BUILD_opal_backtrace_execinfo_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test $components_last_result -eq 1 then : components_looking_for_succeed=0 fi opal_show_subsubsubtitle "MCA component backtrace:printstack (m4 configuration macro, priority 30)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/backtrace/printstack" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_backtrace" ; then if test "$DIRECT_backtrace" = "printstack" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_backtrace" = "1" then : want_component=0 fi if test "${DISABLE_backtrace_printstack}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_backtrace_printstack_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} component_compile_mode_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component backtrace:printstack compile mode" >&5 printf %s "checking for MCA component backtrace:printstack compile mode... " >&6; } component_compile_mode_tmp="static" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $component_compile_mode_tmp" >&5 printf "%s\n" "$component_compile_mode_tmp" >&6; } eval opal_backtrace_printstack_compile_mode=\$$component_compile_mode_tmp opal_var_scope_pop component_compile_mode_tmp ;; esac fi compile_mode=$opal_backtrace_printstack_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/backtrace/printstack/Makefile" ac_fn_c_check_header_compile "$LINENO" "ucontext.h" "ac_cv_header_ucontext_h" "$ac_includes_default" if test "x$ac_cv_header_ucontext_h" = xyes then : printf "%s\n" "@%:@define HAVE_UCONTEXT_H 1" >>confdefs.h fi # FreeBSD has backtrace in -lexecinfo, usually in libc for ac_func in printstack do : ac_fn_c_check_func "$LINENO" "printstack" "ac_cv_func_printstack" if test "x$ac_cv_func_printstack" = xyes then : printf "%s\n" "@%:@define HAVE_PRINTSTACK 1" >>confdefs.h backtrace_printstack_happy="yes" else case e in @%:@( e) backtrace_printstack_happy="no" ;; esac fi done if test "$backtrace_printstack_happy" = "yes" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/backtrace/printstack/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components printstack" if test "$compile_mode" = "dso" ; then dso_components="$dso_components printstack" else if test "backtrace" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/backtrace/printstack/lib${OPAL_LIB_NAME}mca_backtrace_printstack.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/backtrace/printstack/libmca_backtrace_printstack.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_backtrace_printstack_component;" >> $outfile.extern echo " &mca_backtrace_printstack_component, " >> $outfile.struct static_components="$static_components printstack" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component backtrace:printstack can compile" >&5 printf %s "checking if MCA component backtrace:printstack can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_backtrace" = "printstack" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_backtrace_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** backtrace component printstack was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_backtrace" = "printstack" ; then as_fn_error $? "*** backtrace component printstack was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${backtrace_printstack_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${backtrace_printstack_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${backtrace_printstack_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${backtrace_printstack_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${backtrace_printstack_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${backtrace_printstack_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$backtrace_printstack_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=1 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $backtrace_printstack_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring backtrace_printstack_WRAPPER_EXTRA_CPPFLAGS ($backtrace_printstack_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring backtrace_printstack_WRAPPER_EXTRA_CPPFLAGS ($backtrace_printstack_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component backtrace:printstack can compile" >&5 printf %s "checking if MCA component backtrace:printstack can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_backtrace" = "printstack" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"printstack\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"printstack\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_backtrace" ; then if test "$DIRECT_backtrace" = "printstack" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"printstack\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"printstack\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components printstack" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_backtrace_printstack_DSO=1 else case e in @%:@( e) BUILD_opal_backtrace_printstack_DSO=0 ;; esac fi if test "$BUILD_opal_backtrace_printstack_DSO" = "1"; then MCA_BUILD_opal_backtrace_printstack_DSO_TRUE= MCA_BUILD_opal_backtrace_printstack_DSO_FALSE='#' else MCA_BUILD_opal_backtrace_printstack_DSO_TRUE='#' MCA_BUILD_opal_backtrace_printstack_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test $components_last_result -eq 1 then : components_looking_for_succeed=0 fi opal_show_subsubsubtitle "MCA component backtrace:none (m4 configuration macro, priority 0)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/backtrace/none" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_backtrace" ; then if test "$DIRECT_backtrace" = "none" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_backtrace" = "1" then : want_component=0 fi if test "${DISABLE_backtrace_none}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_backtrace_none_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} component_compile_mode_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component backtrace:none compile mode" >&5 printf %s "checking for MCA component backtrace:none compile mode... " >&6; } component_compile_mode_tmp="static" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $component_compile_mode_tmp" >&5 printf "%s\n" "$component_compile_mode_tmp" >&6; } eval opal_backtrace_none_compile_mode=\$$component_compile_mode_tmp opal_var_scope_pop component_compile_mode_tmp ;; esac fi compile_mode=$opal_backtrace_none_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/backtrace/none/Makefile" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/backtrace/none/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components none" if test "$compile_mode" = "dso" ; then dso_components="$dso_components none" else if test "backtrace" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/backtrace/none/lib${OPAL_LIB_NAME}mca_backtrace_none.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/backtrace/none/libmca_backtrace_none.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_backtrace_none_component;" >> $outfile.extern echo " &mca_backtrace_none_component, " >> $outfile.struct static_components="$static_components none" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component backtrace:none can compile" >&5 printf %s "checking if MCA component backtrace:none can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_backtrace" = "none" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_backtrace_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** backtrace component none was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_backtrace" = "none" ; then as_fn_error $? "*** backtrace component none was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${backtrace_none_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${backtrace_none_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${backtrace_none_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${backtrace_none_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${backtrace_none_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${backtrace_none_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$backtrace_none_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=1 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $backtrace_none_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring backtrace_none_WRAPPER_EXTRA_CPPFLAGS ($backtrace_none_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring backtrace_none_WRAPPER_EXTRA_CPPFLAGS ($backtrace_none_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component backtrace:none can compile" >&5 printf %s "checking if MCA component backtrace:none can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_backtrace" = "none" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"none\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"none\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_backtrace" ; then if test "$DIRECT_backtrace" = "none" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"none\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"none\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components none" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_backtrace_none_DSO=1 else case e in @%:@( e) BUILD_opal_backtrace_none_DSO=0 ;; esac fi if test "$BUILD_opal_backtrace_none_DSO" = "1"; then MCA_BUILD_opal_backtrace_none_DSO_TRUE= MCA_BUILD_opal_backtrace_none_DSO_FALSE='#' else MCA_BUILD_opal_backtrace_none_DSO_TRUE='#' MCA_BUILD_opal_backtrace_none_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test $components_last_result -eq 1 then : components_looking_for_succeed=0 fi if test ${DIRECT_backtrace+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for backtrace framework" >&5 printf %s "checking if direct-selection component exists for backtrace framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_backtrace" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_backtrace requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_backtrace" >&5 printf "%s\n" "$DIRECT_backtrace" >&6; } fi MCA_opal_backtrace_ALL_COMPONENTS="$all_components" MCA_opal_backtrace_STATIC_COMPONENTS="$static_components" MCA_opal_backtrace_DSO_COMPONENTS="$dso_components" MCA_opal_backtrace_STATIC_LTLIBS="$static_ltlibs" MCA_opal_backtrace_ALL_SUBDIRS= for item in $all_components ; do MCA_opal_backtrace_ALL_SUBDIRS="$MCA_opal_backtrace_ALL_SUBDIRS mca/backtrace/$item" done MCA_opal_backtrace_STATIC_SUBDIRS= for item in $static_components ; do MCA_opal_backtrace_STATIC_SUBDIRS="$MCA_opal_backtrace_STATIC_SUBDIRS mca/backtrace/$item" done MCA_opal_backtrace_DSO_SUBDIRS= for item in $dso_components ; do MCA_opal_backtrace_DSO_SUBDIRS="$MCA_opal_backtrace_DSO_SUBDIRS mca/backtrace/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "backtrace" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real MCA_opal_FRAMEWORKS="$MCA_opal_FRAMEWORKS btl" MCA_opal_FRAMEWORKS_SUBDIRS="$MCA_opal_FRAMEWORKS_SUBDIRS mca/btl" MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_opal_btl_ALL_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_opal_btl_DSO_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_opal_btl_STATIC_SUBDIRS)" mca_opal_framework_base_lib="mca/btl/libmca_btl.la" MCA_opal_FRAMEWORK_LIBS="$MCA_opal_FRAMEWORK_LIBS ${mca_opal_framework_base_lib} \$(MCA_opal_btl_STATIC_LTLIBS)" opal_show_subsubtitle "Configuring MCA framework btl" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=opal/mca/btl/base as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files opal/mca/btl/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework btl" >&5 printf %s "checking for no configure components in framework btl... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: self" >&5 printf "%s\n" "self" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework btl" >&5 printf %s "checking for m4 configure components in framework btl... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ofi, portals4, sm, smcuda, tcp, uct, ugni, usnic" >&5 printf "%s\n" "ofi, portals4, sm, smcuda, tcp, uct, ugni, usnic" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components opal_show_subsubsubtitle "MCA component btl:self (no configuration)" opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: before, should_build=1" component_path="$srcdir/opal/mca/btl/self" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_btl" ; then if test "$DIRECT_btl" = "self" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_btl" = "1" then : want_component=0 fi if test "${DISABLE_btl_self}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=1 else case e in @%:@( e) should_build=0 ;; esac fi if test ${opal_btl_self_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_btl" SHARED_COMPONENT="$DSO_btl_self" STATIC_FRAMEWORK="$STATIC_btl" STATIC_COMPONENT="$STATIC_btl_self" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_btl_self_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component btl:self compile mode" >&5 printf %s "checking for MCA component btl:self compile mode... " >&6; } if test "$DIRECT_btl" = "self" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$opal_btl_self_compile_mode opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" ; then # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/btl/self/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components self" if test "$compile_mode" = "dso" ; then dso_components="$dso_components self" else if test "btl" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/btl/self/lib${OPAL_LIB_NAME}mca_btl_self.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/btl/self/libmca_btl_self.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_btl_self_component;" >> $outfile.extern echo " &mca_btl_self_component, " >> $outfile.struct static_components="$static_components self" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component btl:self can compile" >&5 printf %s "checking if MCA component btl:self can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_btl" = "self" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_btl_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** btl component self was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_btl" = "self" ; then as_fn_error $? "*** btl component self was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${btl_self_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${btl_self_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${btl_self_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${btl_self_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${btl_self_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${btl_self_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$btl_self_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $btl_self_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring btl_self_WRAPPER_EXTRA_CPPFLAGS ($btl_self_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring btl_self_WRAPPER_EXTRA_CPPFLAGS ($btl_self_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component btl:self can compile" >&5 printf %s "checking if MCA component btl:self can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_btl" = "self" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"self\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"self\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_btl" ; then if test "$DIRECT_btl" = "self" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"self\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"self\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components self" fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" ; then BUILD_opal_btl_self_DSO=1 else BUILD_opal_btl_self_DSO=0 fi if test "$BUILD_opal_btl_self_DSO" = "1"; then MCA_BUILD_opal_btl_self_DSO_TRUE= MCA_BUILD_opal_btl_self_DSO_FALSE='#' else MCA_BUILD_opal_btl_self_DSO_TRUE='#' MCA_BUILD_opal_btl_self_DSO_FALSE= fi ac_config_files="$ac_config_files opal/mca/btl/self/Makefile" unset compile_mode # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=1 components_last_result=0 opal_show_subsubsubtitle "MCA component btl:ofi (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/btl/ofi" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_btl" ; then if test "$DIRECT_btl" = "ofi" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_btl" = "1" then : want_component=0 fi if test "${DISABLE_btl_ofi}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_btl_ofi_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_btl" SHARED_COMPONENT="$DSO_btl_ofi" STATIC_FRAMEWORK="$STATIC_btl" STATIC_COMPONENT="$STATIC_btl_ofi" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_btl_ofi_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component btl:ofi compile mode" >&5 printf %s "checking for MCA component btl:ofi compile mode... " >&6; } if test "$DIRECT_btl" = "ofi" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$opal_btl_ofi_compile_mode # try to configure the component opal_var_scope_push ${LINENO} btl_ofi_happy CPPFLAGS_save ac_config_files="$ac_config_files opal/mca/btl/ofi/Makefile" # Check for OFI opal_var_scope_push ${LINENO} opal_check_ofi_save_CPPFLAGS opal_check_ofi_save_LDFLAGS opal_check_ofi_save_LIBS opal_check_fi_info_pci # Add --with options @%:@ Check whether --with-libfabric was given. if test ${with_libfabric+y} then : withval=$with_libfabric; fi @%:@ Check whether --with-libfabric-libdir was given. if test ${with_libfabric_libdir+y} then : withval=$with_libfabric_libdir; fi @%:@ Check whether --with-ofi was given. if test ${with_ofi+y} then : withval=$with_ofi; fi @%:@ Check whether --with-ofi-libdir was given. if test ${with_ofi_libdir+y} then : withval=$with_ofi_libdir; fi if test -z "${with_ofi}" then : with_ofi=${with_libfabric} fi if test -z "${with_ofi_libdir}" then : with_ofi_libdir=${with_libfabric_libdir} fi opal_check_ofi_save_CPPFLAGS=${CPPFLAGS} opal_check_ofi_save_LDFLAGS=${LDFLAGS} opal_check_ofi_save_LIBS=${LIBS} opal_check_fi_info_pci=0 # ****************************** START CHECK PACKAGE FOR ofi ****************************** oac_var_scope_push ${LINENO} check_package_btl_ofi_save_CPPFLAGS check_package_btl_ofi_save_LDFLAGS check_package_btl_ofi_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_btl_ofi_save_CPPFLAGS="${CPPFLAGS}" check_package_btl_ofi_save_LDFLAGS="${LDFLAGS}" check_package_btl_ofi_save_LIBS="${LIBS}" btl_ofi_CPPFLAGS= btl_ofi_LDFLAGS= btl_ofi_STATIC_LDFLAGS= btl_ofi_LIBS= btl_ofi_STATIC_LIBS= { btl_ofi_PC_MODULES=; unset btl_ofi_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_ofi" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package ofi disabled by user" >&5 printf "%s\n" "$as_me: Package ofi disabled by user" >&6;} check_package_happy=0 elif test "${with_ofi}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_ofi}" ;; esac fi check_package_libdir= if test "${with_ofi_libdir}" = "no" -o "${with_ofi_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-ofi-libdir" "$LINENO" 5 elif test -n "${with_ofi_libdir}" then : check_package_libdir="${with_ofi_libdir}" fi check_package_incdir= if test "${with_ofi_incdir}" = "no" -o "${with_ofi_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-ofi-incdir" "$LINENO" 5 elif test -n "${with_ofi_incdir}" then : check_package_incdir="${with_ofi_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${ofi_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-ofi or --with-ofi-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-ofi only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi pkg-config name" >&5 printf %s "checking for ofi pkg-config name... " >&6; } if test ${oac_cv_check_package_ofi_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_ofi_pcfilename="libfabric" if test -n "${check_package_libdir}" then : oac_cv_check_package_ofi_pcfilename="${check_package_libdir}/pkgconfig/libfabric.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_ofi_pcfilename="libfabric" elif test -r "${check_package_prefix}/lib/pkgconfig/libfabric.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/libfabric.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found libfabric in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-ofi-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_ofi_pcfilename="${check_package_prefix}/lib/pkgconfig/libfabric.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/libfabric.pc" then : oac_cv_check_package_ofi_pcfilename="${check_package_prefix}/lib64/pkgconfig/libfabric.pc" else case e in @%:@( e) oac_cv_check_package_ofi_pcfilename="${check_package_prefix}/lib/pkgconfig/libfabric.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_ofi_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ofi pkg-config module exists" >&5 printf %s "checking if ofi pkg-config module exists... " >&6; } if test ${oac_cv_check_package_ofi_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_ofi_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_ofi_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : btl_ofi_PC_MODULES=${oac_cv_check_package_ofi_pcfilename} oac_cv_check_package_ofi_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_ofi_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_ofi_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_ofi_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi pkg-config cflags" >&5 printf %s "checking for ofi pkg-config cflags... " >&6; } if test ${oac_cv_check_package_ofi_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_ofi_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_ofi_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ofi_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_ofi_pkg_config_cppflags" >&6; } btl_ofi_CPPFLAGS="${oac_cv_check_package_ofi_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi pkg-config ldflags" >&5 printf %s "checking for ofi pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_ofi_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_ofi_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_ofi_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ofi_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ofi_pkg_config_ldflags" >&6; } btl_ofi_LDFLAGS="${oac_cv_check_package_ofi_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi pkg-config static ldflags" >&5 printf %s "checking for ofi pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_ofi_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_ofi_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_ofi_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ofi_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ofi_pkg_config_static_ldflags" >&6; } btl_ofi_STATIC_LDFLAGS="${oac_cv_check_package_ofi_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi pkg-config libs" >&5 printf %s "checking for ofi pkg-config libs... " >&6; } if test ${oac_cv_check_package_ofi_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_ofi_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_ofi_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ofi_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_ofi_pkg_config_libs" >&6; } btl_ofi_LIBS="${oac_cv_check_package_ofi_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi pkg-config static libs" >&5 printf %s "checking for ofi pkg-config static libs... " >&6; } if test ${oac_cv_check_package_ofi_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_ofi_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_ofi_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ofi_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_ofi_pkg_config_static_libs" >&6; } btl_ofi_STATIC_LIBS="${oac_cv_check_package_ofi_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${ofi_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-ofi argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi wrapper compiler" >&5 printf %s "checking for ofi wrapper compiler... " >&6; } if test ${oac_cv_check_package_ofi_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_ofi_wrapper_compiler="oficc" else case e in @%:@( e) oac_cv_check_package_ofi_wrapper_compiler="${check_package_prefix}/bin/oficc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_ofi_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ofi wrapper compiler works" >&5 printf %s "checking if ofi wrapper compiler works... " >&6; } if test ${oac_cv_check_package_ofi_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_ofi_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_ofi_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_ofi_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_ofi_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi wrapper compiler cppflags" >&5 printf %s "checking for ofi wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_ofi_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ofi_wrapper_compiler_cppflags}" then : oac_cv_check_package_ofi_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ofi_wrapper_compiler_cppflags="${oac_cv_check_package_ofi_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_ofi_wrapper_compiler_cppflags" >&6; } btl_ofi_CPPFLAGS="${oac_cv_check_package_ofi_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi wrapper compiler ldflags" >&5 printf %s "checking for ofi wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_ofi_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ofi_wrapper_compiler_ldflags}" then : oac_cv_check_package_ofi_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ofi_wrapper_compiler_ldflags="${oac_cv_check_package_ofi_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ofi_wrapper_compiler_ldflags" >&6; } btl_ofi_LDFLAGS="${oac_cv_check_package_ofi_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi wrapper compiler static ldflags" >&5 printf %s "checking for ofi wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_ofi_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ofi_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_ofi_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ofi_wrapper_compiler_static_ldflags="${oac_cv_check_package_ofi_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ofi_wrapper_compiler_static_ldflags" >&6; } btl_ofi_STATIC_LDFLAGS="${oac_cv_check_package_ofi_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi wrapper compiler libs" >&5 printf %s "checking for ofi wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_ofi_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ofi_wrapper_compiler_libs}" then : oac_cv_check_package_ofi_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ofi_wrapper_compiler_libs="${oac_cv_check_package_ofi_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_ofi_wrapper_compiler_libs" >&6; } btl_ofi_LIBS="$oac_cv_check_package_ofi_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi wrapper compiler static libs" >&5 printf %s "checking for ofi wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_ofi_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ofi_wrapper_compiler_static_libs}" then : oac_cv_check_package_ofi_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ofi_wrapper_compiler_static_libs="${oac_cv_check_package_ofi_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_ofi_wrapper_compiler_static_libs" >&6; } btl_ofi_STATIC_LIBS="${oac_cv_check_package_ofi_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "rdma/fabric.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "fabric" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi header at ${check_package_generic_incdir}" >&5 printf %s "checking for ofi header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 btl_ofi_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for ofi library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 btl_ofi_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for ofi library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-ofi-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 btl_ofi_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 btl_ofi_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 btl_ofi_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for ofi in default search paths" >&5 printf "%s\n" "$as_me: Searching for ofi in default search paths" >&6;} ofi_CPPFLAGS= ofi_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in fabric ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${btl_ofi_LIBS}" then : btl_ofi_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) btl_ofi_LIBS="${btl_ofi_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${btl_ofi_STATIC_LIBS}" then : btl_ofi_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) btl_ofi_STATIC_LIBS="${btl_ofi_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi cppflags" >&5 printf %s "checking for ofi cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $btl_ofi_CPPFLAGS" >&5 printf "%s\n" "$btl_ofi_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi ldflags" >&5 printf %s "checking for ofi ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $btl_ofi_LDFLAGS" >&5 printf "%s\n" "$btl_ofi_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi libs" >&5 printf %s "checking for ofi libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $btl_ofi_LIBS" >&5 printf "%s\n" "$btl_ofi_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi static libs" >&5 printf %s "checking for ofi static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $btl_ofi_STATIC_LIBS" >&5 printf "%s\n" "$btl_ofi_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${btl_ofi_LDFLAGS}" then : btl_ofi_LDFLAGS="${btl_ofi_STATIC_LDFLAGS}" else case e in @%:@( e) btl_ofi_LDFLAGS="${btl_ofi_LDFLAGS} ${btl_ofi_STATIC_LDFLAGS}" ;; esac fi if test -z "${btl_ofi_LIBS}" then : btl_ofi_LIBS="${btl_ofi_STATIC_LIBS}" else case e in @%:@( e) btl_ofi_LIBS="${btl_ofi_LIBS} ${btl_ofi_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "rdma/fabric.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${btl_ofi_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${btl_ofi_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${btl_ofi_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${btl_ofi_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${btl_ofi_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${btl_ofi_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "fi_getinfo" "ac_cv_func_fi_getinfo" if test "x$ac_cv_func_fi_getinfo" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ofi requires libnl v1 or v3" >&5 printf %s "checking if ofi requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_ofi+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void fi_getinfo (void); int main(int argc, char *argv[]) { fi_getinfo (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib ofi" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib ofi" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_ofi=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_ofi" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_ofi" >&6; } result_msg=$opal_libnl_sanity_check_cv_ofi this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, ofi links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, ofi links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libofi (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libofi (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libofi." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libofi." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas ofi requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas ofi requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libofi (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libofi (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libofi." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libofi." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs ofi" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas ofi requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas ofi requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libofi (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libofi (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libofi." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libofi." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs ofi" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi btl_ofi_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : btl_ofi_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) btl_ofi_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi opal_ofi_happy=yes else case e in @%:@( e) if test "${with_ofi}" = "no" then : btl_ofi_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) btl_ofi_SUMMARY="no (not found)" ;; esac fi { btl_ofi_CPPFLAGS=; unset btl_ofi_CPPFLAGS;} { btl_ofi_LDFLAGS=; unset btl_ofi_LDFLAGS;} { btl_ofi_STATIC_LDFLAGS=; unset btl_ofi_STATIC_LDFLAGS;} { btl_ofi_LIBS=; unset btl_ofi_LIBS;} { btl_ofi_STATIC_LIBS=; unset btl_ofi_STATIC_LIBS;} opal_ofi_happy=no ;; esac fi CPPFLAGS="${check_package_btl_ofi_save_CPPFLAGS}" LDFLAGS="${check_package_btl_ofi_save_LDFLAGS}" LIBS="${check_package_btl_ofi_save_LIBS}" oac_var_scope_pop check_package_btl_ofi_save_CPPFLAGS check_package_btl_ofi_save_LDFLAGS check_package_btl_ofi_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR ofi ****************************** oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${btl_ofi_CPPFLAGS}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${CPPFLAGS}; 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 "${CPPFLAGS}" then : CPPFLAGS="$oac_list_arg" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test $opal_ofi_happy = yes then : ac_fn_c_check_header_compile "$LINENO" "rdma/fi_ext.h" "ac_cv_header_rdma_fi_ext_h" "$ac_includes_default" if test "x$ac_cv_header_rdma_fi_ext_h" = xyes then : printf "%s\n" "@%:@define HAVE_RDMA_FI_EXT_H 1" >>confdefs.h fi ac_fn_c_check_member "$LINENO" "struct fi_info" "nic" "ac_cv_member_struct_fi_info_nic" "#include " if test "x$ac_cv_member_struct_fi_info_nic" = xyes then : opal_check_fi_info_pci=1 else case e in @%:@( e) opal_check_fi_info_pci=0 ;; esac fi printf "%s\n" "@%:@define OPAL_OFI_PCI_DATA_AVAILABLE ${opal_check_fi_info_pci}" >>confdefs.h ac_fn_check_decl "$LINENO" "FI_OPT_FI_HMEM_P2P" "ac_cv_have_decl_FI_OPT_FI_HMEM_P2P" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_FI_OPT_FI_HMEM_P2P" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_FI_OPT_FI_HMEM_P2P $ac_have_decl" >>confdefs.h ac_fn_c_check_type "$LINENO" "struct fi_ops_mem_monitor" "ac_cv_type_struct_fi_ops_mem_monitor" "#ifdef HAVE_RDMA_FI_EXT_H #include #endif " if test "x$ac_cv_type_struct_fi_ops_mem_monitor" = xyes then : printf "%s\n" "@%:@define HAVE_STRUCT_FI_OPS_MEM_MONITOR 1" >>confdefs.h fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${opal_pmix_CPPFLAGS}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${CPPFLAGS}; 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 "${CPPFLAGS}" then : CPPFLAGS="$oac_list_arg" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val ac_fn_check_decl "$LINENO" "PMIX_PACKAGE_RANK" "ac_cv_have_decl_PMIX_PACKAGE_RANK" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_PMIX_PACKAGE_RANK" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_PMIX_PACKAGE_RANK $ac_have_decl" >>confdefs.h ac_fn_c_check_member "$LINENO" "struct fi_mr_attr" "iface" "ac_cv_member_struct_fi_mr_attr_iface" "#include " if test "x$ac_cv_member_struct_fi_mr_attr_iface" = xyes then : opal_check_fi_mr_attr_iface=1 else case e in @%:@( e) opal_check_fi_mr_attr_iface=0 ;; esac fi printf "%s\n" "@%:@define OPAL_OFI_HAVE_FI_MR_IFACE ${opal_check_fi_mr_attr_iface}" >>confdefs.h ac_fn_check_decl "$LINENO" "FI_HMEM_ROCR" "ac_cv_have_decl_FI_HMEM_ROCR" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_FI_HMEM_ROCR" = xyes then : opal_check_fi_hmem_rocr=1 else case e in @%:@( e) opal_check_fi_hmem_rocr=0 ;; esac fi printf "%s\n" "@%:@define OPAL_OFI_HAVE_FI_HMEM_ROCR ${opal_check_fi_hmem_rocr}" >>confdefs.h fi CPPFLAGS=${opal_check_ofi_save_CPPFLAGS} LDFLAGS=${opal_check_ofi_save_LDFLAGS} LIBS=${opal_check_ofi_save_LIBS} opal_ofi_internal_CPPFLAGS="${btl_ofi_CPPFLAGS}" 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="OpenFabrics OFI Libfabric: ${btl_ofi_SUMMARY}" oac_summary_key="TransportsOpenFabrics_OFI_Libfabric" # Use the section name variable as an indicator for whether or not # the section has already been created. if test ${oac_summary_section_Transports_name+y} then : else case e in @%:@( e) oac_summary_section_Transports_name="Transports" if test -z "${oac_summary_sections}" then : oac_summary_sections="Transports" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} Transports" ;; esac fi ;; esac 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 case e in @%:@( e) eval "${oac_summary_key}=1" if test ${oac_summary_section_Transports_value+y} then : as_fn_append oac_summary_section_Transports_value "${oac_summary_newline}${oac_summary_line}" else case e in @%:@( e) oac_summary_section_Transports_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key if test "${opal_ofi_happy}" = "yes" then : btl_ofi_happy=1 else case e in @%:@( e) if test -n "${with_ofi}" && test "${with_ofi}" != "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: OFI libfabric support requested (via --with-ofi or --with-libfabric), but not found." >&5 printf "%s\n" "$as_me: WARNING: OFI libfabric support requested (via --with-ofi or --with-libfabric), but not found." >&2;} as_fn_error $? "Cannot continue." "$LINENO" 5 fi btl_ofi_happy=0 ;; esac fi opal_var_scope_pop opal_check_ofi_save_CPPFLAGS opal_check_ofi_save_LDFLAGS opal_check_ofi_save_LIBS opal_check_fi_info_pci if test ${btl_ofi_happy} -eq 1 then : CPPFLAGS_save=${CPPFLAGS} oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${btl_ofi_CPPFLAGS}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${CPPFLAGS}; 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 "${CPPFLAGS}" then : CPPFLAGS="$oac_list_arg" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val ac_fn_check_decl "$LINENO" "FI_MR_VIRT_ADDR" "ac_cv_have_decl_FI_MR_VIRT_ADDR" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_FI_MR_VIRT_ADDR" = xyes then : else case e in @%:@( e) btl_ofi_happy=0 ;; esac fi CPPFLAGS=${CPPFLAGS_save} fi if test ${btl_ofi_happy} -eq 1 then : opal_var_scope_push ${LINENO} component_compile_mode dependency_compile_mode if test ${opal_btl_ofi_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_btl" SHARED_COMPONENT="$DSO_btl_ofi" STATIC_FRAMEWORK="$STATIC_btl" STATIC_COMPONENT="$STATIC_btl_ofi" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_btl_ofi_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component btl:ofi compile mode" >&5 printf %s "checking for MCA component btl:ofi compile mode... " >&6; } if test "$DIRECT_btl" = "ofi" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi component_compile_mode=$opal_btl_ofi_compile_mode if test ${opal_common_ofi_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_common" SHARED_COMPONENT="$DSO_common_ofi" STATIC_FRAMEWORK="$STATIC_common" STATIC_COMPONENT="$STATIC_common_ofi" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_common_ofi_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component common:ofi compile mode" >&5 printf %s "checking for MCA component common:ofi compile mode... " >&6; } if test "$DIRECT_common" = "ofi" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi dependency_compile_mode=$opal_common_ofi_compile_mode if test "${component_compile_mode}" = "static" -a "${dependency_compile_mode}" = "dso" then : as_fn_error $? "Component btl:ofi is set to build as a static component, but its dependency common:ofi is set to build as a dynamic component. This configuration is not supported. Please either build common:ofi as a static component or build btl:ofi as a dynamic component." "$LINENO" 5 fi opal_var_scope_pop component_compile_mode dependency_compile_mode fi if test ${btl_ofi_happy} -eq 1 then : should_build=$should_build else case e in @%:@( e) if test -n "${with_ofi}" -a "${with_ofi}" != "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: OFI libfabric support requested (via --with-ofi or --with-libfabric), but not found." >&5 printf "%s\n" "$as_me: WARNING: OFI libfabric support requested (via --with-ofi or --with-libfabric), but not found." >&2;} as_fn_error $? "Cannot continue." "$LINENO" 5 fi should_build=0 ;; esac fi opal_var_scope_pop btl_ofi_happy CPPFLAGS_save opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/btl/ofi/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components ofi" if test "$compile_mode" = "dso" ; then dso_components="$dso_components ofi" else if test "btl" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/btl/ofi/lib${OPAL_LIB_NAME}mca_btl_ofi.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/btl/ofi/libmca_btl_ofi.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_btl_ofi_component;" >> $outfile.extern echo " &mca_btl_ofi_component, " >> $outfile.struct static_components="$static_components ofi" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component btl:ofi can compile" >&5 printf %s "checking if MCA component btl:ofi can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_btl" = "ofi" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_btl_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** btl component ofi was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_btl" = "ofi" ; then as_fn_error $? "*** btl component ofi was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${btl_ofi_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${btl_ofi_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${btl_ofi_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${btl_ofi_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${btl_ofi_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${btl_ofi_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$btl_ofi_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $btl_ofi_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring btl_ofi_WRAPPER_EXTRA_CPPFLAGS ($btl_ofi_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring btl_ofi_WRAPPER_EXTRA_CPPFLAGS ($btl_ofi_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component btl:ofi can compile" >&5 printf %s "checking if MCA component btl:ofi can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_btl" = "ofi" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ofi\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ofi\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_btl" ; then if test "$DIRECT_btl" = "ofi" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ofi\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ofi\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components ofi" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_btl_ofi_DSO=1 else case e in @%:@( e) BUILD_opal_btl_ofi_DSO=0 ;; esac fi if test "$BUILD_opal_btl_ofi_DSO" = "1"; then MCA_BUILD_opal_btl_ofi_DSO_TRUE= MCA_BUILD_opal_btl_ofi_DSO_FALSE='#' else MCA_BUILD_opal_btl_ofi_DSO_TRUE='#' MCA_BUILD_opal_btl_ofi_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component btl:portals4 (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/btl/portals4" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_btl" ; then if test "$DIRECT_btl" = "portals4" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_btl" = "1" then : want_component=0 fi if test "${DISABLE_btl_portals4}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_btl_portals4_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_btl" SHARED_COMPONENT="$DSO_btl_portals4" STATIC_FRAMEWORK="$STATIC_btl" STATIC_COMPONENT="$STATIC_btl_portals4" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_btl_portals4_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component btl:portals4 compile mode" >&5 printf %s "checking for MCA component btl:portals4 compile mode... " >&6; } if test "$DIRECT_btl" = "portals4" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$opal_btl_portals4_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/btl/portals4/Makefile" opal_var_scope_push ${LINENO} ompi_check_portals4_happy max_md_size max_va_size @%:@ Check whether --with-portals4 was given. if test ${with_portals4+y} then : withval=$with_portals4; fi @%:@ Check whether --with-portals4-libdir was given. if test ${with_portals4_libdir+y} then : withval=$with_portals4_libdir; fi # ****************************** START CHECK PACKAGE FOR portals4 ****************************** oac_var_scope_push ${LINENO} check_package_btl_portals4_save_CPPFLAGS check_package_btl_portals4_save_LDFLAGS check_package_btl_portals4_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_btl_portals4_save_CPPFLAGS="${CPPFLAGS}" check_package_btl_portals4_save_LDFLAGS="${LDFLAGS}" check_package_btl_portals4_save_LIBS="${LIBS}" btl_portals4_CPPFLAGS= btl_portals4_LDFLAGS= btl_portals4_STATIC_LDFLAGS= btl_portals4_LIBS= btl_portals4_STATIC_LIBS= { btl_portals4_PC_MODULES=; unset btl_portals4_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_portals4" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package portals4 disabled by user" >&5 printf "%s\n" "$as_me: Package portals4 disabled by user" >&6;} check_package_happy=0 elif test "${with_portals4}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_portals4}" ;; esac fi check_package_libdir= if test "${with_portals4_libdir}" = "no" -o "${with_portals4_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-portals4-libdir" "$LINENO" 5 elif test -n "${with_portals4_libdir}" then : check_package_libdir="${with_portals4_libdir}" fi check_package_incdir= if test "${with_portals4_incdir}" = "no" -o "${with_portals4_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-portals4-incdir" "$LINENO" 5 elif test -n "${with_portals4_incdir}" then : check_package_incdir="${with_portals4_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${portals4_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-portals4 or --with-portals4-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-portals4 only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 pkg-config name" >&5 printf %s "checking for portals4 pkg-config name... " >&6; } if test ${oac_cv_check_package_portals4_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_portals4_pcfilename="portals4" if test -n "${check_package_libdir}" then : oac_cv_check_package_portals4_pcfilename="${check_package_libdir}/pkgconfig/portals4.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_portals4_pcfilename="portals4" elif test -r "${check_package_prefix}/lib/pkgconfig/portals4.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/portals4.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found portals4 in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-portals4-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_portals4_pcfilename="${check_package_prefix}/lib/pkgconfig/portals4.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/portals4.pc" then : oac_cv_check_package_portals4_pcfilename="${check_package_prefix}/lib64/pkgconfig/portals4.pc" else case e in @%:@( e) oac_cv_check_package_portals4_pcfilename="${check_package_prefix}/lib/pkgconfig/portals4.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_portals4_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if portals4 pkg-config module exists" >&5 printf %s "checking if portals4 pkg-config module exists... " >&6; } if test ${oac_cv_check_package_portals4_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_portals4_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_portals4_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : btl_portals4_PC_MODULES=${oac_cv_check_package_portals4_pcfilename} oac_cv_check_package_portals4_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_portals4_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_portals4_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_portals4_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 pkg-config cflags" >&5 printf %s "checking for portals4 pkg-config cflags... " >&6; } if test ${oac_cv_check_package_portals4_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_portals4_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_portals4_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_portals4_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_portals4_pkg_config_cppflags" >&6; } btl_portals4_CPPFLAGS="${oac_cv_check_package_portals4_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 pkg-config ldflags" >&5 printf %s "checking for portals4 pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_portals4_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_portals4_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_portals4_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_portals4_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_portals4_pkg_config_ldflags" >&6; } btl_portals4_LDFLAGS="${oac_cv_check_package_portals4_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 pkg-config static ldflags" >&5 printf %s "checking for portals4 pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_portals4_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_portals4_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_portals4_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_portals4_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_portals4_pkg_config_static_ldflags" >&6; } btl_portals4_STATIC_LDFLAGS="${oac_cv_check_package_portals4_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 pkg-config libs" >&5 printf %s "checking for portals4 pkg-config libs... " >&6; } if test ${oac_cv_check_package_portals4_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_portals4_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_portals4_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_portals4_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_portals4_pkg_config_libs" >&6; } btl_portals4_LIBS="${oac_cv_check_package_portals4_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 pkg-config static libs" >&5 printf %s "checking for portals4 pkg-config static libs... " >&6; } if test ${oac_cv_check_package_portals4_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_portals4_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_portals4_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_portals4_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_portals4_pkg_config_static_libs" >&6; } btl_portals4_STATIC_LIBS="${oac_cv_check_package_portals4_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${portals4_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-portals4 argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 wrapper compiler" >&5 printf %s "checking for portals4 wrapper compiler... " >&6; } if test ${oac_cv_check_package_portals4_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_portals4_wrapper_compiler="portals4cc" else case e in @%:@( e) oac_cv_check_package_portals4_wrapper_compiler="${check_package_prefix}/bin/portals4cc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_portals4_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if portals4 wrapper compiler works" >&5 printf %s "checking if portals4 wrapper compiler works... " >&6; } if test ${oac_cv_check_package_portals4_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_portals4_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_portals4_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_portals4_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_portals4_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 wrapper compiler cppflags" >&5 printf %s "checking for portals4 wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_portals4_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_portals4_wrapper_compiler_cppflags}" then : oac_cv_check_package_portals4_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_portals4_wrapper_compiler_cppflags="${oac_cv_check_package_portals4_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_portals4_wrapper_compiler_cppflags" >&6; } btl_portals4_CPPFLAGS="${oac_cv_check_package_portals4_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 wrapper compiler ldflags" >&5 printf %s "checking for portals4 wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_portals4_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_portals4_wrapper_compiler_ldflags}" then : oac_cv_check_package_portals4_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_portals4_wrapper_compiler_ldflags="${oac_cv_check_package_portals4_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_portals4_wrapper_compiler_ldflags" >&6; } btl_portals4_LDFLAGS="${oac_cv_check_package_portals4_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 wrapper compiler static ldflags" >&5 printf %s "checking for portals4 wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_portals4_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_portals4_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_portals4_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_portals4_wrapper_compiler_static_ldflags="${oac_cv_check_package_portals4_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_portals4_wrapper_compiler_static_ldflags" >&6; } btl_portals4_STATIC_LDFLAGS="${oac_cv_check_package_portals4_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 wrapper compiler libs" >&5 printf %s "checking for portals4 wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_portals4_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_portals4_wrapper_compiler_libs}" then : oac_cv_check_package_portals4_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_portals4_wrapper_compiler_libs="${oac_cv_check_package_portals4_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_portals4_wrapper_compiler_libs" >&6; } btl_portals4_LIBS="$oac_cv_check_package_portals4_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 wrapper compiler static libs" >&5 printf %s "checking for portals4 wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_portals4_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_portals4_wrapper_compiler_static_libs}" then : oac_cv_check_package_portals4_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_portals4_wrapper_compiler_static_libs="${oac_cv_check_package_portals4_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_portals4_wrapper_compiler_static_libs" >&6; } btl_portals4_STATIC_LIBS="${oac_cv_check_package_portals4_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "portals4.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "portals" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 header at ${check_package_generic_incdir}" >&5 printf %s "checking for portals4 header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 btl_portals4_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for portals4 library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 btl_portals4_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for portals4 library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-portals4-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 btl_portals4_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 btl_portals4_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 btl_portals4_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for portals4 in default search paths" >&5 printf "%s\n" "$as_me: Searching for portals4 in default search paths" >&6;} portals4_CPPFLAGS= portals4_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in portals ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${btl_portals4_LIBS}" then : btl_portals4_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) btl_portals4_LIBS="${btl_portals4_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${btl_portals4_STATIC_LIBS}" then : btl_portals4_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) btl_portals4_STATIC_LIBS="${btl_portals4_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 cppflags" >&5 printf %s "checking for portals4 cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $btl_portals4_CPPFLAGS" >&5 printf "%s\n" "$btl_portals4_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 ldflags" >&5 printf %s "checking for portals4 ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $btl_portals4_LDFLAGS" >&5 printf "%s\n" "$btl_portals4_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 libs" >&5 printf %s "checking for portals4 libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $btl_portals4_LIBS" >&5 printf "%s\n" "$btl_portals4_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 static libs" >&5 printf %s "checking for portals4 static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $btl_portals4_STATIC_LIBS" >&5 printf "%s\n" "$btl_portals4_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${btl_portals4_LDFLAGS}" then : btl_portals4_LDFLAGS="${btl_portals4_STATIC_LDFLAGS}" else case e in @%:@( e) btl_portals4_LDFLAGS="${btl_portals4_LDFLAGS} ${btl_portals4_STATIC_LDFLAGS}" ;; esac fi if test -z "${btl_portals4_LIBS}" then : btl_portals4_LIBS="${btl_portals4_STATIC_LIBS}" else case e in @%:@( e) btl_portals4_LIBS="${btl_portals4_LIBS} ${btl_portals4_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "portals4.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${btl_portals4_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${btl_portals4_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${btl_portals4_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${btl_portals4_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${btl_portals4_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${btl_portals4_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "PtlLEAppend" "ac_cv_func_PtlLEAppend" if test "x$ac_cv_func_PtlLEAppend" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if portals4 requires libnl v1 or v3" >&5 printf %s "checking if portals4 requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_portals4+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void PtlLEAppend (void); int main(int argc, char *argv[]) { PtlLEAppend (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib portals4" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib portals4" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_portals4=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_portals4" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_portals4" >&6; } result_msg=$opal_libnl_sanity_check_cv_portals4 this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, portals4 links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, portals4 links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libportals4 (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libportals4 (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libportals4." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libportals4." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas portals4 requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas portals4 requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libportals4 (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libportals4 (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libportals4." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libportals4." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs portals4" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas portals4 requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas portals4 requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libportals4 (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libportals4 (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libportals4." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libportals4." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs portals4" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi btl_portals4_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : btl_portals4_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) btl_portals4_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi ompi_check_portals4_happy="yes" else case e in @%:@( e) if test "${with_portals4}" = "no" then : btl_portals4_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) btl_portals4_SUMMARY="no (not found)" ;; esac fi { btl_portals4_CPPFLAGS=; unset btl_portals4_CPPFLAGS;} { btl_portals4_LDFLAGS=; unset btl_portals4_LDFLAGS;} { btl_portals4_STATIC_LDFLAGS=; unset btl_portals4_STATIC_LDFLAGS;} { btl_portals4_LIBS=; unset btl_portals4_LIBS;} { btl_portals4_STATIC_LIBS=; unset btl_portals4_STATIC_LIBS;} ompi_check_portals4_happy="no" ;; esac fi CPPFLAGS="${check_package_btl_portals4_save_CPPFLAGS}" LDFLAGS="${check_package_btl_portals4_save_LDFLAGS}" LIBS="${check_package_btl_portals4_save_LIBS}" oac_var_scope_pop check_package_btl_portals4_save_CPPFLAGS check_package_btl_portals4_save_LDFLAGS check_package_btl_portals4_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR portals4 ****************************** max_md_size=0 @%:@ Check whether --with-portals4-max-md-size was given. if test ${with_portals4_max_md_size+y} then : withval=$with_portals4_max_md_size; fi if test "$with_portals4_max_md_size" = "yes" || test "$with_portals4_max_md_size" = "no" then : as_fn_error $? "--with-portals4-max-md-size requires an integer argument" "$LINENO" 5 else case e in @%:@( e) if test -n "$with_portals4_max_md_size" then : max_md_size="$with_portals4_max_md_size" fi ;; esac fi printf "%s\n" "@%:@define OPAL_PORTALS4_MAX_MD_SIZE $max_md_size" >>confdefs.h max_va_size=0 @%:@ Check whether --with-portals4-max-va-size was given. if test ${with_portals4_max_va_size+y} then : withval=$with_portals4_max_va_size; fi if test "$with_portals4_max_va_size" = "yes" || test "$with_portals4_max_va_size" = "no" then : as_fn_error $? "--with-portals4-max-va-size requires an integer argument" "$LINENO" 5 else case e in @%:@( e) if test -n "$with_portals4_max_va_size" then : max_va_size="$with_portals4_max_va_size" fi ;; esac fi printf "%s\n" "@%:@define OPAL_PORTALS4_MAX_VA_SIZE $max_va_size" >>confdefs.h if (test $max_md_size -eq 0 && test $max_va_size -ne 0 ) || (test $max_md_size -ne 0 && test $max_va_size -eq 0 ) then : as_fn_error $? "If either --with-portals4-max-md-size or --with-portals4-max-va-size is set, both must be set." "$LINENO" 5 fi if test $max_md_size -ge $max_va_size then : max_md_size=0 max_va_size=0 fi if test $max_md_size -ne 0 && test $max_va_size -ne 0 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Portals 4 address space size: $max_md_size, $max_va_size" >&5 printf "%s\n" "$as_me: Portals 4 address space size: $max_md_size, $max_va_size" >&6;} fi 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="Portals4: ${btl_portals4_SUMMARY}" oac_summary_key="TransportsPortals4" # Use the section name variable as an indicator for whether or not # the section has already been created. if test ${oac_summary_section_Transports_name+y} then : else case e in @%:@( e) oac_summary_section_Transports_name="Transports" if test -z "${oac_summary_sections}" then : oac_summary_sections="Transports" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} Transports" ;; esac fi ;; esac 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 case e in @%:@( e) eval "${oac_summary_key}=1" if test ${oac_summary_section_Transports_value+y} then : as_fn_append oac_summary_section_Transports_value "${oac_summary_newline}${oac_summary_line}" else case e in @%:@( e) oac_summary_section_Transports_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key if test "$ompi_check_portals4_happy" = "yes" then : btl_portals4_happy="yes" else case e in @%:@( e) if test ! -z "$with_portals4" && test "$with_portals4" != "no" then : as_fn_error $? "Portals4 support requested but not found. Aborting" "$LINENO" 5 fi btl_portals4_happy="no" ;; esac fi opal_var_scope_pop ompi_check_portals4_happy max_md_size max_va_size if test "$btl_portals4_happy" = "yes" then : btl_portals4_WRAPPER_EXTRA_LDFLAGS="$btl_portals4_LDFLAGS" btl_portals4_WRAPPER_EXTRA_LIBS="$btl_portals4_LIBS" should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi # need to propagate CPPFLAGS to all of OPAL if test "$DIRECT_btl" = "portals4" then : CPPFLAGS="$CPPFLAGS $btl_portals4_CPPFLAGS" fi @%:@ Check whether --enable-btl-portals4-flow-control was given. if test ${enable_btl_portals4_flow_control+y} then : enableval=$enable_btl_portals4_flow_control; fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable flow control" >&5 printf %s "checking whether to enable flow control... " >&6; } if test "$enable_btl_portals4_flow_control" != "no"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } btl_portals4_flow_control_enabled=1 else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } btl_portals4_flow_control_enabled=0 fi printf "%s\n" "@%:@define OPAL_BTL_PORTALS4_FLOW_CONTROL $btl_portals4_flow_control_enabled" >>confdefs.h if test "$btl_portals4_flow_control_enabled" = "1"; then OPAL_BTL_PORTALS4_FLOW_CONTROL_TRUE= OPAL_BTL_PORTALS4_FLOW_CONTROL_FALSE='#' else OPAL_BTL_PORTALS4_FLOW_CONTROL_TRUE='#' OPAL_BTL_PORTALS4_FLOW_CONTROL_FALSE= fi # substitute in the things needed to build portals4 opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/btl/portals4/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components portals4" if test "$compile_mode" = "dso" ; then dso_components="$dso_components portals4" else if test "btl" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/btl/portals4/lib${OPAL_LIB_NAME}mca_btl_portals4.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/btl/portals4/libmca_btl_portals4.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_btl_portals4_component;" >> $outfile.extern echo " &mca_btl_portals4_component, " >> $outfile.struct static_components="$static_components portals4" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component btl:portals4 can compile" >&5 printf %s "checking if MCA component btl:portals4 can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_btl" = "portals4" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_btl_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** btl component portals4 was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_btl" = "portals4" ; then as_fn_error $? "*** btl component portals4 was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${btl_portals4_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${btl_portals4_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${btl_portals4_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${btl_portals4_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${btl_portals4_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${btl_portals4_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$btl_portals4_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $btl_portals4_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring btl_portals4_WRAPPER_EXTRA_CPPFLAGS ($btl_portals4_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring btl_portals4_WRAPPER_EXTRA_CPPFLAGS ($btl_portals4_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component btl:portals4 can compile" >&5 printf %s "checking if MCA component btl:portals4 can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_btl" = "portals4" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"portals4\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"portals4\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_btl" ; then if test "$DIRECT_btl" = "portals4" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"portals4\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"portals4\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components portals4" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_btl_portals4_DSO=1 else case e in @%:@( e) BUILD_opal_btl_portals4_DSO=0 ;; esac fi if test "$BUILD_opal_btl_portals4_DSO" = "1"; then MCA_BUILD_opal_btl_portals4_DSO_TRUE= MCA_BUILD_opal_btl_portals4_DSO_FALSE='#' else MCA_BUILD_opal_btl_portals4_DSO_TRUE='#' MCA_BUILD_opal_btl_portals4_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component btl:sm (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/btl/sm" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_btl" ; then if test "$DIRECT_btl" = "sm" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_btl" = "1" then : want_component=0 fi if test "${DISABLE_btl_sm}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_btl_sm_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_btl" SHARED_COMPONENT="$DSO_btl_sm" STATIC_FRAMEWORK="$STATIC_btl" STATIC_COMPONENT="$STATIC_btl_sm" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_btl_sm_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component btl:sm compile mode" >&5 printf %s "checking for MCA component btl:sm compile mode... " >&6; } if test "$DIRECT_btl" = "sm" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$opal_btl_sm_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/btl/sm/Makefile" # always happy should_build=$should_build 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="Shared memory/copy in+copy out: yes" oac_summary_key="Transports`printf "%s\n" "[Shared memory/copy in+copy out]" | sed "$as_sed_sh"`" # Use the section name variable as an indicator for whether or not # the section has already been created. if test ${oac_summary_section_Transports_name+y} then : else case e in @%:@( e) oac_summary_section_Transports_name="Transports" if test -z "${oac_summary_sections}" then : oac_summary_sections="Transports" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} Transports" ;; esac fi ;; esac 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 case e in @%:@( e) eval "${oac_summary_key}=1" if test ${oac_summary_section_Transports_value+y} then : as_fn_append oac_summary_section_Transports_value "${oac_summary_newline}${oac_summary_line}" else case e in @%:@( e) oac_summary_section_Transports_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/btl/sm/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components sm" if test "$compile_mode" = "dso" ; then dso_components="$dso_components sm" else if test "btl" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/btl/sm/lib${OPAL_LIB_NAME}mca_btl_sm.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/btl/sm/libmca_btl_sm.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_btl_sm_component;" >> $outfile.extern echo " &mca_btl_sm_component, " >> $outfile.struct static_components="$static_components sm" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component btl:sm can compile" >&5 printf %s "checking if MCA component btl:sm can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_btl" = "sm" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_btl_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** btl component sm was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_btl" = "sm" ; then as_fn_error $? "*** btl component sm was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${btl_sm_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${btl_sm_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${btl_sm_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${btl_sm_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${btl_sm_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${btl_sm_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$btl_sm_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $btl_sm_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring btl_sm_WRAPPER_EXTRA_CPPFLAGS ($btl_sm_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring btl_sm_WRAPPER_EXTRA_CPPFLAGS ($btl_sm_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component btl:sm can compile" >&5 printf %s "checking if MCA component btl:sm can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_btl" = "sm" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"sm\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"sm\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_btl" ; then if test "$DIRECT_btl" = "sm" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"sm\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"sm\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components sm" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_btl_sm_DSO=1 else case e in @%:@( e) BUILD_opal_btl_sm_DSO=0 ;; esac fi if test "$BUILD_opal_btl_sm_DSO" = "1"; then MCA_BUILD_opal_btl_sm_DSO_TRUE= MCA_BUILD_opal_btl_sm_DSO_FALSE='#' else MCA_BUILD_opal_btl_sm_DSO_TRUE='#' MCA_BUILD_opal_btl_sm_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component btl:smcuda (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/btl/smcuda" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_btl" ; then if test "$DIRECT_btl" = "smcuda" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_btl" = "1" then : want_component=0 fi if test "${DISABLE_btl_smcuda}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_btl_smcuda_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_btl" SHARED_COMPONENT="$DSO_btl_smcuda" STATIC_FRAMEWORK="$STATIC_btl" STATIC_COMPONENT="$STATIC_btl_smcuda" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_btl_smcuda_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component btl:smcuda compile mode" >&5 printf %s "checking for MCA component btl:smcuda compile mode... " >&6; } if test "$DIRECT_btl" = "smcuda" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$opal_btl_smcuda_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/btl/smcuda/Makefile" opal_var_scope_push ${LINENO} cuda_save_CPPFLAGS cuda_save_LDFLAGS cuda_save_LIBS cuda_save_CPPFLAGS="$CPPFLAGS" cuda_save_LDFLAGS="$LDFLAGS" cuda_save_LIBS="$LIBS" # # Check to see if user wants CUDA support # @%:@ Check whether --with-cuda was given. if test ${with_cuda+y} then : withval=$with_cuda; fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if --with-cuda is set" >&5 printf %s "checking if --with-cuda is set... " >&6; } # Search for libcuda.so in $with_cuda if the user didn't pass --with-cuda-libdir # Otherwise check for cuda in the default path, /usr/local/cuda. If the default # path doesn't exist, set with_cuda_libdir to empty. @%:@ Check whether --with-cuda-libdir was given. if test ${with_cuda_libdir+y} then : withval=$with_cuda_libdir; else case e in @%:@( e) if test -d "$with_cuda" then : with_cuda_libdir=$(dirname $(find -H $with_cuda -name libcuda.so 2> /dev/null) 2> /dev/null) else case e in @%:@( e) with_cuda_libdir=$(dirname $(find -H /usr/local/cuda -name libcuda.so 2> /dev/null) 2> /dev/null) ;; esac fi ;; esac fi # Note that CUDA support is off by default. To turn it on, the user has to # request it. The user can just ask for --with-cuda and it that case we # look for the cuda.h file in /usr/local/cuda. Otherwise, they can give # us a directory. If they provide a directory, we will look in that directory # as well as the directory with the "include" string appended to it. The fact # that we check in two directories precludes us from using the OMPI_CHECK_DIR # macro as that would error out after not finding it in the first directory. # Note that anywhere CUDA aware code is in the Open MPI repository requires # us to make use of AC_REQUIRE to ensure this check has been done. if test "$with_cuda" = "no" || test "x$with_cuda" = "x" then : opal_check_cuda_happy="no" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not set (--with-cuda=$with_cuda)" >&5 printf "%s\n" "not set (--with-cuda=$with_cuda)" >&6; } else case e in @%:@( e) if test "$with_cuda" = "yes" then : if test "x`ls /usr/local/cuda/include/cuda.h 2> /dev/null`" = "x" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found in standard location" >&5 printf "%s\n" "not found in standard location" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Expected file /usr/local/cuda/include/cuda.h not found" >&5 printf "%s\n" "$as_me: WARNING: Expected file /usr/local/cuda/include/cuda.h not found" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } opal_check_cuda_happy=yes opal_cuda_incdir=/usr/local/cuda/include ;; esac fi else case e in @%:@( e) if test ! -d "$with_cuda" 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_cuda not found" >&5 printf "%s\n" "$as_me: WARNING: Directory $with_cuda not found" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 else case e in @%:@( e) if test "x`ls $with_cuda/include/cuda.h 2> /dev/null`" = "x" then : if test "x`ls $with_cuda/cuda.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: Could not find cuda.h in $with_cuda/include or $with_cuda" >&5 printf "%s\n" "$as_me: WARNING: Could not find cuda.h in $with_cuda/include or $with_cuda" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 else case e in @%:@( e) opal_check_cuda_happy=yes opal_cuda_incdir=$with_cuda { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found ($with_cuda/cuda.h)" >&5 printf "%s\n" "found ($with_cuda/cuda.h)" >&6; } ;; esac fi else case e in @%:@( e) opal_check_cuda_happy=yes opal_cuda_incdir="$with_cuda/include" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found ($opal_cuda_incdir/cuda.h)" >&5 printf "%s\n" "found ($opal_cuda_incdir/cuda.h)" >&6; } ;; esac fi ;; esac fi ;; esac fi ;; esac fi if test "$opal_check_cuda_happy" = "yes" then : # ****************************** START CHECK PACKAGE FOR cuda ****************************** oac_var_scope_push ${LINENO} check_package_btl_smcuda_save_CPPFLAGS check_package_btl_smcuda_save_LDFLAGS check_package_btl_smcuda_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_btl_smcuda_save_CPPFLAGS="${CPPFLAGS}" check_package_btl_smcuda_save_LDFLAGS="${LDFLAGS}" check_package_btl_smcuda_save_LIBS="${LIBS}" btl_smcuda_CPPFLAGS= btl_smcuda_LDFLAGS= btl_smcuda_STATIC_LDFLAGS= btl_smcuda_LIBS= btl_smcuda_STATIC_LIBS= { btl_smcuda_PC_MODULES=; unset btl_smcuda_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_cuda" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package cuda disabled by user" >&5 printf "%s\n" "$as_me: Package cuda disabled by user" >&6;} check_package_happy=0 elif test "${with_cuda}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_cuda}" ;; esac fi check_package_libdir= if test "${with_cuda_libdir}" = "no" -o "${with_cuda_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-cuda-libdir" "$LINENO" 5 elif test -n "${with_cuda_libdir}" then : check_package_libdir="${with_cuda_libdir}" fi check_package_incdir= if test "${with_cuda_incdir}" = "no" -o "${with_cuda_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-cuda-incdir" "$LINENO" 5 elif test -n "${with_cuda_incdir}" then : check_package_incdir="${with_cuda_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${cuda_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-cuda or --with-cuda-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-cuda only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda pkg-config name" >&5 printf %s "checking for cuda pkg-config name... " >&6; } if test ${oac_cv_check_package_cuda_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_cuda_pcfilename="cuda" if test -n "${check_package_libdir}" then : oac_cv_check_package_cuda_pcfilename="${check_package_libdir}/pkgconfig/cuda.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_cuda_pcfilename="cuda" elif test -r "${check_package_prefix}/lib/pkgconfig/cuda.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/cuda.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found cuda in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-cuda-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_cuda_pcfilename="${check_package_prefix}/lib/pkgconfig/cuda.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/cuda.pc" then : oac_cv_check_package_cuda_pcfilename="${check_package_prefix}/lib64/pkgconfig/cuda.pc" else case e in @%:@( e) oac_cv_check_package_cuda_pcfilename="${check_package_prefix}/lib/pkgconfig/cuda.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_cuda_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if cuda pkg-config module exists" >&5 printf %s "checking if cuda pkg-config module exists... " >&6; } if test ${oac_cv_check_package_cuda_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_cuda_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_cuda_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : btl_smcuda_PC_MODULES=${oac_cv_check_package_cuda_pcfilename} oac_cv_check_package_cuda_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_cuda_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_cuda_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_cuda_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda pkg-config cflags" >&5 printf %s "checking for cuda pkg-config cflags... " >&6; } if test ${oac_cv_check_package_cuda_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_cuda_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_cuda_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_cuda_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_cuda_pkg_config_cppflags" >&6; } btl_smcuda_CPPFLAGS="${oac_cv_check_package_cuda_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda pkg-config ldflags" >&5 printf %s "checking for cuda pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_cuda_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_cuda_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_cuda_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_cuda_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_cuda_pkg_config_ldflags" >&6; } btl_smcuda_LDFLAGS="${oac_cv_check_package_cuda_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda pkg-config static ldflags" >&5 printf %s "checking for cuda pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_cuda_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_cuda_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_cuda_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_cuda_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_cuda_pkg_config_static_ldflags" >&6; } btl_smcuda_STATIC_LDFLAGS="${oac_cv_check_package_cuda_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda pkg-config libs" >&5 printf %s "checking for cuda pkg-config libs... " >&6; } if test ${oac_cv_check_package_cuda_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_cuda_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_cuda_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_cuda_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_cuda_pkg_config_libs" >&6; } btl_smcuda_LIBS="${oac_cv_check_package_cuda_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda pkg-config static libs" >&5 printf %s "checking for cuda pkg-config static libs... " >&6; } if test ${oac_cv_check_package_cuda_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_cuda_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_cuda_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_cuda_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_cuda_pkg_config_static_libs" >&6; } btl_smcuda_STATIC_LIBS="${oac_cv_check_package_cuda_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${cuda_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-cuda argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda wrapper compiler" >&5 printf %s "checking for cuda wrapper compiler... " >&6; } if test ${oac_cv_check_package_cuda_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_cuda_wrapper_compiler="cudacc" else case e in @%:@( e) oac_cv_check_package_cuda_wrapper_compiler="${check_package_prefix}/bin/cudacc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_cuda_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if cuda wrapper compiler works" >&5 printf %s "checking if cuda wrapper compiler works... " >&6; } if test ${oac_cv_check_package_cuda_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_cuda_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_cuda_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_cuda_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_cuda_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda wrapper compiler cppflags" >&5 printf %s "checking for cuda wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_cuda_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_cuda_wrapper_compiler_cppflags}" then : oac_cv_check_package_cuda_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_cuda_wrapper_compiler_cppflags="${oac_cv_check_package_cuda_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_cuda_wrapper_compiler_cppflags" >&6; } btl_smcuda_CPPFLAGS="${oac_cv_check_package_cuda_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda wrapper compiler ldflags" >&5 printf %s "checking for cuda wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_cuda_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_cuda_wrapper_compiler_ldflags}" then : oac_cv_check_package_cuda_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_cuda_wrapper_compiler_ldflags="${oac_cv_check_package_cuda_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_cuda_wrapper_compiler_ldflags" >&6; } btl_smcuda_LDFLAGS="${oac_cv_check_package_cuda_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda wrapper compiler static ldflags" >&5 printf %s "checking for cuda wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_cuda_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_cuda_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_cuda_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_cuda_wrapper_compiler_static_ldflags="${oac_cv_check_package_cuda_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_cuda_wrapper_compiler_static_ldflags" >&6; } btl_smcuda_STATIC_LDFLAGS="${oac_cv_check_package_cuda_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda wrapper compiler libs" >&5 printf %s "checking for cuda wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_cuda_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_cuda_wrapper_compiler_libs}" then : oac_cv_check_package_cuda_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_cuda_wrapper_compiler_libs="${oac_cv_check_package_cuda_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_cuda_wrapper_compiler_libs" >&6; } btl_smcuda_LIBS="$oac_cv_check_package_cuda_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda wrapper compiler static libs" >&5 printf %s "checking for cuda wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_cuda_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_cuda_wrapper_compiler_static_libs}" then : oac_cv_check_package_cuda_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_cuda_wrapper_compiler_static_libs="${oac_cv_check_package_cuda_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_cuda_wrapper_compiler_static_libs" >&6; } btl_smcuda_STATIC_LIBS="${oac_cv_check_package_cuda_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "cuda.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "cuda" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda header at ${check_package_generic_incdir}" >&5 printf %s "checking for cuda header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 btl_smcuda_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for cuda library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 btl_smcuda_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for cuda library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-cuda-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 btl_smcuda_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 btl_smcuda_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 btl_smcuda_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for cuda in default search paths" >&5 printf "%s\n" "$as_me: Searching for cuda in default search paths" >&6;} cuda_CPPFLAGS= cuda_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in cuda ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${btl_smcuda_LIBS}" then : btl_smcuda_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) btl_smcuda_LIBS="${btl_smcuda_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${btl_smcuda_STATIC_LIBS}" then : btl_smcuda_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) btl_smcuda_STATIC_LIBS="${btl_smcuda_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda cppflags" >&5 printf %s "checking for cuda cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $btl_smcuda_CPPFLAGS" >&5 printf "%s\n" "$btl_smcuda_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda ldflags" >&5 printf %s "checking for cuda ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $btl_smcuda_LDFLAGS" >&5 printf "%s\n" "$btl_smcuda_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda libs" >&5 printf %s "checking for cuda libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $btl_smcuda_LIBS" >&5 printf "%s\n" "$btl_smcuda_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda static libs" >&5 printf %s "checking for cuda static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $btl_smcuda_STATIC_LIBS" >&5 printf "%s\n" "$btl_smcuda_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${btl_smcuda_LDFLAGS}" then : btl_smcuda_LDFLAGS="${btl_smcuda_STATIC_LDFLAGS}" else case e in @%:@( e) btl_smcuda_LDFLAGS="${btl_smcuda_LDFLAGS} ${btl_smcuda_STATIC_LDFLAGS}" ;; esac fi if test -z "${btl_smcuda_LIBS}" then : btl_smcuda_LIBS="${btl_smcuda_STATIC_LIBS}" else case e in @%:@( e) btl_smcuda_LIBS="${btl_smcuda_LIBS} ${btl_smcuda_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "cuda.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${btl_smcuda_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${btl_smcuda_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${btl_smcuda_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${btl_smcuda_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${btl_smcuda_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${btl_smcuda_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "cuMemFree" "ac_cv_func_cuMemFree" if test "x$ac_cv_func_cuMemFree" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if cuda requires libnl v1 or v3" >&5 printf %s "checking if cuda requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_cuda+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void cuMemFree (void); int main(int argc, char *argv[]) { cuMemFree (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib cuda" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib cuda" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_cuda=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_cuda" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_cuda" >&6; } result_msg=$opal_libnl_sanity_check_cv_cuda this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, cuda links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, cuda links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libcuda (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libcuda (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libcuda." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libcuda." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas cuda requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas cuda requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libcuda (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libcuda (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libcuda." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libcuda." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs cuda" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas cuda requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas cuda requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libcuda (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libcuda (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libcuda." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libcuda." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs cuda" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi btl_smcuda_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : btl_smcuda_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) btl_smcuda_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi opal_check_cuda_happy="yes" else case e in @%:@( e) if test "${with_cuda}" = "no" then : btl_smcuda_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) btl_smcuda_SUMMARY="no (not found)" ;; esac fi { btl_smcuda_CPPFLAGS=; unset btl_smcuda_CPPFLAGS;} { btl_smcuda_LDFLAGS=; unset btl_smcuda_LDFLAGS;} { btl_smcuda_STATIC_LDFLAGS=; unset btl_smcuda_STATIC_LDFLAGS;} { btl_smcuda_LIBS=; unset btl_smcuda_LIBS;} { btl_smcuda_STATIC_LIBS=; unset btl_smcuda_STATIC_LIBS;} opal_check_cuda_happy="no" ;; esac fi CPPFLAGS="${check_package_btl_smcuda_save_CPPFLAGS}" LDFLAGS="${check_package_btl_smcuda_save_LDFLAGS}" LIBS="${check_package_btl_smcuda_save_LIBS}" oac_var_scope_pop check_package_btl_smcuda_save_CPPFLAGS check_package_btl_smcuda_save_LDFLAGS check_package_btl_smcuda_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR cuda ****************************** fi # We require CUDA IPC support which started in CUDA 4.1. Error # out if the support is not there. if test "$opal_check_cuda_happy" = "yes" then : ac_fn_c_check_member "$LINENO" "struct CUipcMemHandle_st" "reserved" "ac_cv_member_struct_CUipcMemHandle_st_reserved" "#include <$opal_cuda_incdir/cuda.h> " if test "x$ac_cv_member_struct_CUipcMemHandle_st_reserved" = xyes then : else case e in @%:@( e) as_fn_error $? "Cannot continue because CUDA 4.1 or later is required" "$LINENO" 5 ;; esac fi fi # If we have CUDA support, check to see if we have support for SYNC_MEMOPS # which was first introduced in CUDA 6.0. if test "$opal_check_cuda_happy" = "yes" then : ac_fn_check_decl "$LINENO" "CU_POINTER_ATTRIBUTE_SYNC_MEMOPS" "ac_cv_have_decl_CU_POINTER_ATTRIBUTE_SYNC_MEMOPS" "#include <$opal_cuda_incdir/cuda.h> " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_CU_POINTER_ATTRIBUTE_SYNC_MEMOPS" = xyes then : CUDA_SYNC_MEMOPS=1 else case e in @%:@( e) CUDA_SYNC_MEMOPS=0 ;; esac fi fi # If we have CUDA support, check to see if we have CUDA 6.0 or later. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <$opal_cuda_incdir/cuda.h> int main (void) { #if CUDA_VERSION < 6000 #error "CUDA_VERSION is less than 6000" #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : CUDA_VERSION_60_OR_GREATER=1 else case e in @%:@( e) CUDA_VERSION_60_OR_GREATER=0 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext # If we have CUDA support, check to see if we have support for cuPointerGetAttributes # which was first introduced in CUDA 7.0. if test "$opal_check_cuda_happy" = "yes" then : ac_fn_check_decl "$LINENO" "cuPointerGetAttributes" "ac_cv_have_decl_cuPointerGetAttributes" "#include <$opal_cuda_incdir/cuda.h> " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_cuPointerGetAttributes" = xyes then : CUDA_GET_ATTRIBUTES=1 else case e in @%:@( e) CUDA_GET_ATTRIBUTES=0 ;; esac fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if have cuda support" >&5 printf %s "checking if have cuda support... " >&6; } if test "$opal_check_cuda_happy" = "yes"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes (-I$opal_cuda_incdir)" >&5 printf "%s\n" "yes (-I$opal_cuda_incdir)" >&6; } CUDA_SUPPORT=1 common_cuda_CPPFLAGS="-I$opal_cuda_incdir" else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } CUDA_SUPPORT=0 fi 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="CUDA support: $opal_check_cuda_happy" oac_summary_key="AcceleratorsCUDA_support" # Use the section name variable as an indicator for whether or not # the section has already been created. if test ${oac_summary_section_Accelerators_name+y} then : else case e in @%:@( e) oac_summary_section_Accelerators_name="Accelerators" if test -z "${oac_summary_sections}" then : oac_summary_sections="Accelerators" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} Accelerators" ;; esac fi ;; esac 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 case e in @%:@( e) eval "${oac_summary_key}=1" if test ${oac_summary_section_Accelerators_value+y} then : as_fn_append oac_summary_section_Accelerators_value "${oac_summary_newline}${oac_summary_line}" else case e in @%:@( e) oac_summary_section_Accelerators_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key if test "x$CUDA_SUPPORT" = "x1"; then OPAL_cuda_support_TRUE= OPAL_cuda_support_FALSE='#' else OPAL_cuda_support_TRUE='#' OPAL_cuda_support_FALSE= fi printf "%s\n" "@%:@define OPAL_CUDA_SUPPORT $CUDA_SUPPORT" >>confdefs.h if test "x$CUDA_SYNC_MEMOPS" = "x1"; then OPAL_cuda_sync_memops_TRUE= OPAL_cuda_sync_memops_FALSE='#' else OPAL_cuda_sync_memops_TRUE='#' OPAL_cuda_sync_memops_FALSE= fi printf "%s\n" "@%:@define OPAL_CUDA_SYNC_MEMOPS $CUDA_SYNC_MEMOPS" >>confdefs.h if test "x$CUDA_GET_ATTRIBUTES" = "x1"; then OPAL_cuda_get_attributes_TRUE= OPAL_cuda_get_attributes_FALSE='#' else OPAL_cuda_get_attributes_TRUE='#' OPAL_cuda_get_attributes_FALSE= fi printf "%s\n" "@%:@define OPAL_CUDA_GET_ATTRIBUTES $CUDA_GET_ATTRIBUTES" >>confdefs.h # There is nothing specific we can check for to see if GPU Direct RDMA is available. # Therefore, we check to see whether we have CUDA 6.0 or later. if test "x$CUDA_VERSION_60_OR_GREATER" = "x1"; then OPAL_cuda_gdr_support_TRUE= OPAL_cuda_gdr_support_FALSE='#' else OPAL_cuda_gdr_support_TRUE='#' OPAL_cuda_gdr_support_FALSE= fi printf "%s\n" "@%:@define OPAL_CUDA_GDR_SUPPORT $CUDA_VERSION_60_OR_GREATER" >>confdefs.h CPPFLAGS=${cuda_save_CPPFLAGS} LDFLAGS=${cuda_save_LDFLAGS} LIBS=${cuda_save_LIBS} opal_var_scope_pop cuda_save_CPPFLAGS cuda_save_LDFLAGS cuda_save_LIBS # Only build if CUDA support is available if test "x$CUDA_SUPPORT" = "x1" then : should_build=$should_build opal_var_scope_push ${LINENO} component_compile_mode dependency_compile_mode if test ${opal_btl_smcuda_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_btl" SHARED_COMPONENT="$DSO_btl_smcuda" STATIC_FRAMEWORK="$STATIC_btl" STATIC_COMPONENT="$STATIC_btl_smcuda" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_btl_smcuda_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component btl:smcuda compile mode" >&5 printf %s "checking for MCA component btl:smcuda compile mode... " >&6; } if test "$DIRECT_btl" = "smcuda" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi component_compile_mode=$opal_btl_smcuda_compile_mode if test ${opal_common_sm_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_common" SHARED_COMPONENT="$DSO_common_sm" STATIC_FRAMEWORK="$STATIC_common" STATIC_COMPONENT="$STATIC_common_sm" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_common_sm_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component common:sm compile mode" >&5 printf %s "checking for MCA component common:sm compile mode... " >&6; } if test "$DIRECT_common" = "sm" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi dependency_compile_mode=$opal_common_sm_compile_mode if test "${component_compile_mode}" = "static" -a "${dependency_compile_mode}" = "dso" then : as_fn_error $? "Component btl:smcuda is set to build as a static component, but its dependency common:sm is set to build as a dynamic component. This configuration is not supported. Please either build common:sm as a static component or build btl:smcuda as a dynamic component." "$LINENO" 5 fi opal_var_scope_pop component_compile_mode dependency_compile_mode else case e in @%:@( e) should_build=0 ;; esac fi opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/btl/smcuda/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components smcuda" if test "$compile_mode" = "dso" ; then dso_components="$dso_components smcuda" else if test "btl" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/btl/smcuda/lib${OPAL_LIB_NAME}mca_btl_smcuda.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/btl/smcuda/libmca_btl_smcuda.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_btl_smcuda_component;" >> $outfile.extern echo " &mca_btl_smcuda_component, " >> $outfile.struct static_components="$static_components smcuda" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component btl:smcuda can compile" >&5 printf %s "checking if MCA component btl:smcuda can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_btl" = "smcuda" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_btl_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** btl component smcuda was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_btl" = "smcuda" ; then as_fn_error $? "*** btl component smcuda was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${btl_smcuda_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${btl_smcuda_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${btl_smcuda_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${btl_smcuda_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${btl_smcuda_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${btl_smcuda_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$btl_smcuda_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $btl_smcuda_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring btl_smcuda_WRAPPER_EXTRA_CPPFLAGS ($btl_smcuda_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring btl_smcuda_WRAPPER_EXTRA_CPPFLAGS ($btl_smcuda_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component btl:smcuda can compile" >&5 printf %s "checking if MCA component btl:smcuda can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_btl" = "smcuda" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"smcuda\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"smcuda\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_btl" ; then if test "$DIRECT_btl" = "smcuda" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"smcuda\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"smcuda\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components smcuda" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_btl_smcuda_DSO=1 else case e in @%:@( e) BUILD_opal_btl_smcuda_DSO=0 ;; esac fi if test "$BUILD_opal_btl_smcuda_DSO" = "1"; then MCA_BUILD_opal_btl_smcuda_DSO_TRUE= MCA_BUILD_opal_btl_smcuda_DSO_FALSE='#' else MCA_BUILD_opal_btl_smcuda_DSO_TRUE='#' MCA_BUILD_opal_btl_smcuda_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component btl:tcp (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/btl/tcp" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_btl" ; then if test "$DIRECT_btl" = "tcp" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_btl" = "1" then : want_component=0 fi if test "${DISABLE_btl_tcp}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_btl_tcp_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_btl" SHARED_COMPONENT="$DSO_btl_tcp" STATIC_FRAMEWORK="$STATIC_btl" STATIC_COMPONENT="$STATIC_btl_tcp" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_btl_tcp_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component btl:tcp compile mode" >&5 printf %s "checking for MCA component btl:tcp compile mode... " >&6; } if test "$DIRECT_btl" = "tcp" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$opal_btl_tcp_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/btl/tcp/Makefile" # check for sockaddr_in (a good sign we have TCP) ac_fn_c_check_type "$LINENO" "struct sockaddr_in" "ac_cv_type_struct_sockaddr_in" "$ac_includes_default #ifdef HAVE_NETINET_IN_H #include #endif " if test "x$ac_cv_type_struct_sockaddr_in" = xyes then : printf "%s\n" "@%:@define HAVE_STRUCT_SOCKADDR_IN 1" >>confdefs.h opal_btl_tcp_happy=yes should_build=$should_build else case e in @%:@( e) opal_btl_tcp_happy=no should_build=0 ;; esac fi 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="TCP: $opal_btl_tcp_happy" oac_summary_key="TransportsTCP" # Use the section name variable as an indicator for whether or not # the section has already been created. if test ${oac_summary_section_Transports_name+y} then : else case e in @%:@( e) oac_summary_section_Transports_name="Transports" if test -z "${oac_summary_sections}" then : oac_summary_sections="Transports" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} Transports" ;; esac fi ;; esac 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 case e in @%:@( e) eval "${oac_summary_key}=1" if test ${oac_summary_section_Transports_value+y} then : as_fn_append oac_summary_section_Transports_value "${oac_summary_newline}${oac_summary_line}" else case e in @%:@( e) oac_summary_section_Transports_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/btl/tcp/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components tcp" if test "$compile_mode" = "dso" ; then dso_components="$dso_components tcp" else if test "btl" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/btl/tcp/lib${OPAL_LIB_NAME}mca_btl_tcp.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/btl/tcp/libmca_btl_tcp.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_btl_tcp_component;" >> $outfile.extern echo " &mca_btl_tcp_component, " >> $outfile.struct static_components="$static_components tcp" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component btl:tcp can compile" >&5 printf %s "checking if MCA component btl:tcp can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_btl" = "tcp" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_btl_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** btl component tcp was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_btl" = "tcp" ; then as_fn_error $? "*** btl component tcp was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${btl_tcp_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${btl_tcp_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${btl_tcp_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${btl_tcp_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${btl_tcp_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${btl_tcp_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$btl_tcp_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $btl_tcp_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring btl_tcp_WRAPPER_EXTRA_CPPFLAGS ($btl_tcp_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring btl_tcp_WRAPPER_EXTRA_CPPFLAGS ($btl_tcp_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component btl:tcp can compile" >&5 printf %s "checking if MCA component btl:tcp can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_btl" = "tcp" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"tcp\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"tcp\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_btl" ; then if test "$DIRECT_btl" = "tcp" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"tcp\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"tcp\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components tcp" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_btl_tcp_DSO=1 else case e in @%:@( e) BUILD_opal_btl_tcp_DSO=0 ;; esac fi if test "$BUILD_opal_btl_tcp_DSO" = "1"; then MCA_BUILD_opal_btl_tcp_DSO_TRUE= MCA_BUILD_opal_btl_tcp_DSO_FALSE='#' else MCA_BUILD_opal_btl_tcp_DSO_TRUE='#' MCA_BUILD_opal_btl_tcp_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component btl:uct (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/btl/uct" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_btl" ; then if test "$DIRECT_btl" = "uct" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_btl" = "1" then : want_component=0 fi if test "${DISABLE_btl_uct}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_btl_uct_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_btl" SHARED_COMPONENT="$DSO_btl_uct" STATIC_FRAMEWORK="$STATIC_btl" STATIC_COMPONENT="$STATIC_btl_uct" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_btl_uct_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component btl:uct compile mode" >&5 printf %s "checking for MCA component btl:uct compile mode... " >&6; } if test "$DIRECT_btl" = "uct" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$opal_btl_uct_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/btl/uct/Makefile" opal_var_scope_push ${LINENO} ompi_check_ucx_happy ompi_check_ucx_CPPFLAGS_save ompi_check_ucx_LDFLAGS_save ompi_check_ucx_LIBS_save @%:@ Check whether --with-ucx was given. if test ${with_ucx+y} then : withval=$with_ucx; fi @%:@ Check whether --with-ucx-libdir was given. if test ${with_ucx_libdir+y} then : withval=$with_ucx_libdir; fi # ****************************** START CHECK PACKAGE FOR ucx ****************************** oac_var_scope_push ${LINENO} check_package_btl_uct_save_CPPFLAGS check_package_btl_uct_save_LDFLAGS check_package_btl_uct_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_btl_uct_save_CPPFLAGS="${CPPFLAGS}" check_package_btl_uct_save_LDFLAGS="${LDFLAGS}" check_package_btl_uct_save_LIBS="${LIBS}" btl_uct_CPPFLAGS= btl_uct_LDFLAGS= btl_uct_STATIC_LDFLAGS= btl_uct_LIBS= btl_uct_STATIC_LIBS= { btl_uct_PC_MODULES=; unset btl_uct_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_ucx" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package ucx disabled by user" >&5 printf "%s\n" "$as_me: Package ucx disabled by user" >&6;} check_package_happy=0 elif test "${with_ucx}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_ucx}" ;; esac fi check_package_libdir= if test "${with_ucx_libdir}" = "no" -o "${with_ucx_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-ucx-libdir" "$LINENO" 5 elif test -n "${with_ucx_libdir}" then : check_package_libdir="${with_ucx_libdir}" fi check_package_incdir= if test "${with_ucx_incdir}" = "no" -o "${with_ucx_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-ucx-incdir" "$LINENO" 5 elif test -n "${with_ucx_incdir}" then : check_package_incdir="${with_ucx_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${ucx_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-ucx or --with-ucx-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-ucx only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config name" >&5 printf %s "checking for ucx pkg-config name... " >&6; } if test ${oac_cv_check_package_ucx_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_ucx_pcfilename="ucx" if test -n "${check_package_libdir}" then : oac_cv_check_package_ucx_pcfilename="${check_package_libdir}/pkgconfig/ucx.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_ucx_pcfilename="ucx" elif test -r "${check_package_prefix}/lib/pkgconfig/ucx.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/ucx.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found ucx in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-ucx-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_ucx_pcfilename="${check_package_prefix}/lib/pkgconfig/ucx.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/ucx.pc" then : oac_cv_check_package_ucx_pcfilename="${check_package_prefix}/lib64/pkgconfig/ucx.pc" else case e in @%:@( e) oac_cv_check_package_ucx_pcfilename="${check_package_prefix}/lib/pkgconfig/ucx.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ucx pkg-config module exists" >&5 printf %s "checking if ucx pkg-config module exists... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : btl_uct_PC_MODULES=${oac_cv_check_package_ucx_pcfilename} oac_cv_check_package_ucx_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_ucx_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_ucx_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config cflags" >&5 printf %s "checking for ucx pkg-config cflags... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucx_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_cppflags" >&6; } btl_uct_CPPFLAGS="${oac_cv_check_package_ucx_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config ldflags" >&5 printf %s "checking for ucx pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucx_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_ldflags" >&6; } btl_uct_LDFLAGS="${oac_cv_check_package_ucx_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config static ldflags" >&5 printf %s "checking for ucx pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucx_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_static_ldflags" >&6; } btl_uct_STATIC_LDFLAGS="${oac_cv_check_package_ucx_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config libs" >&5 printf %s "checking for ucx pkg-config libs... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucx_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_libs" >&6; } btl_uct_LIBS="${oac_cv_check_package_ucx_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config static libs" >&5 printf %s "checking for ucx pkg-config static libs... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucx_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_static_libs" >&6; } btl_uct_STATIC_LIBS="${oac_cv_check_package_ucx_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${ucx_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-ucx argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler" >&5 printf %s "checking for ucx wrapper compiler... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_ucx_wrapper_compiler="ucxcc" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler="${check_package_prefix}/bin/ucxcc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ucx wrapper compiler works" >&5 printf %s "checking if ucx wrapper compiler works... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_ucx_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_ucx_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler cppflags" >&5 printf %s "checking for ucx wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucx_wrapper_compiler_cppflags}" then : oac_cv_check_package_ucx_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_cppflags="${oac_cv_check_package_ucx_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_cppflags" >&6; } btl_uct_CPPFLAGS="${oac_cv_check_package_ucx_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler ldflags" >&5 printf %s "checking for ucx wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucx_wrapper_compiler_ldflags}" then : oac_cv_check_package_ucx_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_ldflags="${oac_cv_check_package_ucx_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_ldflags" >&6; } btl_uct_LDFLAGS="${oac_cv_check_package_ucx_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler static ldflags" >&5 printf %s "checking for ucx wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucx_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_ucx_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_static_ldflags="${oac_cv_check_package_ucx_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_static_ldflags" >&6; } btl_uct_STATIC_LDFLAGS="${oac_cv_check_package_ucx_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler libs" >&5 printf %s "checking for ucx wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucx_wrapper_compiler_libs}" then : oac_cv_check_package_ucx_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_libs="${oac_cv_check_package_ucx_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_libs" >&6; } btl_uct_LIBS="$oac_cv_check_package_ucx_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler static libs" >&5 printf %s "checking for ucx wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucx_wrapper_compiler_static_libs}" then : oac_cv_check_package_ucx_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_static_libs="${oac_cv_check_package_ucx_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_static_libs" >&6; } btl_uct_STATIC_LIBS="${oac_cv_check_package_ucx_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "ucp/api/ucp.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "ucp -luct -lucm -lucs" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx header at ${check_package_generic_incdir}" >&5 printf %s "checking for ucx header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 btl_uct_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for ucx library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 btl_uct_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for ucx library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-ucx-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 btl_uct_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 btl_uct_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 btl_uct_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for ucx in default search paths" >&5 printf "%s\n" "$as_me: Searching for ucx in default search paths" >&6;} ucx_CPPFLAGS= ucx_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in ucp -luct -lucm -lucs ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${btl_uct_LIBS}" then : btl_uct_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) btl_uct_LIBS="${btl_uct_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${btl_uct_STATIC_LIBS}" then : btl_uct_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) btl_uct_STATIC_LIBS="${btl_uct_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx cppflags" >&5 printf %s "checking for ucx cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $btl_uct_CPPFLAGS" >&5 printf "%s\n" "$btl_uct_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx ldflags" >&5 printf %s "checking for ucx ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $btl_uct_LDFLAGS" >&5 printf "%s\n" "$btl_uct_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx libs" >&5 printf %s "checking for ucx libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $btl_uct_LIBS" >&5 printf "%s\n" "$btl_uct_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx static libs" >&5 printf %s "checking for ucx static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $btl_uct_STATIC_LIBS" >&5 printf "%s\n" "$btl_uct_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${btl_uct_LDFLAGS}" then : btl_uct_LDFLAGS="${btl_uct_STATIC_LDFLAGS}" else case e in @%:@( e) btl_uct_LDFLAGS="${btl_uct_LDFLAGS} ${btl_uct_STATIC_LDFLAGS}" ;; esac fi if test -z "${btl_uct_LIBS}" then : btl_uct_LIBS="${btl_uct_STATIC_LIBS}" else case e in @%:@( e) btl_uct_LIBS="${btl_uct_LIBS} ${btl_uct_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "ucp/api/ucp.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${btl_uct_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${btl_uct_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${btl_uct_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${btl_uct_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${btl_uct_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${btl_uct_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "ucp_cleanup" "ac_cv_func_ucp_cleanup" if test "x$ac_cv_func_ucp_cleanup" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ucx requires libnl v1 or v3" >&5 printf %s "checking if ucx requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_ucx+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void ucp_cleanup (void); int main(int argc, char *argv[]) { ucp_cleanup (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib ucx" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib ucx" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_ucx=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_ucx" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_ucx" >&6; } result_msg=$opal_libnl_sanity_check_cv_ucx this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, ucx links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, ucx links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libucx (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libucx (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libucx." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libucx." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas ucx requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas ucx requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libucx (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libucx (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libucx." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libucx." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs ucx" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas ucx requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas ucx requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libucx (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libucx (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libucx." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libucx." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs ucx" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi btl_uct_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : btl_uct_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) btl_uct_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi ompi_check_ucx_happy="yes" else case e in @%:@( e) if test "${with_ucx}" = "no" then : btl_uct_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) btl_uct_SUMMARY="no (not found)" ;; esac fi { btl_uct_CPPFLAGS=; unset btl_uct_CPPFLAGS;} { btl_uct_LDFLAGS=; unset btl_uct_LDFLAGS;} { btl_uct_STATIC_LDFLAGS=; unset btl_uct_STATIC_LDFLAGS;} { btl_uct_LIBS=; unset btl_uct_LIBS;} { btl_uct_STATIC_LIBS=; unset btl_uct_STATIC_LIBS;} ompi_check_ucx_happy="no" ;; esac fi CPPFLAGS="${check_package_btl_uct_save_CPPFLAGS}" LDFLAGS="${check_package_btl_uct_save_LDFLAGS}" LIBS="${check_package_btl_uct_save_LIBS}" oac_var_scope_pop check_package_btl_uct_save_CPPFLAGS check_package_btl_uct_save_LDFLAGS check_package_btl_uct_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR ucx ****************************** ompi_check_ucx_CPPFLAGS_save=${CPPFLAGS} ompi_check_ucx_LDLAGS_save=${LDFLAGS} ompi_check_ucx_LIBS_save=${LIBS} oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${btl_uct_CPPFLAGS}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${CPPFLAGS}; 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 "${CPPFLAGS}" then : CPPFLAGS="$oac_list_arg" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${btl_uct_LDFLAGS}; 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 case e in @%:@( e) LDFLAGS="${LDFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in ${btl_uct_LIBS}; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${LIBS} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${LIBS}" then : LIBS="${oac_list_arg}" else case e in @%:@( e) LIBS="${LIBS} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${LIBS}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi LIBS="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${LIBS}" then : LIBS="${oac_list_arg}" else case e in @%:@( e) LIBS="${LIBS} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable if test "$ompi_check_ucx_happy" = yes then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for UCX version header" >&5 printf %s "checking for UCX version header... " >&6; } if test ${ompi_check_ucx_cv_have_version_header+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : ompi_check_ucx_cv_have_version_header="yes" else case e in @%:@( e) ompi_check_ucx_cv_have_version_header="no" ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_check_ucx_cv_have_version_header" >&5 printf "%s\n" "$ompi_check_ucx_cv_have_version_header" >&6; } if test "${ompi_check_ucx_cv_have_version_header}" != "yes" then : ompi_check_ucx_happy=no fi fi if test "$ompi_check_ucx_happy" = yes then : # Turn off UCX version v1.8 due to issue #8321 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking UCX version 1.8.x" >&5 printf %s "checking UCX version 1.8.x... " >&6; } if test ${ompi_check_ucx_cv_have_version_1_8+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #if (UCP_API_MAJOR == 1) && (UCP_API_MINOR == 8) #error "Invalid version" #endif ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO" then : ompi_check_ucx_cv_have_version_1_8=no else case e in @%:@( e) ompi_check_ucx_cv_have_version_1_8=yes ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_check_ucx_cv_have_version_1_8" >&5 printf "%s\n" "$ompi_check_ucx_cv_have_version_1_8" >&6; } if test "${ompi_check_ucx_cv_have_version_1_8}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: UCX support skipped because version 1.8.x was found, which has a known catastrophic issue." >&5 printf "%s\n" "$as_me: WARNING: UCX support skipped because version 1.8.x was found, which has a known catastrophic issue." >&2;} ompi_check_ucx_happy=no fi fi cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #if (UCP_API_MAJOR < 1) || ((UCP_API_MAJOR == 1) && (UCP_API_MINOR < 9)) #error "Version too low" #endif ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: UCX version is too old, please upgrade to 1.9 or higher." >&5 printf "%s\n" "$as_me: WARNING: UCX version is too old, please upgrade to 1.9 or higher." >&2;} ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext if test "$ompi_check_ucx_happy" = yes then : ac_fn_check_decl "$LINENO" "ucp_tag_send_nbr" "ac_cv_have_decl_ucp_tag_send_nbr" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_tag_send_nbr" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_TAG_SEND_NBR $ac_have_decl" >>confdefs.h if test $ac_have_decl = 1 then : printf "%s\n" "@%:@define HAVE_UCP_TAG_SEND_NBR 1" >>confdefs.h fi ac_fn_check_decl "$LINENO" "ucp_ep_flush_nb" "ac_cv_have_decl_ucp_ep_flush_nb" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_ep_flush_nb" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_EP_FLUSH_NB $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_worker_flush_nb" "ac_cv_have_decl_ucp_worker_flush_nb" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_worker_flush_nb" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_WORKER_FLUSH_NB $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_request_check_status" "ac_cv_have_decl_ucp_request_check_status" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_request_check_status" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_REQUEST_CHECK_STATUS $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_put_nb" "ac_cv_have_decl_ucp_put_nb" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_put_nb" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_PUT_NB $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_get_nb" "ac_cv_have_decl_ucp_get_nb" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_get_nb" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_GET_NB $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_put_nbx" "ac_cv_have_decl_ucp_put_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_put_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_PUT_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_get_nbx" "ac_cv_have_decl_ucp_get_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_get_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_GET_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_atomic_op_nbx" "ac_cv_have_decl_ucp_atomic_op_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_atomic_op_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_OP_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_ep_flush_nbx" "ac_cv_have_decl_ucp_ep_flush_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_ep_flush_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_EP_FLUSH_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucm_test_events" "ac_cv_have_decl_ucm_test_events" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucm_test_events" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCM_TEST_EVENTS $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucm_test_external_events" "ac_cv_have_decl_ucm_test_external_events" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucm_test_external_events" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCM_TEST_EXTERNAL_EVENTS $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_POST_OP_AND" "ac_cv_have_decl_UCP_ATOMIC_POST_OP_AND" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_POST_OP_AND" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_POST_OP_AND $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_POST_OP_OR" "ac_cv_have_decl_UCP_ATOMIC_POST_OP_OR" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_POST_OP_OR" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_POST_OP_OR $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_POST_OP_XOR" "ac_cv_have_decl_UCP_ATOMIC_POST_OP_XOR" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_POST_OP_XOR" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_POST_OP_XOR $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_FETCH_OP_FAND" "ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FAND" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FAND" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_FETCH_OP_FAND $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_FETCH_OP_FOR" "ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FOR" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FOR" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_FETCH_OP_FOR $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_FETCH_OP_FXOR" "ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FXOR" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FXOR" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_FETCH_OP_FXOR $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_PARAM_FIELD_ESTIMATED_NUM_PPN" "ac_cv_have_decl_UCP_PARAM_FIELD_ESTIMATED_NUM_PPN" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_PARAM_FIELD_ESTIMATED_NUM_PPN" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_PARAM_FIELD_ESTIMATED_NUM_PPN $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_WORKER_FLAG_IGNORE_REQUEST_LEAK" "ac_cv_have_decl_UCP_WORKER_FLAG_IGNORE_REQUEST_LEAK" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_WORKER_FLAG_IGNORE_REQUEST_LEAK" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_WORKER_FLAG_IGNORE_REQUEST_LEAK $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_OP_ATTR_FLAG_MULTI_SEND" "ac_cv_have_decl_UCP_OP_ATTR_FLAG_MULTI_SEND" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_OP_ATTR_FLAG_MULTI_SEND" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_OP_ATTR_FLAG_MULTI_SEND $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_MEM_MAP_SYMMETRIC_RKEY" "ac_cv_have_decl_UCP_MEM_MAP_SYMMETRIC_RKEY" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_MEM_MAP_SYMMETRIC_RKEY" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_MEM_MAP_SYMMETRIC_RKEY $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCS_MEMORY_TYPE_RDMA" "ac_cv_have_decl_UCS_MEMORY_TYPE_RDMA" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCS_MEMORY_TYPE_RDMA" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCS_MEMORY_TYPE_RDMA $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS" "ac_cv_have_decl_UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS $ac_have_decl" >>confdefs.h if test $ac_have_decl = 1 then : printf "%s\n" "@%:@define HAVE_UCP_WORKER_ADDRESS_FLAGS 1" >>confdefs.h fi ac_fn_check_decl "$LINENO" "UCP_ATTR_FIELD_MEMORY_TYPES" "ac_cv_have_decl_UCP_ATTR_FIELD_MEMORY_TYPES" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATTR_FIELD_MEMORY_TYPES" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATTR_FIELD_MEMORY_TYPES $ac_have_decl" >>confdefs.h if test $ac_have_decl = 1 then : printf "%s\n" "@%:@define HAVE_UCP_ATTR_MEMORY_TYPES 1" >>confdefs.h fi ac_fn_check_decl "$LINENO" "UCP_EP_ATTR_FIELD_TRANSPORTS" "ac_cv_have_decl_UCP_EP_ATTR_FIELD_TRANSPORTS" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_EP_ATTR_FIELD_TRANSPORTS" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_EP_ATTR_FIELD_TRANSPORTS $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_tag_send_nbx" "ac_cv_have_decl_ucp_tag_send_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_tag_send_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_TAG_SEND_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_tag_send_sync_nbx" "ac_cv_have_decl_ucp_tag_send_sync_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_tag_send_sync_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_TAG_SEND_SYNC_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_tag_recv_nbx" "ac_cv_have_decl_ucp_tag_recv_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_tag_recv_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_TAG_RECV_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_rkey_compare" "ac_cv_have_decl_ucp_rkey_compare" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_rkey_compare" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_RKEY_COMPARE $ac_have_decl" >>confdefs.h ac_fn_c_check_type "$LINENO" "ucp_request_param_t" "ac_cv_type_ucp_request_param_t" "#include " if test "x$ac_cv_type_ucp_request_param_t" = xyes then : printf "%s\n" "@%:@define HAVE_UCP_REQUEST_PARAM_T 1" >>confdefs.h fi fi CPPFLAGS=${ompi_check_ucx_CPPFLAGS_save} LDFLAGS=${ompi_check_ucx_LDLAGS_save} LIBS=${ompi_check_ucx_LIBS_save} 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="Open UCX: $ompi_check_ucx_happy" oac_summary_key="TransportsOpen_UCX" # Use the section name variable as an indicator for whether or not # the section has already been created. if test ${oac_summary_section_Transports_name+y} then : else case e in @%:@( e) oac_summary_section_Transports_name="Transports" if test -z "${oac_summary_sections}" then : oac_summary_sections="Transports" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} Transports" ;; esac fi ;; esac 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 case e in @%:@( e) eval "${oac_summary_key}=1" if test ${oac_summary_section_Transports_value+y} then : as_fn_append oac_summary_section_Transports_value "${oac_summary_newline}${oac_summary_line}" else case e in @%:@( e) oac_summary_section_Transports_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key if test "$ompi_check_ucx_happy" = "yes" then : btl_uct_happy="yes" else case e in @%:@( e) if test ! -z "$with_ucx" && test "$with_ucx" != "no" then : as_fn_error $? "UCX support requested but not found. Aborting" "$LINENO" 5 fi btl_uct_happy="no" ;; esac fi opal_var_scope_pop ompi_check_ucx_happy ompi_check_ucx_CPPFLAGS_save ompi_check_ucx_LDFLAGS_save ompi_check_ucx_LIBS_save @%:@ Check whether --enable-uct-version-check was given. if test ${enable_uct_version_check+y} then : enableval=$enable_uct_version_check; fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking check uct version" >&5 printf %s "checking check uct version... " >&6; } if test "$enable_uct_version_check" != "no"; 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 min_allowed_uct_major=1 min_allowed_uct_minor=9 if test "$btl_uct_happy" = "yes" && test "$enable_uct_version_check" != "no"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking UCT version compatibility" >&5 printf %s "checking UCT version compatibility... " >&6; } opal_var_scope_push ${LINENO} CPPFLAGS_save CPPFLAGS_save="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $btl_uct_CPPFLAGS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #if (UCT_VERNO_MAJOR < $min_allowed_uct_major) #error "UCT MAJOR VERNO < $min_allowed_uct_major" #endif #if (UCT_VERNO_MAJOR == $min_allowed_uct_major) &&\ (UCT_VERNO_MINOR < $min_allowed_uct_minor) #error "UCT MINOR VERNO < $min_allowed_uct_minor" #endif int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: UCT version compatible" >&5 printf "%s\n" "UCT version compatible" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: UCT version not compatible - need UCX $min_allowed_uct_major.$min_allowed_uct_minor or newer" >&5 printf "%s\n" "UCT version not compatible - need UCX $min_allowed_uct_major.$min_allowed_uct_minor or newer" >&6; } btl_uct_happy="no" ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext CPPFLAGS="$CPPFLAGS_save" opal_var_scope_pop CPPFLAGS_save fi if test "$btl_uct_happy" = "yes" ; then opal_var_scope_push ${LINENO} CPPFLAGS_save CPPFLAGS_save="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $btl_uct_CPPFLAGS" ac_fn_check_decl "$LINENO" "UCT_PROGRESS_THREAD_SAFE" "ac_cv_have_decl_UCT_PROGRESS_THREAD_SAFE" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCT_PROGRESS_THREAD_SAFE" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCT_PROGRESS_THREAD_SAFE $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCT_CB_FLAG_SYNC" "ac_cv_have_decl_UCT_CB_FLAG_SYNC" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCT_CB_FLAG_SYNC" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCT_CB_FLAG_SYNC $ac_have_decl" >>confdefs.h CPPFLAGS="$CPPFLAGS_save" opal_var_scope_pop CPPFLAGS_save fi if test "$btl_uct_happy" = "yes" then : should_build=$should_build btl_uct_LIBS="$btl_uct_LIBS -luct" else case e in @%:@( e) should_build=0 ;; esac fi # substitute in the things needed to build ucx opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/btl/uct/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components uct" if test "$compile_mode" = "dso" ; then dso_components="$dso_components uct" else if test "btl" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/btl/uct/lib${OPAL_LIB_NAME}mca_btl_uct.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/btl/uct/libmca_btl_uct.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_btl_uct_component;" >> $outfile.extern echo " &mca_btl_uct_component, " >> $outfile.struct static_components="$static_components uct" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component btl:uct can compile" >&5 printf %s "checking if MCA component btl:uct can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_btl" = "uct" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_btl_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** btl component uct was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_btl" = "uct" ; then as_fn_error $? "*** btl component uct was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${btl_uct_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${btl_uct_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${btl_uct_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${btl_uct_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${btl_uct_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${btl_uct_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$btl_uct_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $btl_uct_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring btl_uct_WRAPPER_EXTRA_CPPFLAGS ($btl_uct_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring btl_uct_WRAPPER_EXTRA_CPPFLAGS ($btl_uct_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component btl:uct can compile" >&5 printf %s "checking if MCA component btl:uct can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_btl" = "uct" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"uct\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"uct\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_btl" ; then if test "$DIRECT_btl" = "uct" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"uct\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"uct\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components uct" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_btl_uct_DSO=1 else case e in @%:@( e) BUILD_opal_btl_uct_DSO=0 ;; esac fi if test "$BUILD_opal_btl_uct_DSO" = "1"; then MCA_BUILD_opal_btl_uct_DSO_TRUE= MCA_BUILD_opal_btl_uct_DSO_FALSE='#' else MCA_BUILD_opal_btl_uct_DSO_TRUE='#' MCA_BUILD_opal_btl_uct_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component btl:ugni (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/btl/ugni" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_btl" ; then if test "$DIRECT_btl" = "ugni" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_btl" = "1" then : want_component=0 fi if test "${DISABLE_btl_ugni}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_btl_ugni_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_btl" SHARED_COMPONENT="$DSO_btl_ugni" STATIC_FRAMEWORK="$STATIC_btl" STATIC_COMPONENT="$STATIC_btl_ugni" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_btl_ugni_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component btl:ugni compile mode" >&5 printf %s "checking for MCA component btl:ugni compile mode... " >&6; } if test "$DIRECT_btl" = "ugni" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$opal_btl_ugni_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/btl/ugni/Makefile" if test -z "$opal_check_ugni_happy" ; then @%:@ Check whether --with-ugni was given. if test ${with_ugni+y} then : withval=$with_ugni; fi opal_check_ugni_happy="no" if test "$with_ugni" = "no" then : opal_check_ugni_happy="no" else case e in @%:@( e) pkg_failed=no { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for CRAY_UGNI" >&5 printf %s "checking for CRAY_UGNI... " >&6; } if test -n "$CRAY_UGNI_CFLAGS"; then pkg_cv_CRAY_UGNI_CFLAGS="$CRAY_UGNI_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"cray-ugni\""; } >&5 ($PKG_CONFIG --exists --print-errors "cray-ugni") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_CRAY_UGNI_CFLAGS=`$PKG_CONFIG --cflags "cray-ugni" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$CRAY_UGNI_LIBS"; then pkg_cv_CRAY_UGNI_LIBS="$CRAY_UGNI_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"cray-ugni\""; } >&5 ($PKG_CONFIG --exists --print-errors "cray-ugni") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_CRAY_UGNI_LIBS=`$PKG_CONFIG --libs "cray-ugni" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then CRAY_UGNI_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "cray-ugni" 2>&1` else CRAY_UGNI_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "cray-ugni" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$CRAY_UGNI_PKG_ERRORS" >&5 opal_check_ugni_happy="no" elif test $pkg_failed = untried; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } opal_check_ugni_happy="no" else CRAY_UGNI_CFLAGS=$pkg_cv_CRAY_UGNI_CFLAGS CRAY_UGNI_LIBS=$pkg_cv_CRAY_UGNI_LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } opal_check_ugni_happy="yes" fi ;; esac fi opal_check_ugni_btl_ugni_save_CPPFLAGS="$CPPFLAGS" opal_check_ugni_btl_ugni_save_LIBS="$LIBS" if test "$opal_check_ugni_happy" = "yes" ; then CPPFLAGS="$CPPFLAGS $CRAY_UGNI_CFLAGS" LIBS="$LIBS $CRAY_UGNI_LIBS" # echo "+++++++++++++++++++++++CPPFLAGS",$CPPFLAGS # echo "+++++++++++++++++++++++LDFLAGSS",$LDFLAGS # echo "+++++++++++++++++++++++1_CPPFLAGS",$btl_ugni_CPPFLAGS # echo "+++++++++++++++++++++++1_LDFLAGSS",$btl_ugni_LDFLAGS # sanity checks ac_fn_c_check_header_compile "$LINENO" "gni_pub.h" "ac_cv_header_gni_pub_h" "$ac_includes_default" if test "x$ac_cv_header_gni_pub_h" = xyes then : else case e in @%:@( e) as_fn_error $? "'gni_pub.h not found.'" "$LINENO" 5 ;; esac fi ac_fn_c_check_func "$LINENO" "GNI_GetJobResInfo" "ac_cv_func_GNI_GetJobResInfo" if test "x$ac_cv_func_GNI_GetJobResInfo" = xyes then : printf "%s\n" "@%:@define HAVE_GNI_GETJOBRESINFO 1" >>confdefs.h fi CPPFLAGS="$opal_check_ugni_btl_ugni_save_CPPFLAGS" LIBS="$opal_check_ugni_btl_ugni_save_LIBS" fi if test "$opal_check_ugni_happy" = "yes" && test "$enable_progress_threads" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: GNI driver does not currently support progress threads. Disabling." >&5 printf "%s\n" "$as_me: WARNING: GNI driver does not currently support progress threads. Disabling." >&2;} opal_check_ugni_happy="no" fi 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="Cray uGNI (Gemini/Aries): $opal_check_ugni_happy" oac_summary_key="Transports`printf "%s\n" "Cray uGNI (Gemini/Aries)" | sed "$as_sed_sh"`" # Use the section name variable as an indicator for whether or not # the section has already been created. if test ${oac_summary_section_Transports_name+y} then : else case e in @%:@( e) oac_summary_section_Transports_name="Transports" if test -z "${oac_summary_sections}" then : oac_summary_sections="Transports" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} Transports" ;; esac fi ;; esac 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 case e in @%:@( e) eval "${oac_summary_key}=1" if test ${oac_summary_section_Transports_value+y} then : as_fn_append oac_summary_section_Transports_value "${oac_summary_newline}${oac_summary_line}" else case e in @%:@( e) oac_summary_section_Transports_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key fi if test "$opal_check_ugni_happy" = "yes" then : btl_ugni_CPPFLAGS="$btl_ugni_CPPFLAGS $CRAY_UGNI_CFLAGS" btl_ugni_LIBS="$btl_ugni_LIBS $CRAY_UGNI_LIBS" btl_ugni_happy="yes" else case e in @%:@( e) if test ! -z "$with_ugni" && test "$with_ugni" != "no" then : as_fn_error $? "GNI support requested but not found. Cannot continue." "$LINENO" 5 fi btl_ugni_happy="no" ;; esac fi if test "$btl_ugni_happy" = "yes" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi # substitute in the things needed to build ugni opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/btl/ugni/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components ugni" if test "$compile_mode" = "dso" ; then dso_components="$dso_components ugni" else if test "btl" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/btl/ugni/lib${OPAL_LIB_NAME}mca_btl_ugni.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/btl/ugni/libmca_btl_ugni.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_btl_ugni_component;" >> $outfile.extern echo " &mca_btl_ugni_component, " >> $outfile.struct static_components="$static_components ugni" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component btl:ugni can compile" >&5 printf %s "checking if MCA component btl:ugni can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_btl" = "ugni" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_btl_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** btl component ugni was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_btl" = "ugni" ; then as_fn_error $? "*** btl component ugni was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${btl_ugni_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${btl_ugni_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${btl_ugni_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${btl_ugni_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${btl_ugni_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${btl_ugni_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$btl_ugni_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $btl_ugni_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring btl_ugni_WRAPPER_EXTRA_CPPFLAGS ($btl_ugni_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring btl_ugni_WRAPPER_EXTRA_CPPFLAGS ($btl_ugni_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component btl:ugni can compile" >&5 printf %s "checking if MCA component btl:ugni can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_btl" = "ugni" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ugni\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ugni\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_btl" ; then if test "$DIRECT_btl" = "ugni" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ugni\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ugni\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components ugni" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_btl_ugni_DSO=1 else case e in @%:@( e) BUILD_opal_btl_ugni_DSO=0 ;; esac fi if test "$BUILD_opal_btl_ugni_DSO" = "1"; then MCA_BUILD_opal_btl_ugni_DSO_TRUE= MCA_BUILD_opal_btl_ugni_DSO_FALSE='#' else MCA_BUILD_opal_btl_ugni_DSO_TRUE='#' MCA_BUILD_opal_btl_ugni_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component btl:usnic (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/btl/usnic" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_btl" ; then if test "$DIRECT_btl" = "usnic" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_btl" = "1" then : want_component=0 fi if test "${DISABLE_btl_usnic}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_btl_usnic_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_btl" SHARED_COMPONENT="$DSO_btl_usnic" STATIC_FRAMEWORK="$STATIC_btl" STATIC_COMPONENT="$STATIC_btl_usnic" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_btl_usnic_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component btl:usnic compile mode" >&5 printf %s "checking for MCA component btl:usnic compile mode... " >&6; } if test "$DIRECT_btl" = "usnic" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$opal_btl_usnic_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/btl/usnic/Makefile" @%:@ Check whether --with-usnic was given. if test ${with_usnic+y} then : withval=$with_usnic; fi # If --without-usnic was specified, then gracefully exit. # Otherwise, do the rest of the config. if test "x$with_usnic" = "xno" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: --without-usnic specified; skipping usnic BTL" >&5 printf "%s\n" "$as_me: WARNING: --without-usnic specified; skipping usnic BTL" >&2;} should_build=0 else case e in @%:@( e) opal_var_scope_push ${LINENO} unit_tests # see README.test for information about this scheme @%:@ Check whether --enable-opal-btl-usnic-unit-tests was given. if test ${enable_opal_btl_usnic_unit_tests+y} then : enableval=$enable_opal_btl_usnic_unit_tests; fi if test "X$enable_opal_btl_usnic_unit_tests" = "Xyes" then : unit_tests=1 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: enabling usnic BTL unit tests" >&5 printf "%s\n" "$as_me: enabling usnic BTL unit tests" >&6;} else case e in @%:@( e) unit_tests=0 ;; esac fi printf "%s\n" "@%:@define OPAL_BTL_USNIC_UNIT_TESTS $unit_tests" >>confdefs.h unset unit_tests # The current logic in btl_usnic_compat.h checks the OPAL version as a # proxy for the top-level OPAL version. Unfortunately this does the wrong # thing for other top-level projects that might use the usnic BTL, such as # ORCM. ORCM's versioning is totally unrelated to OPAL's. As a short term # workaround, just disqualify ourselves if the OPAL version seems too old. # In the longer term we should be doing something else, like versioning # OPAL and OPAL separately. opal_btl_usnic_happy=yes if test "$OPAL_MAJOR_VERSION" -eq "1" && \ test "$OPAL_MINOR_VERSION" -lt "7" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: OPAL version appears to be too old, disabling the usnic BTL" >&5 printf "%s\n" "$as_me: OPAL version appears to be too old, disabling the usnic BTL" >&6;} opal_btl_usnic_happy=no fi # We only want to build on 64 bit Linux. if test "$opal_btl_usnic_happy" = "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 void *" >&5 printf %s "checking size of void *... " >&6; } if test ${ac_cv_sizeof_void_p+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void *))" "ac_cv_sizeof_void_p" "$ac_includes_default" then : else case e in @%:@( e) 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 ;; esac fi ;; esac 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 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for 64 bit Linux" >&5 printf %s "checking for 64 bit Linux... " >&6; } case $host_os in *linux*) if test $ac_cv_sizeof_void_p -eq 8 then : else case e in @%:@( e) opal_btl_usnic_happy=no ;; esac fi ;; *) opal_btl_usnic_happy=no ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_btl_usnic_happy" >&5 printf "%s\n" "$opal_btl_usnic_happy" >&6; } fi if test "$opal_btl_usnic_happy" = "yes" then : # The usnic BTL requires OFI libfabric support opal_var_scope_push ${LINENO} opal_check_ofi_save_CPPFLAGS opal_check_ofi_save_LDFLAGS opal_check_ofi_save_LIBS opal_check_fi_info_pci # Add --with options @%:@ Check whether --with-libfabric was given. if test ${with_libfabric+y} then : withval=$with_libfabric; fi @%:@ Check whether --with-libfabric-libdir was given. if test ${with_libfabric_libdir+y} then : withval=$with_libfabric_libdir; fi @%:@ Check whether --with-ofi was given. if test ${with_ofi+y} then : withval=$with_ofi; fi @%:@ Check whether --with-ofi-libdir was given. if test ${with_ofi_libdir+y} then : withval=$with_ofi_libdir; fi if test -z "${with_ofi}" then : with_ofi=${with_libfabric} fi if test -z "${with_ofi_libdir}" then : with_ofi_libdir=${with_libfabric_libdir} fi opal_check_ofi_save_CPPFLAGS=${CPPFLAGS} opal_check_ofi_save_LDFLAGS=${LDFLAGS} opal_check_ofi_save_LIBS=${LIBS} opal_check_fi_info_pci=0 # ****************************** START CHECK PACKAGE FOR ofi ****************************** oac_var_scope_push ${LINENO} check_package_btl_usnic_save_CPPFLAGS check_package_btl_usnic_save_LDFLAGS check_package_btl_usnic_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_btl_usnic_save_CPPFLAGS="${CPPFLAGS}" check_package_btl_usnic_save_LDFLAGS="${LDFLAGS}" check_package_btl_usnic_save_LIBS="${LIBS}" btl_usnic_CPPFLAGS= btl_usnic_LDFLAGS= btl_usnic_STATIC_LDFLAGS= btl_usnic_LIBS= btl_usnic_STATIC_LIBS= { btl_usnic_PC_MODULES=; unset btl_usnic_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_ofi" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package ofi disabled by user" >&5 printf "%s\n" "$as_me: Package ofi disabled by user" >&6;} check_package_happy=0 elif test "${with_ofi}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_ofi}" ;; esac fi check_package_libdir= if test "${with_ofi_libdir}" = "no" -o "${with_ofi_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-ofi-libdir" "$LINENO" 5 elif test -n "${with_ofi_libdir}" then : check_package_libdir="${with_ofi_libdir}" fi check_package_incdir= if test "${with_ofi_incdir}" = "no" -o "${with_ofi_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-ofi-incdir" "$LINENO" 5 elif test -n "${with_ofi_incdir}" then : check_package_incdir="${with_ofi_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${ofi_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-ofi or --with-ofi-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-ofi only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi pkg-config name" >&5 printf %s "checking for ofi pkg-config name... " >&6; } if test ${oac_cv_check_package_ofi_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_ofi_pcfilename="libfabric" if test -n "${check_package_libdir}" then : oac_cv_check_package_ofi_pcfilename="${check_package_libdir}/pkgconfig/libfabric.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_ofi_pcfilename="libfabric" elif test -r "${check_package_prefix}/lib/pkgconfig/libfabric.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/libfabric.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found libfabric in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-ofi-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_ofi_pcfilename="${check_package_prefix}/lib/pkgconfig/libfabric.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/libfabric.pc" then : oac_cv_check_package_ofi_pcfilename="${check_package_prefix}/lib64/pkgconfig/libfabric.pc" else case e in @%:@( e) oac_cv_check_package_ofi_pcfilename="${check_package_prefix}/lib/pkgconfig/libfabric.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_ofi_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ofi pkg-config module exists" >&5 printf %s "checking if ofi pkg-config module exists... " >&6; } if test ${oac_cv_check_package_ofi_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_ofi_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_ofi_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : btl_usnic_PC_MODULES=${oac_cv_check_package_ofi_pcfilename} oac_cv_check_package_ofi_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_ofi_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_ofi_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_ofi_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi pkg-config cflags" >&5 printf %s "checking for ofi pkg-config cflags... " >&6; } if test ${oac_cv_check_package_ofi_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_ofi_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_ofi_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ofi_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_ofi_pkg_config_cppflags" >&6; } btl_usnic_CPPFLAGS="${oac_cv_check_package_ofi_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi pkg-config ldflags" >&5 printf %s "checking for ofi pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_ofi_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_ofi_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_ofi_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ofi_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ofi_pkg_config_ldflags" >&6; } btl_usnic_LDFLAGS="${oac_cv_check_package_ofi_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi pkg-config static ldflags" >&5 printf %s "checking for ofi pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_ofi_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_ofi_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_ofi_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ofi_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ofi_pkg_config_static_ldflags" >&6; } btl_usnic_STATIC_LDFLAGS="${oac_cv_check_package_ofi_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi pkg-config libs" >&5 printf %s "checking for ofi pkg-config libs... " >&6; } if test ${oac_cv_check_package_ofi_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_ofi_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_ofi_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ofi_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_ofi_pkg_config_libs" >&6; } btl_usnic_LIBS="${oac_cv_check_package_ofi_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi pkg-config static libs" >&5 printf %s "checking for ofi pkg-config static libs... " >&6; } if test ${oac_cv_check_package_ofi_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_ofi_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_ofi_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ofi_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_ofi_pkg_config_static_libs" >&6; } btl_usnic_STATIC_LIBS="${oac_cv_check_package_ofi_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${ofi_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-ofi argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi wrapper compiler" >&5 printf %s "checking for ofi wrapper compiler... " >&6; } if test ${oac_cv_check_package_ofi_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_ofi_wrapper_compiler="oficc" else case e in @%:@( e) oac_cv_check_package_ofi_wrapper_compiler="${check_package_prefix}/bin/oficc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_ofi_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ofi wrapper compiler works" >&5 printf %s "checking if ofi wrapper compiler works... " >&6; } if test ${oac_cv_check_package_ofi_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_ofi_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_ofi_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_ofi_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_ofi_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi wrapper compiler cppflags" >&5 printf %s "checking for ofi wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_ofi_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ofi_wrapper_compiler_cppflags}" then : oac_cv_check_package_ofi_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ofi_wrapper_compiler_cppflags="${oac_cv_check_package_ofi_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_ofi_wrapper_compiler_cppflags" >&6; } btl_usnic_CPPFLAGS="${oac_cv_check_package_ofi_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi wrapper compiler ldflags" >&5 printf %s "checking for ofi wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_ofi_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ofi_wrapper_compiler_ldflags}" then : oac_cv_check_package_ofi_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ofi_wrapper_compiler_ldflags="${oac_cv_check_package_ofi_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ofi_wrapper_compiler_ldflags" >&6; } btl_usnic_LDFLAGS="${oac_cv_check_package_ofi_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi wrapper compiler static ldflags" >&5 printf %s "checking for ofi wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_ofi_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ofi_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_ofi_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ofi_wrapper_compiler_static_ldflags="${oac_cv_check_package_ofi_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ofi_wrapper_compiler_static_ldflags" >&6; } btl_usnic_STATIC_LDFLAGS="${oac_cv_check_package_ofi_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi wrapper compiler libs" >&5 printf %s "checking for ofi wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_ofi_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ofi_wrapper_compiler_libs}" then : oac_cv_check_package_ofi_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ofi_wrapper_compiler_libs="${oac_cv_check_package_ofi_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_ofi_wrapper_compiler_libs" >&6; } btl_usnic_LIBS="$oac_cv_check_package_ofi_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi wrapper compiler static libs" >&5 printf %s "checking for ofi wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_ofi_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ofi_wrapper_compiler_static_libs}" then : oac_cv_check_package_ofi_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ofi_wrapper_compiler_static_libs="${oac_cv_check_package_ofi_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_ofi_wrapper_compiler_static_libs" >&6; } btl_usnic_STATIC_LIBS="${oac_cv_check_package_ofi_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "rdma/fabric.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "fabric" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi header at ${check_package_generic_incdir}" >&5 printf %s "checking for ofi header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 btl_usnic_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for ofi library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 btl_usnic_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for ofi library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-ofi-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 btl_usnic_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 btl_usnic_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 btl_usnic_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for ofi in default search paths" >&5 printf "%s\n" "$as_me: Searching for ofi in default search paths" >&6;} ofi_CPPFLAGS= ofi_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in fabric ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${btl_usnic_LIBS}" then : btl_usnic_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) btl_usnic_LIBS="${btl_usnic_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${btl_usnic_STATIC_LIBS}" then : btl_usnic_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) btl_usnic_STATIC_LIBS="${btl_usnic_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi cppflags" >&5 printf %s "checking for ofi cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $btl_usnic_CPPFLAGS" >&5 printf "%s\n" "$btl_usnic_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi ldflags" >&5 printf %s "checking for ofi ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $btl_usnic_LDFLAGS" >&5 printf "%s\n" "$btl_usnic_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi libs" >&5 printf %s "checking for ofi libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $btl_usnic_LIBS" >&5 printf "%s\n" "$btl_usnic_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi static libs" >&5 printf %s "checking for ofi static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $btl_usnic_STATIC_LIBS" >&5 printf "%s\n" "$btl_usnic_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${btl_usnic_LDFLAGS}" then : btl_usnic_LDFLAGS="${btl_usnic_STATIC_LDFLAGS}" else case e in @%:@( e) btl_usnic_LDFLAGS="${btl_usnic_LDFLAGS} ${btl_usnic_STATIC_LDFLAGS}" ;; esac fi if test -z "${btl_usnic_LIBS}" then : btl_usnic_LIBS="${btl_usnic_STATIC_LIBS}" else case e in @%:@( e) btl_usnic_LIBS="${btl_usnic_LIBS} ${btl_usnic_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "rdma/fabric.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${btl_usnic_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${btl_usnic_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${btl_usnic_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${btl_usnic_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${btl_usnic_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${btl_usnic_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "fi_getinfo" "ac_cv_func_fi_getinfo" if test "x$ac_cv_func_fi_getinfo" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ofi requires libnl v1 or v3" >&5 printf %s "checking if ofi requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_ofi+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void fi_getinfo (void); int main(int argc, char *argv[]) { fi_getinfo (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib ofi" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib ofi" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_ofi=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_ofi" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_ofi" >&6; } result_msg=$opal_libnl_sanity_check_cv_ofi this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, ofi links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, ofi links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libofi (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libofi (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libofi." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libofi." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas ofi requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas ofi requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libofi (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libofi (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libofi." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libofi." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs ofi" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas ofi requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas ofi requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libofi (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libofi (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libofi." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libofi." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs ofi" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi btl_usnic_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : btl_usnic_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) btl_usnic_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi opal_ofi_happy=yes else case e in @%:@( e) if test "${with_ofi}" = "no" then : btl_usnic_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) btl_usnic_SUMMARY="no (not found)" ;; esac fi { btl_usnic_CPPFLAGS=; unset btl_usnic_CPPFLAGS;} { btl_usnic_LDFLAGS=; unset btl_usnic_LDFLAGS;} { btl_usnic_STATIC_LDFLAGS=; unset btl_usnic_STATIC_LDFLAGS;} { btl_usnic_LIBS=; unset btl_usnic_LIBS;} { btl_usnic_STATIC_LIBS=; unset btl_usnic_STATIC_LIBS;} opal_ofi_happy=no ;; esac fi CPPFLAGS="${check_package_btl_usnic_save_CPPFLAGS}" LDFLAGS="${check_package_btl_usnic_save_LDFLAGS}" LIBS="${check_package_btl_usnic_save_LIBS}" oac_var_scope_pop check_package_btl_usnic_save_CPPFLAGS check_package_btl_usnic_save_LDFLAGS check_package_btl_usnic_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR ofi ****************************** oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${btl_usnic_CPPFLAGS}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${CPPFLAGS}; 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 "${CPPFLAGS}" then : CPPFLAGS="$oac_list_arg" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test $opal_ofi_happy = yes then : ac_fn_c_check_header_compile "$LINENO" "rdma/fi_ext.h" "ac_cv_header_rdma_fi_ext_h" "$ac_includes_default" if test "x$ac_cv_header_rdma_fi_ext_h" = xyes then : printf "%s\n" "@%:@define HAVE_RDMA_FI_EXT_H 1" >>confdefs.h fi ac_fn_c_check_member "$LINENO" "struct fi_info" "nic" "ac_cv_member_struct_fi_info_nic" "#include " if test "x$ac_cv_member_struct_fi_info_nic" = xyes then : opal_check_fi_info_pci=1 else case e in @%:@( e) opal_check_fi_info_pci=0 ;; esac fi printf "%s\n" "@%:@define OPAL_OFI_PCI_DATA_AVAILABLE ${opal_check_fi_info_pci}" >>confdefs.h ac_fn_check_decl "$LINENO" "FI_OPT_FI_HMEM_P2P" "ac_cv_have_decl_FI_OPT_FI_HMEM_P2P" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_FI_OPT_FI_HMEM_P2P" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_FI_OPT_FI_HMEM_P2P $ac_have_decl" >>confdefs.h ac_fn_c_check_type "$LINENO" "struct fi_ops_mem_monitor" "ac_cv_type_struct_fi_ops_mem_monitor" "#ifdef HAVE_RDMA_FI_EXT_H #include #endif " if test "x$ac_cv_type_struct_fi_ops_mem_monitor" = xyes then : printf "%s\n" "@%:@define HAVE_STRUCT_FI_OPS_MEM_MONITOR 1" >>confdefs.h fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${opal_pmix_CPPFLAGS}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${CPPFLAGS}; 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 "${CPPFLAGS}" then : CPPFLAGS="$oac_list_arg" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val ac_fn_check_decl "$LINENO" "PMIX_PACKAGE_RANK" "ac_cv_have_decl_PMIX_PACKAGE_RANK" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_PMIX_PACKAGE_RANK" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_PMIX_PACKAGE_RANK $ac_have_decl" >>confdefs.h ac_fn_c_check_member "$LINENO" "struct fi_mr_attr" "iface" "ac_cv_member_struct_fi_mr_attr_iface" "#include " if test "x$ac_cv_member_struct_fi_mr_attr_iface" = xyes then : opal_check_fi_mr_attr_iface=1 else case e in @%:@( e) opal_check_fi_mr_attr_iface=0 ;; esac fi printf "%s\n" "@%:@define OPAL_OFI_HAVE_FI_MR_IFACE ${opal_check_fi_mr_attr_iface}" >>confdefs.h ac_fn_check_decl "$LINENO" "FI_HMEM_ROCR" "ac_cv_have_decl_FI_HMEM_ROCR" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_FI_HMEM_ROCR" = xyes then : opal_check_fi_hmem_rocr=1 else case e in @%:@( e) opal_check_fi_hmem_rocr=0 ;; esac fi printf "%s\n" "@%:@define OPAL_OFI_HAVE_FI_HMEM_ROCR ${opal_check_fi_hmem_rocr}" >>confdefs.h fi CPPFLAGS=${opal_check_ofi_save_CPPFLAGS} LDFLAGS=${opal_check_ofi_save_LDFLAGS} LIBS=${opal_check_ofi_save_LIBS} opal_ofi_internal_CPPFLAGS="${btl_usnic_CPPFLAGS}" 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="OpenFabrics OFI Libfabric: ${btl_usnic_SUMMARY}" oac_summary_key="TransportsOpenFabrics_OFI_Libfabric" # Use the section name variable as an indicator for whether or not # the section has already been created. if test ${oac_summary_section_Transports_name+y} then : else case e in @%:@( e) oac_summary_section_Transports_name="Transports" if test -z "${oac_summary_sections}" then : oac_summary_sections="Transports" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} Transports" ;; esac fi ;; esac 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 case e in @%:@( e) eval "${oac_summary_key}=1" if test ${oac_summary_section_Transports_value+y} then : as_fn_append oac_summary_section_Transports_value "${oac_summary_newline}${oac_summary_line}" else case e in @%:@( e) oac_summary_section_Transports_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key if test "${opal_ofi_happy}" = "yes" then : else case e in @%:@( e) if test -n "${with_ofi}" && test "${with_ofi}" != "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: OFI libfabric support requested (via --with-ofi or --with-libfabric), but not found." >&5 printf "%s\n" "$as_me: WARNING: OFI libfabric support requested (via --with-ofi or --with-libfabric), but not found." >&2;} as_fn_error $? "Cannot continue." "$LINENO" 5 fi ;; esac fi opal_var_scope_pop opal_check_ofi_save_CPPFLAGS opal_check_ofi_save_LDFLAGS opal_check_ofi_save_LIBS opal_check_fi_info_pci opal_btl_usnic_happy=$opal_ofi_happy fi # The usnic BTL requires at least OFI libfabric v1.3. if test "$opal_btl_usnic_happy" = "yes" then : opal_var_scope_push ${LINENO} opal_ofi_ver_ge_save_CPPFLAGS opal_ofi_ver_ge_happy { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if OFI API version number is >= 1.3" >&5 printf %s "checking if OFI API version number is >= 1.3... " >&6; } if test ${opal_ofi_ver_ge_cv_1_3+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) opal_ofi_ver_ge_save_CPPFLAGS=$CPPFLAGS CPPFLAGS=$opal_ofi_internal_CPPFLAGS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #if !defined(FI_MAJOR_VERSION) #error "we cannot check the version -- sad panda" #elif FI_VERSION_LT(FI_VERSION(FI_MAJOR_VERSION, FI_MINOR_VERSION), FI_VERSION(1,3)) #error "version is too low -- nopes" #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : opal_ofi_ver_ge_cv_1_3=yes else case e in @%:@( e) opal_ofi_ver_ge_cv_1_3=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_ofi_ver_ge_cv_1_3" >&5 printf "%s\n" "$opal_ofi_ver_ge_cv_1_3" >&6; } if test "${opal_ofi_ver_ge_cv_1_3}" = "yes" then : else case e in @%:@( e) opal_btl_usnic_happy=no ;; esac fi CPPFLAGS=$opal_ofi_ver_ge_save_CPPFLAGS opal_var_scope_pop opal_ofi_ver_ge_save_CPPFLAGS opal_ofi_ver_ge_happy fi # Make sure we can find the OFI libfabric usnic extensions header if test "$opal_btl_usnic_happy" = "yes" then : opal_btl_usnic_CPPFLAGS_save=$CPPFLAGS CPPFLAGS="$btl_usnic_CPPFLAGS $CPPFLAGS" ac_fn_c_check_header_compile "$LINENO" "rdma/fi_ext_usnic.h" "ac_cv_header_rdma_fi_ext_usnic_h" "$ac_includes_default" if test "x$ac_cv_header_rdma_fi_ext_usnic_h" = xyes then : else case e in @%:@( e) opal_btl_usnic_happy=no ;; esac fi CPPFLAGS=$opal_btl_usnic_CPPFLAGS_save fi # All done if test "$opal_btl_usnic_happy" = "yes" then : should_build=$should_build else case e in @%:@( e) if test "$with_usnic" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: --with-usnic was specified, but Cisco usNIC support cannot be built" >&5 printf "%s\n" "$as_me: WARNING: --with-usnic was specified, but Cisco usNIC support cannot be built" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 else case e in @%:@( e) should_build=0 ;; esac fi ;; esac fi 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="Cisco usNIC: $opal_btl_usnic_happy" oac_summary_key="TransportsCisco_usNIC" # Use the section name variable as an indicator for whether or not # the section has already been created. if test ${oac_summary_section_Transports_name+y} then : else case e in @%:@( e) oac_summary_section_Transports_name="Transports" if test -z "${oac_summary_sections}" then : oac_summary_sections="Transports" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} Transports" ;; esac fi ;; esac 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 case e in @%:@( e) eval "${oac_summary_key}=1" if test ${oac_summary_section_Transports_value+y} then : as_fn_append oac_summary_section_Transports_value "${oac_summary_newline}${oac_summary_line}" else case e in @%:@( e) oac_summary_section_Transports_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key opal_var_scope_pop unit_tests ;; esac fi opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/btl/usnic/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components usnic" if test "$compile_mode" = "dso" ; then dso_components="$dso_components usnic" else if test "btl" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/btl/usnic/lib${OPAL_LIB_NAME}mca_btl_usnic.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/btl/usnic/libmca_btl_usnic.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_btl_usnic_component;" >> $outfile.extern echo " &mca_btl_usnic_component, " >> $outfile.struct static_components="$static_components usnic" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component btl:usnic can compile" >&5 printf %s "checking if MCA component btl:usnic can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_btl" = "usnic" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_btl_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** btl component usnic was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_btl" = "usnic" ; then as_fn_error $? "*** btl component usnic was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${btl_usnic_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${btl_usnic_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${btl_usnic_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${btl_usnic_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${btl_usnic_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${btl_usnic_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$btl_usnic_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $btl_usnic_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring btl_usnic_WRAPPER_EXTRA_CPPFLAGS ($btl_usnic_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring btl_usnic_WRAPPER_EXTRA_CPPFLAGS ($btl_usnic_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component btl:usnic can compile" >&5 printf %s "checking if MCA component btl:usnic can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_btl" = "usnic" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"usnic\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"usnic\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_btl" ; then if test "$DIRECT_btl" = "usnic" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"usnic\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"usnic\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components usnic" ;; esac fi if test "$should_build" -eq 1 && test "X$enable_opal_btl_usnic_unit_tests" = "Xyes"; then OPAL_BTL_USNIC_BUILD_UNIT_TESTS_TRUE= OPAL_BTL_USNIC_BUILD_UNIT_TESTS_FALSE='#' else OPAL_BTL_USNIC_BUILD_UNIT_TESTS_TRUE='#' OPAL_BTL_USNIC_BUILD_UNIT_TESTS_FALSE= fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_btl_usnic_DSO=1 else case e in @%:@( e) BUILD_opal_btl_usnic_DSO=0 ;; esac fi if test "$BUILD_opal_btl_usnic_DSO" = "1"; then MCA_BUILD_opal_btl_usnic_DSO_TRUE= MCA_BUILD_opal_btl_usnic_DSO_FALSE='#' else MCA_BUILD_opal_btl_usnic_DSO_TRUE='#' MCA_BUILD_opal_btl_usnic_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test ${DIRECT_btl+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for btl framework" >&5 printf %s "checking if direct-selection component exists for btl framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_btl" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_btl requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_btl" >&5 printf "%s\n" "$DIRECT_btl" >&6; } fi MCA_opal_btl_ALL_COMPONENTS="$all_components" MCA_opal_btl_STATIC_COMPONENTS="$static_components" MCA_opal_btl_DSO_COMPONENTS="$dso_components" MCA_opal_btl_STATIC_LTLIBS="$static_ltlibs" MCA_opal_btl_ALL_SUBDIRS= for item in $all_components ; do MCA_opal_btl_ALL_SUBDIRS="$MCA_opal_btl_ALL_SUBDIRS mca/btl/$item" done MCA_opal_btl_STATIC_SUBDIRS= for item in $static_components ; do MCA_opal_btl_STATIC_SUBDIRS="$MCA_opal_btl_STATIC_SUBDIRS mca/btl/$item" done MCA_opal_btl_DSO_SUBDIRS= for item in $dso_components ; do MCA_opal_btl_DSO_SUBDIRS="$MCA_opal_btl_DSO_SUBDIRS mca/btl/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "btl" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real MCA_opal_FRAMEWORKS="$MCA_opal_FRAMEWORKS dl" MCA_opal_FRAMEWORKS_SUBDIRS="$MCA_opal_FRAMEWORKS_SUBDIRS mca/dl" MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_opal_dl_ALL_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_opal_dl_DSO_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_opal_dl_STATIC_SUBDIRS)" mca_opal_framework_base_lib="mca/dl/libmca_dl.la" MCA_opal_FRAMEWORK_CORE_LIBS="$MCA_opal_FRAMEWORK_CORE_LIBS ${mca_opal_framework_base_lib} \$(MCA_opal_dl_STATIC_LTLIBS)" OPAL_HAVE_DL_SUPPORT=0 # If --disable-dlopen was used, then have all the components fail # (we still need to configure them all so that things like "make # dist" work", but we just want the MCA system to (artificially) # conclude that it can't build any of the components. if test "$enable_dlopen" = "no" then : want_dl=0 else case e in @%:@( e) want_dl=1 ;; esac fi opal_show_subsubtitle "Configuring MCA framework dl" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=opal/mca/dl/base as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files opal/mca/dl/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework dl" >&5 printf %s "checking for no configure components in framework dl... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework dl" >&5 printf %s "checking for m4 configure components in framework dl... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: dlopen, libltdl" >&5 printf "%s\n" "dlopen, libltdl" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=$want_dl components_last_result=0 opal_show_subsubsubtitle "MCA component dl:dlopen (m4 configuration macro, priority 80)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/dl/dlopen" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_dl" ; then if test "$DIRECT_dl" = "dlopen" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_dl" = "1" then : want_component=0 fi if test "${DISABLE_dl_dlopen}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_dl_dlopen_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} component_compile_mode_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component dl:dlopen compile mode" >&5 printf %s "checking for MCA component dl:dlopen compile mode... " >&6; } component_compile_mode_tmp="static" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $component_compile_mode_tmp" >&5 printf "%s\n" "$component_compile_mode_tmp" >&6; } eval opal_dl_dlopen_compile_mode=\$$component_compile_mode_tmp opal_var_scope_pop component_compile_mode_tmp ;; esac fi compile_mode=$opal_dl_dlopen_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/dl/dlopen/Makefile" # ****************************** START CHECK PACKAGE FOR dlopen ****************************** oac_var_scope_push ${LINENO} check_package_opal_dl_dlopen_save_CPPFLAGS check_package_opal_dl_dlopen_save_LDFLAGS check_package_opal_dl_dlopen_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_opal_dl_dlopen_save_CPPFLAGS="${CPPFLAGS}" check_package_opal_dl_dlopen_save_LDFLAGS="${LDFLAGS}" check_package_opal_dl_dlopen_save_LIBS="${LIBS}" opal_dl_dlopen_CPPFLAGS= opal_dl_dlopen_LDFLAGS= opal_dl_dlopen_STATIC_LDFLAGS= opal_dl_dlopen_LIBS= opal_dl_dlopen_STATIC_LIBS= { opal_dl_dlopen_PC_MODULES=; unset opal_dl_dlopen_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_dlopen" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package dlopen disabled by user" >&5 printf "%s\n" "$as_me: Package dlopen disabled by user" >&6;} check_package_happy=0 elif test "${with_dlopen}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_dlopen}" ;; esac fi check_package_libdir= if test "${with_dlopen_libdir}" = "no" -o "${with_dlopen_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-dlopen-libdir" "$LINENO" 5 elif test -n "${with_dlopen_libdir}" then : check_package_libdir="${with_dlopen_libdir}" fi check_package_incdir= if test "${with_dlopen_incdir}" = "no" -o "${with_dlopen_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-dlopen-incdir" "$LINENO" 5 elif test -n "${with_dlopen_incdir}" then : check_package_incdir="${with_dlopen_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${dlopen_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-dlopen or --with-dlopen-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-dlopen only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen pkg-config name" >&5 printf %s "checking for dlopen pkg-config name... " >&6; } if test ${oac_cv_check_package_dlopen_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_dlopen_pcfilename="dlopen" if test -n "${check_package_libdir}" then : oac_cv_check_package_dlopen_pcfilename="${check_package_libdir}/pkgconfig/dlopen.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_dlopen_pcfilename="dlopen" elif test -r "${check_package_prefix}/lib/pkgconfig/dlopen.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/dlopen.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found dlopen in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-dlopen-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_dlopen_pcfilename="${check_package_prefix}/lib/pkgconfig/dlopen.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/dlopen.pc" then : oac_cv_check_package_dlopen_pcfilename="${check_package_prefix}/lib64/pkgconfig/dlopen.pc" else case e in @%:@( e) oac_cv_check_package_dlopen_pcfilename="${check_package_prefix}/lib/pkgconfig/dlopen.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_dlopen_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_dlopen_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if dlopen pkg-config module exists" >&5 printf %s "checking if dlopen pkg-config module exists... " >&6; } if test ${oac_cv_check_package_dlopen_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_dlopen_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_dlopen_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : opal_dl_dlopen_PC_MODULES=${oac_cv_check_package_dlopen_pcfilename} oac_cv_check_package_dlopen_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_dlopen_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_dlopen_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_dlopen_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_dlopen_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen pkg-config cflags" >&5 printf %s "checking for dlopen pkg-config cflags... " >&6; } if test ${oac_cv_check_package_dlopen_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_dlopen_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_dlopen_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_dlopen_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving dlopen cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_dlopen_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_dlopen_pkg_config_cppflags" >&6; } opal_dl_dlopen_CPPFLAGS="${oac_cv_check_package_dlopen_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen pkg-config ldflags" >&5 printf %s "checking for dlopen pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_dlopen_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_dlopen_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_dlopen_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_dlopen_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving dlopen ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_dlopen_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_dlopen_pkg_config_ldflags" >&6; } opal_dl_dlopen_LDFLAGS="${oac_cv_check_package_dlopen_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen pkg-config static ldflags" >&5 printf %s "checking for dlopen pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_dlopen_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_dlopen_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_dlopen_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_dlopen_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving dlopen static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_dlopen_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_dlopen_pkg_config_static_ldflags" >&6; } opal_dl_dlopen_STATIC_LDFLAGS="${oac_cv_check_package_dlopen_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen pkg-config libs" >&5 printf %s "checking for dlopen pkg-config libs... " >&6; } if test ${oac_cv_check_package_dlopen_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_dlopen_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_dlopen_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_dlopen_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving dlopen libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_dlopen_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_dlopen_pkg_config_libs" >&6; } opal_dl_dlopen_LIBS="${oac_cv_check_package_dlopen_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen pkg-config static libs" >&5 printf %s "checking for dlopen pkg-config static libs... " >&6; } if test ${oac_cv_check_package_dlopen_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_dlopen_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_dlopen_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_dlopen_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving dlopen libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_dlopen_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_dlopen_pkg_config_static_libs" >&6; } opal_dl_dlopen_STATIC_LIBS="${oac_cv_check_package_dlopen_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${dlopen_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-dlopen argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen wrapper compiler" >&5 printf %s "checking for dlopen wrapper compiler... " >&6; } if test ${oac_cv_check_package_dlopen_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_dlopen_wrapper_compiler="dlopencc" else case e in @%:@( e) oac_cv_check_package_dlopen_wrapper_compiler="${check_package_prefix}/bin/dlopencc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_dlopen_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_dlopen_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if dlopen wrapper compiler works" >&5 printf %s "checking if dlopen wrapper compiler works... " >&6; } if test ${oac_cv_check_package_dlopen_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_dlopen_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_dlopen_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_dlopen_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_dlopen_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_dlopen_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_dlopen_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_dlopen_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen wrapper compiler cppflags" >&5 printf %s "checking for dlopen wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_dlopen_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_dlopen_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_dlopen_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_dlopen_wrapper_compiler_cppflags}" then : oac_cv_check_package_dlopen_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_dlopen_wrapper_compiler_cppflags="${oac_cv_check_package_dlopen_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving dlopen cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_dlopen_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_dlopen_wrapper_compiler_cppflags" >&6; } opal_dl_dlopen_CPPFLAGS="${oac_cv_check_package_dlopen_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen wrapper compiler ldflags" >&5 printf %s "checking for dlopen wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_dlopen_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_dlopen_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_dlopen_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_dlopen_wrapper_compiler_ldflags}" then : oac_cv_check_package_dlopen_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_dlopen_wrapper_compiler_ldflags="${oac_cv_check_package_dlopen_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving dlopen ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_dlopen_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_dlopen_wrapper_compiler_ldflags" >&6; } opal_dl_dlopen_LDFLAGS="${oac_cv_check_package_dlopen_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen wrapper compiler static ldflags" >&5 printf %s "checking for dlopen wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_dlopen_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_dlopen_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_dlopen_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_dlopen_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_dlopen_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_dlopen_wrapper_compiler_static_ldflags="${oac_cv_check_package_dlopen_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving dlopen static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_dlopen_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_dlopen_wrapper_compiler_static_ldflags" >&6; } opal_dl_dlopen_STATIC_LDFLAGS="${oac_cv_check_package_dlopen_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen wrapper compiler libs" >&5 printf %s "checking for dlopen wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_dlopen_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_dlopen_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_dlopen_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_dlopen_wrapper_compiler_libs}" then : oac_cv_check_package_dlopen_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_dlopen_wrapper_compiler_libs="${oac_cv_check_package_dlopen_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving dlopen libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_dlopen_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_dlopen_wrapper_compiler_libs" >&6; } opal_dl_dlopen_LIBS="$oac_cv_check_package_dlopen_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen wrapper compiler static libs" >&5 printf %s "checking for dlopen wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_dlopen_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_dlopen_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_dlopen_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_dlopen_wrapper_compiler_static_libs}" then : oac_cv_check_package_dlopen_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_dlopen_wrapper_compiler_static_libs="${oac_cv_check_package_dlopen_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving dlopen static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_dlopen_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_dlopen_wrapper_compiler_static_libs" >&6; } opal_dl_dlopen_STATIC_LIBS="${oac_cv_check_package_dlopen_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "dlfcn.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "dl" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen header at ${check_package_generic_incdir}" >&5 printf %s "checking for dlopen header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 opal_dl_dlopen_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for dlopen library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 opal_dl_dlopen_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for dlopen library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-dlopen-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 opal_dl_dlopen_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 opal_dl_dlopen_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 opal_dl_dlopen_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for dlopen in default search paths" >&5 printf "%s\n" "$as_me: Searching for dlopen in default search paths" >&6;} dlopen_CPPFLAGS= dlopen_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in dl ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${opal_dl_dlopen_LIBS}" then : opal_dl_dlopen_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) opal_dl_dlopen_LIBS="${opal_dl_dlopen_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${opal_dl_dlopen_STATIC_LIBS}" then : opal_dl_dlopen_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) opal_dl_dlopen_STATIC_LIBS="${opal_dl_dlopen_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen cppflags" >&5 printf %s "checking for dlopen cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_dl_dlopen_CPPFLAGS" >&5 printf "%s\n" "$opal_dl_dlopen_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen ldflags" >&5 printf %s "checking for dlopen ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_dl_dlopen_LDFLAGS" >&5 printf "%s\n" "$opal_dl_dlopen_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen libs" >&5 printf %s "checking for dlopen libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_dl_dlopen_LIBS" >&5 printf "%s\n" "$opal_dl_dlopen_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen static libs" >&5 printf %s "checking for dlopen static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_dl_dlopen_STATIC_LIBS" >&5 printf "%s\n" "$opal_dl_dlopen_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${opal_dl_dlopen_LDFLAGS}" then : opal_dl_dlopen_LDFLAGS="${opal_dl_dlopen_STATIC_LDFLAGS}" else case e in @%:@( e) opal_dl_dlopen_LDFLAGS="${opal_dl_dlopen_LDFLAGS} ${opal_dl_dlopen_STATIC_LDFLAGS}" ;; esac fi if test -z "${opal_dl_dlopen_LIBS}" then : opal_dl_dlopen_LIBS="${opal_dl_dlopen_STATIC_LIBS}" else case e in @%:@( e) opal_dl_dlopen_LIBS="${opal_dl_dlopen_LIBS} ${opal_dl_dlopen_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "dlfcn.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${opal_dl_dlopen_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${opal_dl_dlopen_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${opal_dl_dlopen_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${opal_dl_dlopen_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${opal_dl_dlopen_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${opal_dl_dlopen_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" if test "x$ac_cv_func_dlopen" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if dlopen requires libnl v1 or v3" >&5 printf %s "checking if dlopen requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_dlopen+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void dlopen (void); int main(int argc, char *argv[]) { dlopen (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib dlopen" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib dlopen" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_dlopen=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_dlopen" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_dlopen" >&6; } result_msg=$opal_libnl_sanity_check_cv_dlopen this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, dlopen links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, dlopen links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libdlopen (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libdlopen (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libdlopen." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libdlopen." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas dlopen requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas dlopen requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libdlopen (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libdlopen (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libdlopen." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libdlopen." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs dlopen" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas dlopen requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas dlopen requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libdlopen (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libdlopen (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libdlopen." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libdlopen." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs dlopen" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi opal_dl_dlopen_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : opal_dl_dlopen_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) opal_dl_dlopen_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi opal_dl_dlopen_happy=yes else case e in @%:@( e) if test "${with_dlopen}" = "no" then : opal_dl_dlopen_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) opal_dl_dlopen_SUMMARY="no (not found)" ;; esac fi { opal_dl_dlopen_CPPFLAGS=; unset opal_dl_dlopen_CPPFLAGS;} { opal_dl_dlopen_LDFLAGS=; unset opal_dl_dlopen_LDFLAGS;} { opal_dl_dlopen_STATIC_LDFLAGS=; unset opal_dl_dlopen_STATIC_LDFLAGS;} { opal_dl_dlopen_LIBS=; unset opal_dl_dlopen_LIBS;} { opal_dl_dlopen_STATIC_LIBS=; unset opal_dl_dlopen_STATIC_LIBS;} opal_dl_dlopen_happy=no ;; esac fi CPPFLAGS="${check_package_opal_dl_dlopen_save_CPPFLAGS}" LDFLAGS="${check_package_opal_dl_dlopen_save_LDFLAGS}" LIBS="${check_package_opal_dl_dlopen_save_LIBS}" oac_var_scope_pop check_package_opal_dl_dlopen_save_CPPFLAGS check_package_opal_dl_dlopen_save_LDFLAGS check_package_opal_dl_dlopen_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR dlopen ****************************** if test "$opal_dl_dlopen_happy" = "yes" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/dl/dlopen/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components dlopen" if test "$compile_mode" = "dso" ; then dso_components="$dso_components dlopen" else if test "dl" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/dl/dlopen/lib${OPAL_LIB_NAME}mca_dl_dlopen.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/dl/dlopen/libmca_dl_dlopen.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_dl_dlopen_component;" >> $outfile.extern echo " &mca_dl_dlopen_component, " >> $outfile.struct static_components="$static_components dlopen" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component dl:dlopen can compile" >&5 printf %s "checking if MCA component dl:dlopen can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_dl" = "dlopen" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_dl_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** dl component dlopen was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_dl" = "dlopen" ; then as_fn_error $? "*** dl component dlopen was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${dl_dlopen_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${dl_dlopen_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${dl_dlopen_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${dl_dlopen_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${dl_dlopen_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${dl_dlopen_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$dl_dlopen_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=1 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $dl_dlopen_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring dl_dlopen_WRAPPER_EXTRA_CPPFLAGS ($dl_dlopen_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring dl_dlopen_WRAPPER_EXTRA_CPPFLAGS ($dl_dlopen_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component dl:dlopen can compile" >&5 printf %s "checking if MCA component dl:dlopen can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_dl" = "dlopen" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"dlopen\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"dlopen\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_dl" ; then if test "$DIRECT_dl" = "dlopen" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"dlopen\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"dlopen\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components dlopen" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_dl_dlopen_DSO=1 else case e in @%:@( e) BUILD_opal_dl_dlopen_DSO=0 ;; esac fi if test "$BUILD_opal_dl_dlopen_DSO" = "1"; then MCA_BUILD_opal_dl_dlopen_DSO_TRUE= MCA_BUILD_opal_dl_dlopen_DSO_FALSE='#' else MCA_BUILD_opal_dl_dlopen_DSO_TRUE='#' MCA_BUILD_opal_dl_dlopen_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test $components_last_result -eq 1 then : components_looking_for_succeed=0 fi opal_show_subsubsubtitle "MCA component dl:libltdl (m4 configuration macro, priority 50)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/dl/libltdl" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_dl" ; then if test "$DIRECT_dl" = "libltdl" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_dl" = "1" then : want_component=0 fi if test "${DISABLE_dl_libltdl}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_dl_libltdl_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} component_compile_mode_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component dl:libltdl compile mode" >&5 printf %s "checking for MCA component dl:libltdl compile mode... " >&6; } component_compile_mode_tmp="static" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $component_compile_mode_tmp" >&5 printf "%s\n" "$component_compile_mode_tmp" >&6; } eval opal_dl_libltdl_compile_mode=\$$component_compile_mode_tmp opal_var_scope_pop component_compile_mode_tmp ;; esac fi compile_mode=$opal_dl_libltdl_compile_mode # try to configure the component opal_var_scope_push ${LINENO} CPPFLAGS_save LDFLAGS_save LIBS_save ac_config_files="$ac_config_files opal/mca/dl/libltdl/Makefile" # Add --with options @%:@ Check whether --with-libltdl was given. if test ${with_libltdl+y} then : withval=$with_libltdl; fi @%:@ Check whether --with-libltdl-libdir was given. if test ${with_libltdl_libdir+y} then : withval=$with_libltdl_libdir; fi # ****************************** START CHECK PACKAGE FOR libltdl ****************************** oac_var_scope_push ${LINENO} check_package_dl_libltdl_save_CPPFLAGS check_package_dl_libltdl_save_LDFLAGS check_package_dl_libltdl_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_dl_libltdl_save_CPPFLAGS="${CPPFLAGS}" check_package_dl_libltdl_save_LDFLAGS="${LDFLAGS}" check_package_dl_libltdl_save_LIBS="${LIBS}" dl_libltdl_CPPFLAGS= dl_libltdl_LDFLAGS= dl_libltdl_STATIC_LDFLAGS= dl_libltdl_LIBS= dl_libltdl_STATIC_LIBS= { dl_libltdl_PC_MODULES=; unset dl_libltdl_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_libltdl" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package libltdl disabled by user" >&5 printf "%s\n" "$as_me: Package libltdl disabled by user" >&6;} check_package_happy=0 elif test "${with_libltdl}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_libltdl}" ;; esac fi check_package_libdir= if test "${with_libltdl_libdir}" = "no" -o "${with_libltdl_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-libltdl-libdir" "$LINENO" 5 elif test -n "${with_libltdl_libdir}" then : check_package_libdir="${with_libltdl_libdir}" fi check_package_incdir= if test "${with_libltdl_incdir}" = "no" -o "${with_libltdl_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-libltdl-incdir" "$LINENO" 5 elif test -n "${with_libltdl_incdir}" then : check_package_incdir="${with_libltdl_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${libltdl_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-libltdl or --with-libltdl-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-libltdl only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libltdl pkg-config name" >&5 printf %s "checking for libltdl pkg-config name... " >&6; } if test ${oac_cv_check_package_libltdl_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_libltdl_pcfilename="libltdl" if test -n "${check_package_libdir}" then : oac_cv_check_package_libltdl_pcfilename="${check_package_libdir}/pkgconfig/libltdl.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_libltdl_pcfilename="libltdl" elif test -r "${check_package_prefix}/lib/pkgconfig/libltdl.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/libltdl.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found libltdl in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-libltdl-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_libltdl_pcfilename="${check_package_prefix}/lib/pkgconfig/libltdl.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/libltdl.pc" then : oac_cv_check_package_libltdl_pcfilename="${check_package_prefix}/lib64/pkgconfig/libltdl.pc" else case e in @%:@( e) oac_cv_check_package_libltdl_pcfilename="${check_package_prefix}/lib/pkgconfig/libltdl.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libltdl_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_libltdl_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if libltdl pkg-config module exists" >&5 printf %s "checking if libltdl pkg-config module exists... " >&6; } if test ${oac_cv_check_package_libltdl_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_libltdl_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_libltdl_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : dl_libltdl_PC_MODULES=${oac_cv_check_package_libltdl_pcfilename} oac_cv_check_package_libltdl_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_libltdl_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libltdl_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_libltdl_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_libltdl_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libltdl pkg-config cflags" >&5 printf %s "checking for libltdl pkg-config cflags... " >&6; } if test ${oac_cv_check_package_libltdl_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_libltdl_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_libltdl_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_libltdl_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving libltdl cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libltdl_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_libltdl_pkg_config_cppflags" >&6; } dl_libltdl_CPPFLAGS="${oac_cv_check_package_libltdl_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libltdl pkg-config ldflags" >&5 printf %s "checking for libltdl pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_libltdl_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_libltdl_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_libltdl_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_libltdl_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving libltdl ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libltdl_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_libltdl_pkg_config_ldflags" >&6; } dl_libltdl_LDFLAGS="${oac_cv_check_package_libltdl_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libltdl pkg-config static ldflags" >&5 printf %s "checking for libltdl pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_libltdl_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_libltdl_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_libltdl_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_libltdl_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving libltdl static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libltdl_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_libltdl_pkg_config_static_ldflags" >&6; } dl_libltdl_STATIC_LDFLAGS="${oac_cv_check_package_libltdl_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libltdl pkg-config libs" >&5 printf %s "checking for libltdl pkg-config libs... " >&6; } if test ${oac_cv_check_package_libltdl_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_libltdl_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_libltdl_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_libltdl_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving libltdl libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libltdl_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_libltdl_pkg_config_libs" >&6; } dl_libltdl_LIBS="${oac_cv_check_package_libltdl_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libltdl pkg-config static libs" >&5 printf %s "checking for libltdl pkg-config static libs... " >&6; } if test ${oac_cv_check_package_libltdl_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_libltdl_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_libltdl_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_libltdl_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving libltdl libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libltdl_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_libltdl_pkg_config_static_libs" >&6; } dl_libltdl_STATIC_LIBS="${oac_cv_check_package_libltdl_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${libltdl_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-libltdl argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libltdl wrapper compiler" >&5 printf %s "checking for libltdl wrapper compiler... " >&6; } if test ${oac_cv_check_package_libltdl_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_libltdl_wrapper_compiler="libltdlcc" else case e in @%:@( e) oac_cv_check_package_libltdl_wrapper_compiler="${check_package_prefix}/bin/libltdlcc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libltdl_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_libltdl_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if libltdl wrapper compiler works" >&5 printf %s "checking if libltdl wrapper compiler works... " >&6; } if test ${oac_cv_check_package_libltdl_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_libltdl_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_libltdl_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_libltdl_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_libltdl_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libltdl_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_libltdl_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_libltdl_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libltdl wrapper compiler cppflags" >&5 printf %s "checking for libltdl wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_libltdl_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_libltdl_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_libltdl_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_libltdl_wrapper_compiler_cppflags}" then : oac_cv_check_package_libltdl_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_libltdl_wrapper_compiler_cppflags="${oac_cv_check_package_libltdl_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving libltdl cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libltdl_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_libltdl_wrapper_compiler_cppflags" >&6; } dl_libltdl_CPPFLAGS="${oac_cv_check_package_libltdl_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libltdl wrapper compiler ldflags" >&5 printf %s "checking for libltdl wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_libltdl_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_libltdl_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_libltdl_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_libltdl_wrapper_compiler_ldflags}" then : oac_cv_check_package_libltdl_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_libltdl_wrapper_compiler_ldflags="${oac_cv_check_package_libltdl_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving libltdl ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libltdl_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_libltdl_wrapper_compiler_ldflags" >&6; } dl_libltdl_LDFLAGS="${oac_cv_check_package_libltdl_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libltdl wrapper compiler static ldflags" >&5 printf %s "checking for libltdl wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_libltdl_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_libltdl_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_libltdl_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_libltdl_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_libltdl_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_libltdl_wrapper_compiler_static_ldflags="${oac_cv_check_package_libltdl_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving libltdl static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libltdl_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_libltdl_wrapper_compiler_static_ldflags" >&6; } dl_libltdl_STATIC_LDFLAGS="${oac_cv_check_package_libltdl_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libltdl wrapper compiler libs" >&5 printf %s "checking for libltdl wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_libltdl_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_libltdl_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_libltdl_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_libltdl_wrapper_compiler_libs}" then : oac_cv_check_package_libltdl_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_libltdl_wrapper_compiler_libs="${oac_cv_check_package_libltdl_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving libltdl libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libltdl_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_libltdl_wrapper_compiler_libs" >&6; } dl_libltdl_LIBS="$oac_cv_check_package_libltdl_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libltdl wrapper compiler static libs" >&5 printf %s "checking for libltdl wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_libltdl_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_libltdl_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_libltdl_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_libltdl_wrapper_compiler_static_libs}" then : oac_cv_check_package_libltdl_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_libltdl_wrapper_compiler_static_libs="${oac_cv_check_package_libltdl_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving libltdl static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libltdl_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_libltdl_wrapper_compiler_static_libs" >&6; } dl_libltdl_STATIC_LIBS="${oac_cv_check_package_libltdl_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "ltdl.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "ltdl" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libltdl header at ${check_package_generic_incdir}" >&5 printf %s "checking for libltdl header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 dl_libltdl_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libltdl library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for libltdl library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 dl_libltdl_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libltdl library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for libltdl library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-libltdl-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 dl_libltdl_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 dl_libltdl_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 dl_libltdl_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for libltdl in default search paths" >&5 printf "%s\n" "$as_me: Searching for libltdl in default search paths" >&6;} libltdl_CPPFLAGS= libltdl_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in ltdl ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${dl_libltdl_LIBS}" then : dl_libltdl_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) dl_libltdl_LIBS="${dl_libltdl_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${dl_libltdl_STATIC_LIBS}" then : dl_libltdl_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) dl_libltdl_STATIC_LIBS="${dl_libltdl_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libltdl cppflags" >&5 printf %s "checking for libltdl cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dl_libltdl_CPPFLAGS" >&5 printf "%s\n" "$dl_libltdl_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libltdl ldflags" >&5 printf %s "checking for libltdl ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dl_libltdl_LDFLAGS" >&5 printf "%s\n" "$dl_libltdl_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libltdl libs" >&5 printf %s "checking for libltdl libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dl_libltdl_LIBS" >&5 printf "%s\n" "$dl_libltdl_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libltdl static libs" >&5 printf %s "checking for libltdl static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dl_libltdl_STATIC_LIBS" >&5 printf "%s\n" "$dl_libltdl_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${dl_libltdl_LDFLAGS}" then : dl_libltdl_LDFLAGS="${dl_libltdl_STATIC_LDFLAGS}" else case e in @%:@( e) dl_libltdl_LDFLAGS="${dl_libltdl_LDFLAGS} ${dl_libltdl_STATIC_LDFLAGS}" ;; esac fi if test -z "${dl_libltdl_LIBS}" then : dl_libltdl_LIBS="${dl_libltdl_STATIC_LIBS}" else case e in @%:@( e) dl_libltdl_LIBS="${dl_libltdl_LIBS} ${dl_libltdl_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "ltdl.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${dl_libltdl_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${dl_libltdl_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${dl_libltdl_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${dl_libltdl_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${dl_libltdl_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${dl_libltdl_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "lt_dlopen" "ac_cv_func_lt_dlopen" if test "x$ac_cv_func_lt_dlopen" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if libltdl requires libnl v1 or v3" >&5 printf %s "checking if libltdl requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_libltdl+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void lt_dlopen (void); int main(int argc, char *argv[]) { lt_dlopen (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib libltdl" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib libltdl" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_libltdl=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_libltdl" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_libltdl" >&6; } result_msg=$opal_libnl_sanity_check_cv_libltdl this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, libltdl links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, libltdl links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in liblibltdl (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in liblibltdl (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using liblibltdl." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using liblibltdl." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas libltdl requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas libltdl requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in liblibltdl (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in liblibltdl (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using liblibltdl." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using liblibltdl." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs libltdl" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas libltdl requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas libltdl requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in liblibltdl (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in liblibltdl (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using liblibltdl." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using liblibltdl." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs libltdl" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi dl_libltdl_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : dl_libltdl_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) dl_libltdl_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi opal_dl_libltdl_happy=yes else case e in @%:@( e) if test "${with_libltdl}" = "no" then : dl_libltdl_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) dl_libltdl_SUMMARY="no (not found)" ;; esac fi { dl_libltdl_CPPFLAGS=; unset dl_libltdl_CPPFLAGS;} { dl_libltdl_LDFLAGS=; unset dl_libltdl_LDFLAGS;} { dl_libltdl_STATIC_LDFLAGS=; unset dl_libltdl_STATIC_LDFLAGS;} { dl_libltdl_LIBS=; unset dl_libltdl_LIBS;} { dl_libltdl_STATIC_LIBS=; unset dl_libltdl_STATIC_LIBS;} opal_dl_libltdl_happy=no ;; esac fi CPPFLAGS="${check_package_dl_libltdl_save_CPPFLAGS}" LDFLAGS="${check_package_dl_libltdl_save_LDFLAGS}" LIBS="${check_package_dl_libltdl_save_LIBS}" oac_var_scope_pop check_package_dl_libltdl_save_CPPFLAGS check_package_dl_libltdl_save_LDFLAGS check_package_dl_libltdl_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR libltdl ****************************** # If we have libltdl, do we have lt_dladvise? opal_dl_libltdl_have_lt_dladvise=0 if test "$opal_dl_libltdl_happy" = "yes" then : CPPFLAGS_save=$CPPFLAGS LDFLAGS_save=$LDFLAGS LIBS_save=$LIBS CPPFLAGS="$dl_libltdl_CPPFLAGS $CPPFLAGS" LDFLAGS="$dl_libltdl_LDFLAGS $LDFLAGS" LIBS="$dl_libltdl_LIBS $LIBS" ac_fn_c_check_func "$LINENO" "lt_dladvise_init" "ac_cv_func_lt_dladvise_init" if test "x$ac_cv_func_lt_dladvise_init" = xyes then : opal_dl_libltdl_have_lt_dladvise=1 fi CPPFLAGS=$CPPFLAGS_save LDFLAGS=$LDFLAGS_save LIBS=$LIBS_save fi printf "%s\n" "@%:@define OPAL_DL_LIBLTDL_HAVE_LT_DLADVISE $opal_dl_libltdl_have_lt_dladvise" >>confdefs.h if test "$opal_dl_libltdl_happy" = "yes" then : should_build=$should_build else case e in @%:@( e) if test ! -z "$with_libltdl" && \ test "$with_libltdl" != "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Libltdl support requested (via --with-libltdl) but not found." >&5 printf "%s\n" "$as_me: WARNING: Libltdl support requested (via --with-libltdl) but not found." >&2;} as_fn_error $? "Cannot continue." "$LINENO" 5 fi should_build=0 ;; esac fi opal_var_scope_pop CPPFLAGS_save LDFLAGS_save LIBS_save opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/dl/libltdl/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components libltdl" if test "$compile_mode" = "dso" ; then dso_components="$dso_components libltdl" else if test "dl" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/dl/libltdl/lib${OPAL_LIB_NAME}mca_dl_libltdl.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/dl/libltdl/libmca_dl_libltdl.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_dl_libltdl_component;" >> $outfile.extern echo " &mca_dl_libltdl_component, " >> $outfile.struct static_components="$static_components libltdl" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component dl:libltdl can compile" >&5 printf %s "checking if MCA component dl:libltdl can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_dl" = "libltdl" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_dl_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** dl component libltdl was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_dl" = "libltdl" ; then as_fn_error $? "*** dl component libltdl was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${dl_libltdl_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${dl_libltdl_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${dl_libltdl_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${dl_libltdl_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${dl_libltdl_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${dl_libltdl_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$dl_libltdl_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=1 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $dl_libltdl_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring dl_libltdl_WRAPPER_EXTRA_CPPFLAGS ($dl_libltdl_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring dl_libltdl_WRAPPER_EXTRA_CPPFLAGS ($dl_libltdl_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component dl:libltdl can compile" >&5 printf %s "checking if MCA component dl:libltdl can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_dl" = "libltdl" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"libltdl\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"libltdl\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_dl" ; then if test "$DIRECT_dl" = "libltdl" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"libltdl\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"libltdl\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components libltdl" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_dl_libltdl_DSO=1 else case e in @%:@( e) BUILD_opal_dl_libltdl_DSO=0 ;; esac fi if test "$BUILD_opal_dl_libltdl_DSO" = "1"; then MCA_BUILD_opal_dl_libltdl_DSO_TRUE= MCA_BUILD_opal_dl_libltdl_DSO_FALSE='#' else MCA_BUILD_opal_dl_libltdl_DSO_TRUE='#' MCA_BUILD_opal_dl_libltdl_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test $components_last_result -eq 1 then : components_looking_for_succeed=0 fi if test ${DIRECT_dl+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for dl framework" >&5 printf %s "checking if direct-selection component exists for dl framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_dl" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_dl requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_dl" >&5 printf "%s\n" "$DIRECT_dl" >&6; } fi MCA_opal_dl_ALL_COMPONENTS="$all_components" MCA_opal_dl_STATIC_COMPONENTS="$static_components" MCA_opal_dl_DSO_COMPONENTS="$dso_components" MCA_opal_dl_STATIC_LTLIBS="$static_ltlibs" MCA_opal_dl_ALL_SUBDIRS= for item in $all_components ; do MCA_opal_dl_ALL_SUBDIRS="$MCA_opal_dl_ALL_SUBDIRS mca/dl/$item" done MCA_opal_dl_STATIC_SUBDIRS= for item in $static_components ; do MCA_opal_dl_STATIC_SUBDIRS="$MCA_opal_dl_STATIC_SUBDIRS mca/dl/$item" done MCA_opal_dl_DSO_SUBDIRS= for item in $dso_components ; do MCA_opal_dl_DSO_SUBDIRS="$MCA_opal_dl_DSO_SUBDIRS mca/dl/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "dl" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real # If we found no suitable static dl component and dlopen support # was not specifically disabled, this is an error. if test "$MCA_opal_dl_STATIC_COMPONENTS" = "" && \ test "$enable_dlopen" != "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Did not find a suitable static opal dl component" >&5 printf "%s\n" "$as_me: WARNING: Did not find a suitable static opal dl component" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: You might need to install libltld (and its headers) or" >&5 printf "%s\n" "$as_me: WARNING: You might need to install libltld (and its headers) or" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: specify --disable-dlopen to configure." >&5 printf "%s\n" "$as_me: WARNING: specify --disable-dlopen to configure." >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi # If we have a winning component (which, per above, will only # happen if --disable-dlopen was *not* specified), do some more # logic. if test "$MCA_opal_dl_STATIC_COMPONENTS" != "" then : OPAL_HAVE_DL_SUPPORT=1 fi printf "%s\n" "@%:@define OPAL_HAVE_DL_SUPPORT $OPAL_HAVE_DL_SUPPORT" >>confdefs.h MCA_opal_FRAMEWORKS="$MCA_opal_FRAMEWORKS hwloc" MCA_opal_FRAMEWORKS_SUBDIRS="$MCA_opal_FRAMEWORKS_SUBDIRS mca/hwloc" MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_opal_hwloc_ALL_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_opal_hwloc_DSO_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_opal_hwloc_STATIC_SUBDIRS)" mca_opal_framework_base_lib="mca/hwloc/libmca_hwloc.la" MCA_opal_FRAMEWORK_LIBS="$MCA_opal_FRAMEWORK_LIBS ${mca_opal_framework_base_lib} \$(MCA_opal_hwloc_STATIC_LTLIBS)" ac_config_files="$ac_config_files opal/mca/hwloc/Makefile" MCA_opal_FRAMEWORKS="$MCA_opal_FRAMEWORKS if" MCA_opal_FRAMEWORKS_SUBDIRS="$MCA_opal_FRAMEWORKS_SUBDIRS mca/if" MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_opal_if_ALL_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_opal_if_DSO_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_opal_if_STATIC_SUBDIRS)" mca_opal_framework_base_lib="mca/if/libmca_if.la" MCA_opal_FRAMEWORK_LIBS="$MCA_opal_FRAMEWORK_LIBS ${mca_opal_framework_base_lib} \$(MCA_opal_if_STATIC_LTLIBS)" opal_show_subsubtitle "Configuring MCA framework if" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=opal/mca/if/base as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files opal/mca/if/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework if" >&5 printf %s "checking for no configure components in framework if... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework if" >&5 printf %s "checking for m4 configure components in framework if... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: bsdx_ipv4, bsdx_ipv6, linux_ipv6, posix_ipv4, solaris_ipv6" >&5 printf "%s\n" "bsdx_ipv4, bsdx_ipv6, linux_ipv6, posix_ipv4, solaris_ipv6" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=1 components_last_result=0 opal_show_subsubsubtitle "MCA component if:bsdx_ipv4 (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/if/bsdx_ipv4" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_if" ; then if test "$DIRECT_if" = "bsdx_ipv4" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_if" = "1" then : want_component=0 fi if test "${DISABLE_if_bsdx_ipv4}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_if_bsdx_ipv4_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} component_compile_mode_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component if:bsdx_ipv4 compile mode" >&5 printf %s "checking for MCA component if:bsdx_ipv4 compile mode... " >&6; } component_compile_mode_tmp="static" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $component_compile_mode_tmp" >&5 printf "%s\n" "$component_compile_mode_tmp" >&6; } eval opal_if_bsdx_ipv4_compile_mode=\$$component_compile_mode_tmp opal_var_scope_pop component_compile_mode_tmp ;; esac fi compile_mode=$opal_if_bsdx_ipv4_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/if/bsdx_ipv4/Makefile" # If we found struct sockaddr and we're on any of the BSDs, we're # happy. I.e., this: #if defined(__NetBSD__) || defined(__FreeBSD__) || \ # defined(__OpenBSD__) || defined(__DragonFly__) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking struct sockaddr" >&5 printf %s "checking struct sockaddr... " >&6; } if test "$opal_found_sockaddr" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes (cached)" >&5 printf "%s\n" "yes (cached)" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking NetBSD, FreeBSD, OpenBSD, or DragonFly" >&5 printf %s "checking NetBSD, FreeBSD, OpenBSD, or DragonFly... " >&6; } if test "$opal_found_netbsd" = "yes" || \ test "$opal_found_freebsd" = "yes" || \ test "$opal_found_openbsd" = "yes" || \ test "$opal_found_dragonfly" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } should_build=$should_build else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } should_build=0 ;; esac fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no (cached)" >&5 printf "%s\n" "no (cached)" >&6; } should_build=0 ;; esac fi opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/if/bsdx_ipv4/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components bsdx_ipv4" if test "$compile_mode" = "dso" ; then dso_components="$dso_components bsdx_ipv4" else if test "if" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/if/bsdx_ipv4/lib${OPAL_LIB_NAME}mca_if_bsdx_ipv4.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/if/bsdx_ipv4/libmca_if_bsdx_ipv4.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_if_bsdx_ipv4_component;" >> $outfile.extern echo " &mca_if_bsdx_ipv4_component, " >> $outfile.struct static_components="$static_components bsdx_ipv4" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component if:bsdx_ipv4 can compile" >&5 printf %s "checking if MCA component if:bsdx_ipv4 can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_if" = "bsdx_ipv4" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_if_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** if component bsdx_ipv4 was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_if" = "bsdx_ipv4" ; then as_fn_error $? "*** if component bsdx_ipv4 was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${if_bsdx_ipv4_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${if_bsdx_ipv4_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${if_bsdx_ipv4_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${if_bsdx_ipv4_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${if_bsdx_ipv4_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${if_bsdx_ipv4_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$if_bsdx_ipv4_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $if_bsdx_ipv4_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring if_bsdx_ipv4_WRAPPER_EXTRA_CPPFLAGS ($if_bsdx_ipv4_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring if_bsdx_ipv4_WRAPPER_EXTRA_CPPFLAGS ($if_bsdx_ipv4_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component if:bsdx_ipv4 can compile" >&5 printf %s "checking if MCA component if:bsdx_ipv4 can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_if" = "bsdx_ipv4" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"bsdx_ipv4\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"bsdx_ipv4\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_if" ; then if test "$DIRECT_if" = "bsdx_ipv4" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"bsdx_ipv4\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"bsdx_ipv4\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components bsdx_ipv4" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_if_bsdx_ipv4_DSO=1 else case e in @%:@( e) BUILD_opal_if_bsdx_ipv4_DSO=0 ;; esac fi if test "$BUILD_opal_if_bsdx_ipv4_DSO" = "1"; then MCA_BUILD_opal_if_bsdx_ipv4_DSO_TRUE= MCA_BUILD_opal_if_bsdx_ipv4_DSO_FALSE='#' else MCA_BUILD_opal_if_bsdx_ipv4_DSO_TRUE='#' MCA_BUILD_opal_if_bsdx_ipv4_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component if:bsdx_ipv6 (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/if/bsdx_ipv6" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_if" ; then if test "$DIRECT_if" = "bsdx_ipv6" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_if" = "1" then : want_component=0 fi if test "${DISABLE_if_bsdx_ipv6}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_if_bsdx_ipv6_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} component_compile_mode_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component if:bsdx_ipv6 compile mode" >&5 printf %s "checking for MCA component if:bsdx_ipv6 compile mode... " >&6; } component_compile_mode_tmp="static" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $component_compile_mode_tmp" >&5 printf "%s\n" "$component_compile_mode_tmp" >&6; } eval opal_if_bsdx_ipv6_compile_mode=\$$component_compile_mode_tmp opal_var_scope_pop component_compile_mode_tmp ;; esac fi compile_mode=$opal_if_bsdx_ipv6_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/if/bsdx_ipv6/Makefile" # If we found struct sockaddr and we're on any of the BSDs, we're # happy. I.e., this: #if defined( __NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD__) || \ # defined(__386BSD__) || defined(__bsdi__) || defined(__APPLE__) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking struct sockaddr" >&5 printf %s "checking struct sockaddr... " >&6; } if test "$opal_found_sockaddr" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes (cached)" >&5 printf "%s\n" "yes (cached)" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking some flavor of BSD" >&5 printf %s "checking some flavor of BSD... " >&6; } if test "$opal_found_netbsd" = "yes" || \ test "$opal_found_freebsd" = "yes" || \ test "$opal_found_openbsd" = "yes" || \ test "$opal_found_386bsd" = "yes" || \ test "$opal_found_bsdi" = "yes" || test "$opal_found_apple" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } should_build=$should_build else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } should_build=0 ;; esac fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no (cached)" >&5 printf "%s\n" "no (cached)" >&6; } should_build=0 ;; esac fi opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/if/bsdx_ipv6/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components bsdx_ipv6" if test "$compile_mode" = "dso" ; then dso_components="$dso_components bsdx_ipv6" else if test "if" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/if/bsdx_ipv6/lib${OPAL_LIB_NAME}mca_if_bsdx_ipv6.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/if/bsdx_ipv6/libmca_if_bsdx_ipv6.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_if_bsdx_ipv6_component;" >> $outfile.extern echo " &mca_if_bsdx_ipv6_component, " >> $outfile.struct static_components="$static_components bsdx_ipv6" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component if:bsdx_ipv6 can compile" >&5 printf %s "checking if MCA component if:bsdx_ipv6 can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_if" = "bsdx_ipv6" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_if_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** if component bsdx_ipv6 was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_if" = "bsdx_ipv6" ; then as_fn_error $? "*** if component bsdx_ipv6 was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${if_bsdx_ipv6_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${if_bsdx_ipv6_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${if_bsdx_ipv6_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${if_bsdx_ipv6_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${if_bsdx_ipv6_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${if_bsdx_ipv6_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$if_bsdx_ipv6_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $if_bsdx_ipv6_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring if_bsdx_ipv6_WRAPPER_EXTRA_CPPFLAGS ($if_bsdx_ipv6_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring if_bsdx_ipv6_WRAPPER_EXTRA_CPPFLAGS ($if_bsdx_ipv6_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component if:bsdx_ipv6 can compile" >&5 printf %s "checking if MCA component if:bsdx_ipv6 can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_if" = "bsdx_ipv6" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"bsdx_ipv6\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"bsdx_ipv6\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_if" ; then if test "$DIRECT_if" = "bsdx_ipv6" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"bsdx_ipv6\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"bsdx_ipv6\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components bsdx_ipv6" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_if_bsdx_ipv6_DSO=1 else case e in @%:@( e) BUILD_opal_if_bsdx_ipv6_DSO=0 ;; esac fi if test "$BUILD_opal_if_bsdx_ipv6_DSO" = "1"; then MCA_BUILD_opal_if_bsdx_ipv6_DSO_TRUE= MCA_BUILD_opal_if_bsdx_ipv6_DSO_FALSE='#' else MCA_BUILD_opal_if_bsdx_ipv6_DSO_TRUE='#' MCA_BUILD_opal_if_bsdx_ipv6_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component if:linux_ipv6 (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/if/linux_ipv6" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_if" ; then if test "$DIRECT_if" = "linux_ipv6" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_if" = "1" then : want_component=0 fi if test "${DISABLE_if_linux_ipv6}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_if_linux_ipv6_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} component_compile_mode_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component if:linux_ipv6 compile mode" >&5 printf %s "checking for MCA component if:linux_ipv6 compile mode... " >&6; } component_compile_mode_tmp="static" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $component_compile_mode_tmp" >&5 printf "%s\n" "$component_compile_mode_tmp" >&6; } eval opal_if_linux_ipv6_compile_mode=\$$component_compile_mode_tmp opal_var_scope_pop component_compile_mode_tmp ;; esac fi compile_mode=$opal_if_linux_ipv6_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/if/linux_ipv6/Makefile" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we are on Linux with TCP" >&5 printf %s "checking if we are on Linux with TCP... " >&6; } # If we have struct sockaddr and we're on Linux, then we're # happy. if test "$opal_found_sockaddr" = "yes" && test "$opal_found_linux" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } should_build=$should_build else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } should_build=0 ;; esac fi opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/if/linux_ipv6/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components linux_ipv6" if test "$compile_mode" = "dso" ; then dso_components="$dso_components linux_ipv6" else if test "if" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/if/linux_ipv6/lib${OPAL_LIB_NAME}mca_if_linux_ipv6.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/if/linux_ipv6/libmca_if_linux_ipv6.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_if_linux_ipv6_component;" >> $outfile.extern echo " &mca_if_linux_ipv6_component, " >> $outfile.struct static_components="$static_components linux_ipv6" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component if:linux_ipv6 can compile" >&5 printf %s "checking if MCA component if:linux_ipv6 can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_if" = "linux_ipv6" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_if_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** if component linux_ipv6 was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_if" = "linux_ipv6" ; then as_fn_error $? "*** if component linux_ipv6 was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${if_linux_ipv6_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${if_linux_ipv6_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${if_linux_ipv6_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${if_linux_ipv6_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${if_linux_ipv6_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${if_linux_ipv6_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$if_linux_ipv6_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $if_linux_ipv6_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring if_linux_ipv6_WRAPPER_EXTRA_CPPFLAGS ($if_linux_ipv6_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring if_linux_ipv6_WRAPPER_EXTRA_CPPFLAGS ($if_linux_ipv6_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component if:linux_ipv6 can compile" >&5 printf %s "checking if MCA component if:linux_ipv6 can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_if" = "linux_ipv6" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"linux_ipv6\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"linux_ipv6\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_if" ; then if test "$DIRECT_if" = "linux_ipv6" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"linux_ipv6\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"linux_ipv6\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components linux_ipv6" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_if_linux_ipv6_DSO=1 else case e in @%:@( e) BUILD_opal_if_linux_ipv6_DSO=0 ;; esac fi if test "$BUILD_opal_if_linux_ipv6_DSO" = "1"; then MCA_BUILD_opal_if_linux_ipv6_DSO_TRUE= MCA_BUILD_opal_if_linux_ipv6_DSO_FALSE='#' else MCA_BUILD_opal_if_linux_ipv6_DSO_TRUE='#' MCA_BUILD_opal_if_linux_ipv6_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component if:posix_ipv4 (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/if/posix_ipv4" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_if" ; then if test "$DIRECT_if" = "posix_ipv4" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_if" = "1" then : want_component=0 fi if test "${DISABLE_if_posix_ipv4}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_if_posix_ipv4_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} component_compile_mode_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component if:posix_ipv4 compile mode" >&5 printf %s "checking for MCA component if:posix_ipv4 compile mode... " >&6; } component_compile_mode_tmp="static" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $component_compile_mode_tmp" >&5 printf "%s\n" "$component_compile_mode_tmp" >&6; } eval opal_if_posix_ipv4_compile_mode=\$$component_compile_mode_tmp opal_var_scope_pop component_compile_mode_tmp ;; esac fi compile_mode=$opal_if_posix_ipv4_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/if/posix_ipv4/Makefile" opal_var_scope_push ${LINENO} opal_if_posix_ipv4_happy opal_if_posix_ipv4_happy=no # If we found struct sockaddr and we're NOT on most of the BSDs, # we're happy. I.e., if posix but not: #if defined(__NetBSD__) || defined(__FreeBSD__) || \ # defined(__OpenBSD__) || defined(__DragonFly__) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking struct sockaddr" >&5 printf %s "checking struct sockaddr... " >&6; } if test "$opal_found_sockaddr" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes (cached)" >&5 printf "%s\n" "yes (cached)" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking not NetBSD, FreeBSD, OpenBSD, or DragonFly" >&5 printf %s "checking not NetBSD, FreeBSD, OpenBSD, or DragonFly... " >&6; } if test "$opal_found_netbsd" = "no" && test "$opal_found_freebsd" = "no" && test "$opal_found_openbsd" = "no" && test "$opal_found_dragonfly" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } opal_if_posix_ipv4_happy=yes else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no (cached)" >&5 printf "%s\n" "no (cached)" >&6; } ;; esac fi if test "$opal_if_posix_ipv4_happy" = "yes" then : ac_fn_c_check_member "$LINENO" "struct ifreq" "ifr_hwaddr" "ac_cv_member_struct_ifreq_ifr_hwaddr" "#include " if test "x$ac_cv_member_struct_ifreq_ifr_hwaddr" = xyes then : printf "%s\n" "@%:@define HAVE_STRUCT_IFREQ_IFR_HWADDR 1" >>confdefs.h fi ac_fn_c_check_member "$LINENO" "struct ifreq" "ifr_mtu" "ac_cv_member_struct_ifreq_ifr_mtu" "#include " if test "x$ac_cv_member_struct_ifreq_ifr_mtu" = xyes then : printf "%s\n" "@%:@define HAVE_STRUCT_IFREQ_IFR_MTU 1" >>confdefs.h fi fi if test "$opal_if_posix_ipv4_happy" = "yes" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi; opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/if/posix_ipv4/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components posix_ipv4" if test "$compile_mode" = "dso" ; then dso_components="$dso_components posix_ipv4" else if test "if" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/if/posix_ipv4/lib${OPAL_LIB_NAME}mca_if_posix_ipv4.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/if/posix_ipv4/libmca_if_posix_ipv4.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_if_posix_ipv4_component;" >> $outfile.extern echo " &mca_if_posix_ipv4_component, " >> $outfile.struct static_components="$static_components posix_ipv4" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component if:posix_ipv4 can compile" >&5 printf %s "checking if MCA component if:posix_ipv4 can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_if" = "posix_ipv4" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_if_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** if component posix_ipv4 was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_if" = "posix_ipv4" ; then as_fn_error $? "*** if component posix_ipv4 was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${if_posix_ipv4_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${if_posix_ipv4_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${if_posix_ipv4_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${if_posix_ipv4_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${if_posix_ipv4_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${if_posix_ipv4_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$if_posix_ipv4_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $if_posix_ipv4_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring if_posix_ipv4_WRAPPER_EXTRA_CPPFLAGS ($if_posix_ipv4_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring if_posix_ipv4_WRAPPER_EXTRA_CPPFLAGS ($if_posix_ipv4_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component if:posix_ipv4 can compile" >&5 printf %s "checking if MCA component if:posix_ipv4 can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_if" = "posix_ipv4" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"posix_ipv4\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"posix_ipv4\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_if" ; then if test "$DIRECT_if" = "posix_ipv4" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"posix_ipv4\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"posix_ipv4\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components posix_ipv4" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_if_posix_ipv4_DSO=1 else case e in @%:@( e) BUILD_opal_if_posix_ipv4_DSO=0 ;; esac fi if test "$BUILD_opal_if_posix_ipv4_DSO" = "1"; then MCA_BUILD_opal_if_posix_ipv4_DSO_TRUE= MCA_BUILD_opal_if_posix_ipv4_DSO_FALSE='#' else MCA_BUILD_opal_if_posix_ipv4_DSO_TRUE='#' MCA_BUILD_opal_if_posix_ipv4_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component if:solaris_ipv6 (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/if/solaris_ipv6" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_if" ; then if test "$DIRECT_if" = "solaris_ipv6" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_if" = "1" then : want_component=0 fi if test "${DISABLE_if_solaris_ipv6}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_if_solaris_ipv6_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} component_compile_mode_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component if:solaris_ipv6 compile mode" >&5 printf %s "checking for MCA component if:solaris_ipv6 compile mode... " >&6; } component_compile_mode_tmp="static" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $component_compile_mode_tmp" >&5 printf "%s\n" "$component_compile_mode_tmp" >&6; } eval opal_if_solaris_ipv6_compile_mode=\$$component_compile_mode_tmp opal_var_scope_pop component_compile_mode_tmp ;; esac fi compile_mode=$opal_if_solaris_ipv6_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/if/solaris_ipv6/Makefile" # check to see if we are on a solaris machine if test "$opal_found_sun" = "yes" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/if/solaris_ipv6/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components solaris_ipv6" if test "$compile_mode" = "dso" ; then dso_components="$dso_components solaris_ipv6" else if test "if" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/if/solaris_ipv6/lib${OPAL_LIB_NAME}mca_if_solaris_ipv6.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/if/solaris_ipv6/libmca_if_solaris_ipv6.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_if_solaris_ipv6_component;" >> $outfile.extern echo " &mca_if_solaris_ipv6_component, " >> $outfile.struct static_components="$static_components solaris_ipv6" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component if:solaris_ipv6 can compile" >&5 printf %s "checking if MCA component if:solaris_ipv6 can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_if" = "solaris_ipv6" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_if_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** if component solaris_ipv6 was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_if" = "solaris_ipv6" ; then as_fn_error $? "*** if component solaris_ipv6 was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${if_solaris_ipv6_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${if_solaris_ipv6_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${if_solaris_ipv6_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${if_solaris_ipv6_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${if_solaris_ipv6_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${if_solaris_ipv6_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$if_solaris_ipv6_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $if_solaris_ipv6_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring if_solaris_ipv6_WRAPPER_EXTRA_CPPFLAGS ($if_solaris_ipv6_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring if_solaris_ipv6_WRAPPER_EXTRA_CPPFLAGS ($if_solaris_ipv6_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component if:solaris_ipv6 can compile" >&5 printf %s "checking if MCA component if:solaris_ipv6 can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_if" = "solaris_ipv6" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"solaris_ipv6\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"solaris_ipv6\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_if" ; then if test "$DIRECT_if" = "solaris_ipv6" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"solaris_ipv6\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"solaris_ipv6\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components solaris_ipv6" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_if_solaris_ipv6_DSO=1 else case e in @%:@( e) BUILD_opal_if_solaris_ipv6_DSO=0 ;; esac fi if test "$BUILD_opal_if_solaris_ipv6_DSO" = "1"; then MCA_BUILD_opal_if_solaris_ipv6_DSO_TRUE= MCA_BUILD_opal_if_solaris_ipv6_DSO_FALSE='#' else MCA_BUILD_opal_if_solaris_ipv6_DSO_TRUE='#' MCA_BUILD_opal_if_solaris_ipv6_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test ${DIRECT_if+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for if framework" >&5 printf %s "checking if direct-selection component exists for if framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_if" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_if requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_if" >&5 printf "%s\n" "$DIRECT_if" >&6; } fi MCA_opal_if_ALL_COMPONENTS="$all_components" MCA_opal_if_STATIC_COMPONENTS="$static_components" MCA_opal_if_DSO_COMPONENTS="$dso_components" MCA_opal_if_STATIC_LTLIBS="$static_ltlibs" MCA_opal_if_ALL_SUBDIRS= for item in $all_components ; do MCA_opal_if_ALL_SUBDIRS="$MCA_opal_if_ALL_SUBDIRS mca/if/$item" done MCA_opal_if_STATIC_SUBDIRS= for item in $static_components ; do MCA_opal_if_STATIC_SUBDIRS="$MCA_opal_if_STATIC_SUBDIRS mca/if/$item" done MCA_opal_if_DSO_SUBDIRS= for item in $dso_components ; do MCA_opal_if_DSO_SUBDIRS="$MCA_opal_if_DSO_SUBDIRS mca/if/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "if" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real MCA_opal_FRAMEWORKS="$MCA_opal_FRAMEWORKS installdirs" MCA_opal_FRAMEWORKS_SUBDIRS="$MCA_opal_FRAMEWORKS_SUBDIRS mca/installdirs" MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_opal_installdirs_ALL_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_opal_installdirs_DSO_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_opal_installdirs_STATIC_SUBDIRS)" mca_opal_framework_base_lib="mca/installdirs/libmca_installdirs.la" MCA_opal_FRAMEWORK_CORE_LIBS="$MCA_opal_FRAMEWORK_CORE_LIBS ${mca_opal_framework_base_lib} \$(MCA_opal_installdirs_STATIC_LTLIBS)" opal_show_subsubtitle "Configuring MCA framework installdirs" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=opal/mca/installdirs/base as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files opal/mca/installdirs/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework installdirs" >&5 printf %s "checking for no configure components in framework installdirs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework installdirs" >&5 printf %s "checking for m4 configure components in framework installdirs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: config, env" >&5 printf "%s\n" "config, env" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=1 components_last_result=0 opal_show_subsubsubtitle "MCA component installdirs:env (m4 configuration macro, priority 10)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/installdirs/env" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_installdirs" ; then if test "$DIRECT_installdirs" = "env" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_installdirs" = "1" then : want_component=0 fi if test "${DISABLE_installdirs_env}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_installdirs_env_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} component_compile_mode_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component installdirs:env compile mode" >&5 printf %s "checking for MCA component installdirs:env compile mode... " >&6; } component_compile_mode_tmp="static" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $component_compile_mode_tmp" >&5 printf "%s\n" "$component_compile_mode_tmp" >&6; } eval opal_installdirs_env_compile_mode=\$$component_compile_mode_tmp opal_var_scope_pop component_compile_mode_tmp ;; esac fi compile_mode=$opal_installdirs_env_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/installdirs/env/Makefile" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/installdirs/env/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components env" if test "$compile_mode" = "dso" ; then dso_components="$dso_components env" else if test "installdirs" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/installdirs/env/lib${OPAL_LIB_NAME}mca_installdirs_env.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/installdirs/env/libmca_installdirs_env.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_installdirs_env_component;" >> $outfile.extern echo " &mca_installdirs_env_component, " >> $outfile.struct static_components="$static_components env" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component installdirs:env can compile" >&5 printf %s "checking if MCA component installdirs:env can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_installdirs" = "env" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_installdirs_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** installdirs component env was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_installdirs" = "env" ; then as_fn_error $? "*** installdirs component env was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${installdirs_env_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${installdirs_env_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${installdirs_env_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${installdirs_env_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${installdirs_env_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${installdirs_env_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$installdirs_env_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $installdirs_env_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring installdirs_env_WRAPPER_EXTRA_CPPFLAGS ($installdirs_env_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring installdirs_env_WRAPPER_EXTRA_CPPFLAGS ($installdirs_env_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component installdirs:env can compile" >&5 printf %s "checking if MCA component installdirs:env can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_installdirs" = "env" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"env\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"env\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_installdirs" ; then if test "$DIRECT_installdirs" = "env" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"env\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"env\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components env" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_installdirs_env_DSO=1 else case e in @%:@( e) BUILD_opal_installdirs_env_DSO=0 ;; esac fi if test "$BUILD_opal_installdirs_env_DSO" = "1"; then MCA_BUILD_opal_installdirs_env_DSO_TRUE= MCA_BUILD_opal_installdirs_env_DSO_FALSE='#' else MCA_BUILD_opal_installdirs_env_DSO_TRUE='#' MCA_BUILD_opal_installdirs_env_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component installdirs:config (m4 configuration macro, priority 0)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/installdirs/config" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_installdirs" ; then if test "$DIRECT_installdirs" = "config" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_installdirs" = "1" then : want_component=0 fi if test "${DISABLE_installdirs_config}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_installdirs_config_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} component_compile_mode_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component installdirs:config compile mode" >&5 printf %s "checking for MCA component installdirs:config compile mode... " >&6; } component_compile_mode_tmp="static" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $component_compile_mode_tmp" >&5 printf "%s\n" "$component_compile_mode_tmp" >&6; } eval opal_installdirs_config_compile_mode=\$$component_compile_mode_tmp opal_var_scope_pop component_compile_mode_tmp ;; esac fi compile_mode=$opal_installdirs_config_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/installdirs/config/Makefile opal/mca/installdirs/config/install_dirs.h" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/installdirs/config/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components config" if test "$compile_mode" = "dso" ; then dso_components="$dso_components config" else if test "installdirs" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/installdirs/config/lib${OPAL_LIB_NAME}mca_installdirs_config.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/installdirs/config/libmca_installdirs_config.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_installdirs_config_component;" >> $outfile.extern echo " &mca_installdirs_config_component, " >> $outfile.struct static_components="$static_components config" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component installdirs:config can compile" >&5 printf %s "checking if MCA component installdirs:config can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_installdirs" = "config" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_installdirs_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** installdirs component config was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_installdirs" = "config" ; then as_fn_error $? "*** installdirs component config was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${installdirs_config_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${installdirs_config_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${installdirs_config_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${installdirs_config_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${installdirs_config_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${installdirs_config_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$installdirs_config_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $installdirs_config_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring installdirs_config_WRAPPER_EXTRA_CPPFLAGS ($installdirs_config_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring installdirs_config_WRAPPER_EXTRA_CPPFLAGS ($installdirs_config_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component installdirs:config can compile" >&5 printf %s "checking if MCA component installdirs:config can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_installdirs" = "config" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"config\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"config\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_installdirs" ; then if test "$DIRECT_installdirs" = "config" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"config\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"config\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components config" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_installdirs_config_DSO=1 else case e in @%:@( e) BUILD_opal_installdirs_config_DSO=0 ;; esac fi if test "$BUILD_opal_installdirs_config_DSO" = "1"; then MCA_BUILD_opal_installdirs_config_DSO_TRUE= MCA_BUILD_opal_installdirs_config_DSO_FALSE='#' else MCA_BUILD_opal_installdirs_config_DSO_TRUE='#' MCA_BUILD_opal_installdirs_config_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test ${DIRECT_installdirs+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for installdirs framework" >&5 printf %s "checking if direct-selection component exists for installdirs framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_installdirs" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_installdirs requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_installdirs" >&5 printf "%s\n" "$DIRECT_installdirs" >&6; } fi MCA_opal_installdirs_ALL_COMPONENTS="$all_components" MCA_opal_installdirs_STATIC_COMPONENTS="$static_components" MCA_opal_installdirs_DSO_COMPONENTS="$dso_components" MCA_opal_installdirs_STATIC_LTLIBS="$static_ltlibs" MCA_opal_installdirs_ALL_SUBDIRS= for item in $all_components ; do MCA_opal_installdirs_ALL_SUBDIRS="$MCA_opal_installdirs_ALL_SUBDIRS mca/installdirs/$item" done MCA_opal_installdirs_STATIC_SUBDIRS= for item in $static_components ; do MCA_opal_installdirs_STATIC_SUBDIRS="$MCA_opal_installdirs_STATIC_SUBDIRS mca/installdirs/$item" done MCA_opal_installdirs_DSO_SUBDIRS= for item in $dso_components ; do MCA_opal_installdirs_DSO_SUBDIRS="$MCA_opal_installdirs_DSO_SUBDIRS mca/installdirs/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "installdirs" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real MCA_opal_FRAMEWORKS="$MCA_opal_FRAMEWORKS memchecker" MCA_opal_FRAMEWORKS_SUBDIRS="$MCA_opal_FRAMEWORKS_SUBDIRS mca/memchecker" MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_opal_memchecker_ALL_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_opal_memchecker_DSO_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_opal_memchecker_STATIC_SUBDIRS)" mca_opal_framework_base_lib="mca/memchecker/libmca_memchecker.la" MCA_opal_FRAMEWORK_LIBS="$MCA_opal_FRAMEWORK_LIBS ${mca_opal_framework_base_lib} \$(MCA_opal_memchecker_STATIC_LTLIBS)" opal_show_subsubtitle "Pre-configuring the framework memchecker" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if --enable-memchecker was specified" >&5 printf %s "checking if --enable-memchecker was specified... " >&6; } @%:@ Check whether --enable-memchecker was given. if test ${enable_memchecker+y} then : enableval=$enable_memchecker; fi if test "$enable_memchecker" = "yes"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } WANT_MEMCHECKER=1 else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no (adding \"memchecker\" to --enable-mca-no-build list)" >&5 printf "%s\n" "no (adding \"memchecker\" to --enable-mca-no-build list)" >&6; } WANT_MEMCHECKER=0 # Setting this environment variable causes # MCA_COMONENT_BUILD_CHECK (in opal_mca.m4, invoked by # MCA_CONFIGURE_FRAMEWORK, below) to rule that the component # should not be built. It is effectively the same as adding # "memchecker" to the --enable-mca-no-build list. DISABLE_memchecker=1 fi printf "%s\n" "@%:@define OPAL_WANT_MEMCHECKER $WANT_MEMCHECKER" >>confdefs.h if test "$WANT_MEMCHECKER" = "1"; then OPAL_WANT_MEMCHECKER_TRUE= OPAL_WANT_MEMCHECKER_FALSE='#' else OPAL_WANT_MEMCHECKER_TRUE='#' OPAL_WANT_MEMCHECKER_FALSE= fi # first, compile all the components opal_show_subsubtitle "Configuring MCA framework memchecker" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=opal/mca/memchecker/base as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files opal/mca/memchecker/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework memchecker" >&5 printf %s "checking for no configure components in framework memchecker... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework memchecker" >&5 printf %s "checking for m4 configure components in framework memchecker... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: valgrind" >&5 printf "%s\n" "valgrind" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=1 components_last_result=0 opal_show_subsubsubtitle "MCA component memchecker:valgrind (m4 configuration macro, priority 10)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/memchecker/valgrind" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_memchecker" ; then if test "$DIRECT_memchecker" = "valgrind" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_memchecker" = "1" then : want_component=0 fi if test "${DISABLE_memchecker_valgrind}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_memchecker_valgrind_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} component_compile_mode_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component memchecker:valgrind compile mode" >&5 printf %s "checking for MCA component memchecker:valgrind compile mode... " >&6; } component_compile_mode_tmp="static" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $component_compile_mode_tmp" >&5 printf "%s\n" "$component_compile_mode_tmp" >&6; } eval opal_memchecker_valgrind_compile_mode=\$$component_compile_mode_tmp opal_var_scope_pop component_compile_mode_tmp ;; esac fi compile_mode=$opal_memchecker_valgrind_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/memchecker/valgrind/Makefile" opal_var_scope_push ${LINENO} opal_memchecker_valgrind_save_CPPFLAGS opal_memchecker_valgrind_happy opal_memchecker_valgrind_CPPFLAGS @%:@ Check whether --with-valgrind was given. if test ${with_valgrind+y} then : withval=$with_valgrind; fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking --with-valgrind value" >&5 printf %s "checking --with-valgrind value... " >&6; } if test "$with_valgrind" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: simple no (specified --without-valgrind)" >&5 printf "%s\n" "simple no (specified --without-valgrind)" >&6; } else case e in @%:@( e) if test "$with_valgrind" = "yes" || test "x$with_valgrind" = "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 case e in @%:@( e) if test ! -d "$with_valgrind" 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_valgrind not found" >&5 printf "%s\n" "$as_me: WARNING: Directory $with_valgrind not found" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 else case e in @%:@( e) if test "x`ls $with_valgrind/include/valgrind/valgrind.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_valgrind/include/valgrind/valgrind.h not found" >&5 printf "%s\n" "$as_me: WARNING: Expected file $with_valgrind/include/valgrind/valgrind.h not found" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: sanity check ok ($with_valgrind)" >&5 printf "%s\n" "sanity check ok ($with_valgrind)" >&6; } ;; esac fi ;; esac fi ;; esac fi ;; esac fi opal_memchecker_valgrind_CPPFLAGS= opal_memchecker_valgrind_save_CPPFLAGS="$CPPFLAGS" opal_memchecker_valgrind_happy=no if test "$with_valgrind" != "no" then : if test -n "$with_valgrind" && test "$with_valgrind" != "yes" then : opal_memchecker_valgrind_CPPFLAGS="-I$with_valgrind/include" # We need this -I to stay in CPPFLAGS when we're done CPPFLAGS="$CPPFLAGS -I$with_valgrind/include" opal_memchecker_valgrind_save_CPPFLAGS=$CPPFLAGS fi for ac_header in valgrind/valgrind.h do : ac_fn_c_check_header_compile "$LINENO" "valgrind/valgrind.h" "ac_cv_header_valgrind_valgrind_h" "$ac_includes_default" if test "x$ac_cv_header_valgrind_valgrind_h" = xyes then : printf "%s\n" "@%:@define HAVE_VALGRIND_VALGRIND_H 1" >>confdefs.h { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for VALGRIND_CHECK_MEM_IS_ADDRESSABLE" >&5 printf %s "checking for VALGRIND_CHECK_MEM_IS_ADDRESSABLE... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include "valgrind/memcheck.h" int main (void) { char buffer = 0x0f; VALGRIND_CHECK_MEM_IS_ADDRESSABLE(&buffer, sizeof(buffer)); ; return 0; } _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; } opal_memchecker_valgrind_happy=yes else case e in @%:@( e) { 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: Need Valgrind version 3.2.0 or later. Can not build component." >&5 printf "%s\n" "$as_me: WARNING: Need Valgrind version 3.2.0 or later. Can not build component." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cross-compiling; assume yes...?" >&5 printf "%s\n" "cross-compiling; assume yes...?" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: OMPI will fail to compile if you do not have Valgrind version 3.2.0 or later" >&5 printf "%s\n" "$as_me: WARNING: OMPI will fail to compile if you do not have Valgrind version 3.2.0 or later" >&2;} opal_memchecker_valgrind_happy=yes ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext, else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: valgrind.h not found" >&5 printf "%s\n" "$as_me: WARNING: valgrind.h not found" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Cannot compile this component" >&5 printf "%s\n" "$as_me: WARNING: Cannot compile this component" >&2;} ;; esac fi done fi CPPFLAGS="$opal_memchecker_valgrind_save_CPPFLAGS" # If we specifically requested this component and can't build it, error if test "$with_valgrind" != "no" && test -n "$with_valgrind" && test "$opal_memchecker_valgrind_happy" != "yes" then : as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test "$opal_memchecker_valgrind_happy" = "yes" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi opal_var_scope_pop opal_memchecker_valgrind_save_CPPFLAGS opal_memchecker_valgrind_happy opal_memchecker_valgrind_CPPFLAGS opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/memchecker/valgrind/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components valgrind" if test "$compile_mode" = "dso" ; then dso_components="$dso_components valgrind" else if test "memchecker" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/memchecker/valgrind/lib${OPAL_LIB_NAME}mca_memchecker_valgrind.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/memchecker/valgrind/libmca_memchecker_valgrind.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_memchecker_valgrind_component;" >> $outfile.extern echo " &mca_memchecker_valgrind_component, " >> $outfile.struct static_components="$static_components valgrind" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component memchecker:valgrind can compile" >&5 printf %s "checking if MCA component memchecker:valgrind can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_memchecker" = "valgrind" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_memchecker_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** memchecker component valgrind was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_memchecker" = "valgrind" ; then as_fn_error $? "*** memchecker component valgrind was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${memchecker_valgrind_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${memchecker_valgrind_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${memchecker_valgrind_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${memchecker_valgrind_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${memchecker_valgrind_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${memchecker_valgrind_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$memchecker_valgrind_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=1 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $memchecker_valgrind_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring memchecker_valgrind_WRAPPER_EXTRA_CPPFLAGS ($memchecker_valgrind_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring memchecker_valgrind_WRAPPER_EXTRA_CPPFLAGS ($memchecker_valgrind_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component memchecker:valgrind can compile" >&5 printf %s "checking if MCA component memchecker:valgrind can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_memchecker" = "valgrind" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"valgrind\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"valgrind\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_memchecker" ; then if test "$DIRECT_memchecker" = "valgrind" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"valgrind\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"valgrind\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components valgrind" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_memchecker_valgrind_DSO=1 else case e in @%:@( e) BUILD_opal_memchecker_valgrind_DSO=0 ;; esac fi if test "$BUILD_opal_memchecker_valgrind_DSO" = "1"; then MCA_BUILD_opal_memchecker_valgrind_DSO_TRUE= MCA_BUILD_opal_memchecker_valgrind_DSO_FALSE='#' else MCA_BUILD_opal_memchecker_valgrind_DSO_TRUE='#' MCA_BUILD_opal_memchecker_valgrind_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test $components_last_result -eq 1 then : components_looking_for_succeed=0 fi if test ${DIRECT_memchecker+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for memchecker framework" >&5 printf %s "checking if direct-selection component exists for memchecker framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_memchecker" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_memchecker requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_memchecker" >&5 printf "%s\n" "$DIRECT_memchecker" >&6; } fi MCA_opal_memchecker_ALL_COMPONENTS="$all_components" MCA_opal_memchecker_STATIC_COMPONENTS="$static_components" MCA_opal_memchecker_DSO_COMPONENTS="$dso_components" MCA_opal_memchecker_STATIC_LTLIBS="$static_ltlibs" MCA_opal_memchecker_ALL_SUBDIRS= for item in $all_components ; do MCA_opal_memchecker_ALL_SUBDIRS="$MCA_opal_memchecker_ALL_SUBDIRS mca/memchecker/$item" done MCA_opal_memchecker_STATIC_SUBDIRS= for item in $static_components ; do MCA_opal_memchecker_STATIC_SUBDIRS="$MCA_opal_memchecker_STATIC_SUBDIRS mca/memchecker/$item" done MCA_opal_memchecker_DSO_SUBDIRS= for item in $dso_components ; do MCA_opal_memchecker_DSO_SUBDIRS="$MCA_opal_memchecker_DSO_SUBDIRS mca/memchecker/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "memchecker" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real if test "$MCA_opal_memchecker_STATIC_COMPONENTS" != "" || test "$MCA_opal_memchecker_DSO_COMPONENTS" != "" then : memchecker_base_found=1 else case e in @%:@( e) memchecker_base_found=0 ;; esac fi if test $WANT_MEMCHECKER -eq 1 && test $memchecker_base_found -eq 0 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Memchecker support requested, but no memchecker" >&5 printf "%s\n" "$as_me: WARNING: Memchecker support requested, but no memchecker" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: components configured successfully. Did you" >&5 printf "%s\n" "$as_me: WARNING: components configured successfully. Did you" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: forget --with-valgrind?" >&5 printf "%s\n" "$as_me: WARNING: forget --with-valgrind?" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi MCA_opal_FRAMEWORKS="$MCA_opal_FRAMEWORKS memcpy" MCA_opal_FRAMEWORKS_SUBDIRS="$MCA_opal_FRAMEWORKS_SUBDIRS mca/memcpy" MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_opal_memcpy_ALL_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_opal_memcpy_DSO_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_opal_memcpy_STATIC_SUBDIRS)" mca_opal_framework_base_lib="mca/memcpy/libmca_memcpy.la" MCA_opal_FRAMEWORK_LIBS="$MCA_opal_FRAMEWORK_LIBS ${mca_opal_framework_base_lib} \$(MCA_opal_memcpy_STATIC_LTLIBS)" memcpy_base_include= # first, compile all the components opal_show_subsubtitle "Configuring MCA framework memcpy" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=opal/mca/memcpy/base as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files opal/mca/memcpy/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework memcpy" >&5 printf %s "checking for no configure components in framework memcpy... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework memcpy" >&5 printf %s "checking for m4 configure components in framework memcpy... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=1 components_last_result=0 if test ${DIRECT_memcpy+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for memcpy framework" >&5 printf %s "checking if direct-selection component exists for memcpy framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_memcpy" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_memcpy requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_memcpy" >&5 printf "%s\n" "$DIRECT_memcpy" >&6; } fi MCA_opal_memcpy_ALL_COMPONENTS="$all_components" MCA_opal_memcpy_STATIC_COMPONENTS="$static_components" MCA_opal_memcpy_DSO_COMPONENTS="$dso_components" MCA_opal_memcpy_STATIC_LTLIBS="$static_ltlibs" MCA_opal_memcpy_ALL_SUBDIRS= for item in $all_components ; do MCA_opal_memcpy_ALL_SUBDIRS="$MCA_opal_memcpy_ALL_SUBDIRS mca/memcpy/$item" done MCA_opal_memcpy_STATIC_SUBDIRS= for item in $static_components ; do MCA_opal_memcpy_STATIC_SUBDIRS="$MCA_opal_memcpy_STATIC_SUBDIRS mca/memcpy/$item" done MCA_opal_memcpy_DSO_SUBDIRS= for item in $dso_components ; do MCA_opal_memcpy_DSO_SUBDIRS="$MCA_opal_memcpy_DSO_SUBDIRS mca/memcpy/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "memcpy" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real # someone should have set this... if test "$memcpy_base_include" = "" ; then memcpy_base_include="base/memcpy_base_default.h" fi printf "%s\n" "@%:@define MCA_memcpy_IMPLEMENTATION_HEADER \"opal/mca/memcpy/$memcpy_base_include\"" >>confdefs.h MCA_opal_FRAMEWORKS="$MCA_opal_FRAMEWORKS memory" MCA_opal_FRAMEWORKS_SUBDIRS="$MCA_opal_FRAMEWORKS_SUBDIRS mca/memory" MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_opal_memory_ALL_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_opal_memory_DSO_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_opal_memory_STATIC_SUBDIRS)" mca_opal_framework_base_lib="mca/memory/libmca_memory.la" MCA_opal_FRAMEWORK_LIBS="$MCA_opal_FRAMEWORK_LIBS ${mca_opal_framework_base_lib} \$(MCA_opal_memory_STATIC_LTLIBS)" @%:@ Check whether --with-memory-manager was given. if test ${with_memory_manager+y} then : withval=$with_memory_manager; fi memory_base_found=0 memory_base_want=1 if test "$with_memory_manager" = "no" then : memory_base_want=0 fi opal_show_subsubtitle "Configuring MCA framework memory" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=opal/mca/memory/base as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files opal/mca/memory/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework memory" >&5 printf %s "checking for no configure components in framework memory... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework memory" >&5 printf %s "checking for m4 configure components in framework memory... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: malloc_solaris, patcher" >&5 printf "%s\n" "malloc_solaris, patcher" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=$memory_base_want components_last_result=0 opal_show_subsubsubtitle "MCA component memory:patcher (m4 configuration macro, priority 41)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/memory/patcher" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_memory" ; then if test "$DIRECT_memory" = "patcher" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_memory" = "1" then : want_component=0 fi if test "${DISABLE_memory_patcher}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_memory_patcher_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} component_compile_mode_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component memory:patcher compile mode" >&5 printf %s "checking for MCA component memory:patcher compile mode... " >&6; } component_compile_mode_tmp="static" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $component_compile_mode_tmp" >&5 printf "%s\n" "$component_compile_mode_tmp" >&6; } eval opal_memory_patcher_compile_mode=\$$component_compile_mode_tmp opal_var_scope_pop component_compile_mode_tmp ;; esac fi compile_mode=$opal_memory_patcher_compile_mode # try to configure the component # disable on MacOS/Darwin where it isn't used and the deprecated # syscall interface causes compiler warnings. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if memory patcher supports $host_os" >&5 printf %s "checking if memory patcher supports $host_os... " >&6; } case $host_os in darwin*) opal_memory_patcher_happy=no ;; *) opal_memory_patcher_happy=yes ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_memory_patcher_happy" >&5 printf "%s\n" "$opal_memory_patcher_happy" >&6; } # syscall interface causes compiler warnings. # Per the above logic, memory patcher no longer supports MacOS/Darwin, # so we no longer support Darwin-specific logic for intercept_mmap. # See issue #6853: mmap infinite recurse in opal/mca/memory/patcher if test "$opal_memory_patcher_happy" = "yes" then : ac_fn_c_check_func "$LINENO" "__curbrk" "ac_cv_func___curbrk" if test "x$ac_cv_func___curbrk" = xyes then : printf "%s\n" "@%:@define HAVE___CURBRK 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "linux/mman.h" "ac_cv_header_linux_mman_h" "$ac_includes_default" if test "x$ac_cv_header_linux_mman_h" = xyes then : printf "%s\n" "@%:@define HAVE_LINUX_MMAN_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/syscall.h" "ac_cv_header_sys_syscall_h" "$ac_includes_default" if test "x$ac_cv_header_sys_syscall_h" = xyes then : printf "%s\n" "@%:@define HAVE_SYS_SYSCALL_H 1" >>confdefs.h fi ac_fn_check_decl "$LINENO" "__syscall" "ac_cv_have_decl___syscall" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl___syscall" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL___SYSCALL $ac_have_decl" >>confdefs.h ac_fn_c_check_func "$LINENO" "__syscall" "ac_cv_func___syscall" if test "x$ac_cv_func___syscall" = xyes then : printf "%s\n" "@%:@define HAVE___SYSCALL 1" >>confdefs.h fi should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi ac_config_files="$ac_config_files opal/mca/memory/patcher/Makefile" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/memory/patcher/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components patcher" if test "$compile_mode" = "dso" ; then dso_components="$dso_components patcher" else if test "memory" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/memory/patcher/lib${OPAL_LIB_NAME}mca_memory_patcher.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/memory/patcher/libmca_memory_patcher.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_memory_patcher_component;" >> $outfile.extern echo " &mca_memory_patcher_component, " >> $outfile.struct static_components="$static_components patcher" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component memory:patcher can compile" >&5 printf %s "checking if MCA component memory:patcher can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_memory" = "patcher" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_memory_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** memory component patcher was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_memory" = "patcher" ; then as_fn_error $? "*** memory component patcher was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${memory_patcher_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${memory_patcher_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${memory_patcher_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${memory_patcher_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${memory_patcher_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${memory_patcher_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$memory_patcher_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=1 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $memory_patcher_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring memory_patcher_WRAPPER_EXTRA_CPPFLAGS ($memory_patcher_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring memory_patcher_WRAPPER_EXTRA_CPPFLAGS ($memory_patcher_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component memory:patcher can compile" >&5 printf %s "checking if MCA component memory:patcher can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_memory" = "patcher" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"patcher\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"patcher\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_memory" ; then if test "$DIRECT_memory" = "patcher" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"patcher\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"patcher\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components patcher" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_memory_patcher_DSO=1 else case e in @%:@( e) BUILD_opal_memory_patcher_DSO=0 ;; esac fi if test "$BUILD_opal_memory_patcher_DSO" = "1"; then MCA_BUILD_opal_memory_patcher_DSO_TRUE= MCA_BUILD_opal_memory_patcher_DSO_FALSE='#' else MCA_BUILD_opal_memory_patcher_DSO_TRUE='#' MCA_BUILD_opal_memory_patcher_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test $components_last_result -eq 1 then : components_looking_for_succeed=0 fi opal_show_subsubsubtitle "MCA component memory:malloc_solaris (m4 configuration macro, priority 0)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/memory/malloc_solaris" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_memory" ; then if test "$DIRECT_memory" = "malloc_solaris" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_memory" = "1" then : want_component=0 fi if test "${DISABLE_memory_malloc_solaris}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_memory_malloc_solaris_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} component_compile_mode_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component memory:malloc_solaris compile mode" >&5 printf %s "checking for MCA component memory:malloc_solaris compile mode... " >&6; } component_compile_mode_tmp="static" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $component_compile_mode_tmp" >&5 printf "%s\n" "$component_compile_mode_tmp" >&6; } eval opal_memory_malloc_solaris_compile_mode=\$$component_compile_mode_tmp opal_var_scope_pop component_compile_mode_tmp ;; esac fi compile_mode=$opal_memory_malloc_solaris_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/memory/malloc_solaris/Makefile" opal_var_scope_push ${LINENO} memory_malloc_solaris_happy memory_malloc_solaris_should_use memory_malloc_solaris_munmap memory_alloc_solaris_legacy { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Solaris" >&5 printf %s "checking for Solaris... " >&6; } case "$host" in *solaris*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test "$with_memory_manager" = "malloc_solaris" then : memory_malloc_solaris_happy="yes" memory_malloc_solaris_should_use=1 else case e in @%:@( e) memory_malloc_solaris_should_use=0 if test "$with_memory_manager" = "" then : memory_malloc_solaris_happy="yes" else case e in @%:@( e) memory_malloc_solaris_happy="no" ;; esac fi ;; esac fi if test "$memory_malloc_solaris_happy" = "yes" then : ac_fn_c_check_header_compile "$LINENO" "malloc.h" "ac_cv_header_malloc_h" "$ac_includes_default" if test "x$ac_cv_header_malloc_h" = xyes then : else case e in @%:@( e) memory_malloc_solaris_happy="no" ;; esac fi fi if test "$memory_malloc_solaris_happy" = "yes" then : memory_malloc_solaris_munmap=0 ac_fn_c_check_header_compile "$LINENO" "sys/syscall.h" "ac_cv_header_sys_syscall_h" "$ac_includes_default" if test "x$ac_cv_header_sys_syscall_h" = xyes then : for ac_func in syscall do : ac_fn_c_check_func "$LINENO" "syscall" "ac_cv_func_syscall" if test "x$ac_cv_func_syscall" = xyes then : printf "%s\n" "@%:@define HAVE_SYSCALL 1" >>confdefs.h memory_malloc_solaris_munmap=1 fi done fi for ac_func in __munmap do : ac_fn_c_check_func "$LINENO" "__munmap" "ac_cv_func___munmap" if test "x$ac_cv_func___munmap" = xyes then : printf "%s\n" "@%:@define HAVE___MUNMAP 1" >>confdefs.h memory_malloc_solaris_munmap=1 fi done # only allow dlsym (and therefore add -ldl) if we # really need to if test "$memory_malloc_solaris_munmap" = "0" then : memory_malloc_solaris_LIBS_SAVE="$LIBS" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlsym in -ldl" >&5 printf %s "checking for dlsym in -ldl... " >&6; } if test ${ac_cv_lib_dl_dlsym+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* 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. The 'extern "C"' is for builds by C++ compilers; although this is not generally supported in C code supporting it here has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif char dlsym (void); int main (void) { return dlsym (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_dl_dlsym=yes else case e in @%:@( e) ac_cv_lib_dl_dlsym=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlsym" >&5 printf "%s\n" "$ac_cv_lib_dl_dlsym" >&6; } if test "x$ac_cv_lib_dl_dlsym" = xyes then : memory_malloc_solaris_LIBS="-ldl" memory_malloc_solaris_munmap=1 fi ac_fn_c_check_func "$LINENO" "dlsym" "ac_cv_func_dlsym" if test "x$ac_cv_func_dlsym" = xyes then : printf "%s\n" "@%:@define HAVE_DLSYM 1" >>confdefs.h fi LIBS="$memory_malloc_solaris_LIBS_SAVE" fi if test "$memory_malloc_solaris_munmap" = "0" then : memory_malloc_solaris_happy="no" fi fi # There is a difference in the munmap prototypes for different # Solaris versions. So determine whether we are to use Legacy # S10 or later prototypes. memory_alloc_solaris_legacy=0 if test "$memory_malloc_solaris_happy" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Solaris Legacy MUNMAP" >&5 printf %s "checking for Solaris Legacy MUNMAP... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { char *addr; extern int munmap(caddr_t addr, size_t len); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : memory_alloc_solaris_legacy=1 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext printf "%s\n" "@%:@define USE_SOLARIS_LEGACY_MUNMAP_PROTOTYPE $memory_alloc_solaris_legacy" >>confdefs.h fi if test "$memory_malloc_solaris_happy" = "no" && \ test "$memory_malloc_solaris_should_use" = "1" then : as_fn_error $? "malloc_solaris memory management requested but not available. Aborting." "$LINENO" 5 fi ;; *) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } if test "$with_memory_manager" = "malloc_solaris" then : memory_malloc_solaris_happy="no" memory_malloc_solaris_should_use=0 fi ;; esac if test "$memory_malloc_solaris_happy" = "yes" then : memory_base_found=1 should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi opal_var_scope_pop memory_malloc_solaris_happy memory_malloc_solaris_should_use memory_malloc_solaris_munmap memory_alloc_solaris_legacy opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/memory/malloc_solaris/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components malloc_solaris" if test "$compile_mode" = "dso" ; then dso_components="$dso_components malloc_solaris" else if test "memory" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/memory/malloc_solaris/lib${OPAL_LIB_NAME}mca_memory_malloc_solaris.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/memory/malloc_solaris/libmca_memory_malloc_solaris.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_memory_malloc_solaris_component;" >> $outfile.extern echo " &mca_memory_malloc_solaris_component, " >> $outfile.struct static_components="$static_components malloc_solaris" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component memory:malloc_solaris can compile" >&5 printf %s "checking if MCA component memory:malloc_solaris can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_memory" = "malloc_solaris" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_memory_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** memory component malloc_solaris was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_memory" = "malloc_solaris" ; then as_fn_error $? "*** memory component malloc_solaris was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${memory_malloc_solaris_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${memory_malloc_solaris_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${memory_malloc_solaris_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${memory_malloc_solaris_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${memory_malloc_solaris_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${memory_malloc_solaris_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$memory_malloc_solaris_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=1 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $memory_malloc_solaris_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring memory_malloc_solaris_WRAPPER_EXTRA_CPPFLAGS ($memory_malloc_solaris_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring memory_malloc_solaris_WRAPPER_EXTRA_CPPFLAGS ($memory_malloc_solaris_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component memory:malloc_solaris can compile" >&5 printf %s "checking if MCA component memory:malloc_solaris can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_memory" = "malloc_solaris" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"malloc_solaris\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"malloc_solaris\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_memory" ; then if test "$DIRECT_memory" = "malloc_solaris" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"malloc_solaris\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"malloc_solaris\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components malloc_solaris" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_memory_malloc_solaris_DSO=1 else case e in @%:@( e) BUILD_opal_memory_malloc_solaris_DSO=0 ;; esac fi if test "$BUILD_opal_memory_malloc_solaris_DSO" = "1"; then MCA_BUILD_opal_memory_malloc_solaris_DSO_TRUE= MCA_BUILD_opal_memory_malloc_solaris_DSO_FALSE='#' else MCA_BUILD_opal_memory_malloc_solaris_DSO_TRUE='#' MCA_BUILD_opal_memory_malloc_solaris_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test $components_last_result -eq 1 then : components_looking_for_succeed=0 fi if test ${DIRECT_memory+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for memory framework" >&5 printf %s "checking if direct-selection component exists for memory framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_memory" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_memory requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_memory" >&5 printf "%s\n" "$DIRECT_memory" >&6; } fi MCA_opal_memory_ALL_COMPONENTS="$all_components" MCA_opal_memory_STATIC_COMPONENTS="$static_components" MCA_opal_memory_DSO_COMPONENTS="$dso_components" MCA_opal_memory_STATIC_LTLIBS="$static_ltlibs" MCA_opal_memory_ALL_SUBDIRS= for item in $all_components ; do MCA_opal_memory_ALL_SUBDIRS="$MCA_opal_memory_ALL_SUBDIRS mca/memory/$item" done MCA_opal_memory_STATIC_SUBDIRS= for item in $static_components ; do MCA_opal_memory_STATIC_SUBDIRS="$MCA_opal_memory_STATIC_SUBDIRS mca/memory/$item" done MCA_opal_memory_DSO_SUBDIRS= for item in $dso_components ; do MCA_opal_memory_DSO_SUBDIRS="$MCA_opal_memory_DSO_SUBDIRS mca/memory/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "memory" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real printf "%s\n" "@%:@define OPAL_MEMORY_HAVE_COMPONENT $memory_base_found" >>confdefs.h # See if someone set to use their header file if test "$memory_base_include" = "" ; then memory_base_include="base/empty.h" fi printf "%s\n" "@%:@define MCA_memory_IMPLEMENTATION_HEADER \"opal/mca/memory/$memory_base_include\"" >>confdefs.h MCA_opal_FRAMEWORKS="$MCA_opal_FRAMEWORKS mpool" MCA_opal_FRAMEWORKS_SUBDIRS="$MCA_opal_FRAMEWORKS_SUBDIRS mca/mpool" MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_opal_mpool_ALL_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_opal_mpool_DSO_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_opal_mpool_STATIC_SUBDIRS)" mca_opal_framework_base_lib="mca/mpool/libmca_mpool.la" MCA_opal_FRAMEWORK_LIBS="$MCA_opal_FRAMEWORK_LIBS ${mca_opal_framework_base_lib} \$(MCA_opal_mpool_STATIC_LTLIBS)" opal_show_subsubtitle "Configuring MCA framework mpool" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=opal/mca/mpool/base as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files opal/mca/mpool/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework mpool" >&5 printf %s "checking for no configure components in framework mpool... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: hugepage" >&5 printf "%s\n" "hugepage" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework mpool" >&5 printf %s "checking for m4 configure components in framework mpool... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: memkind" >&5 printf "%s\n" "memkind" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components opal_show_subsubsubtitle "MCA component mpool:hugepage (no configuration)" opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: before, should_build=1" component_path="$srcdir/opal/mca/mpool/hugepage" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_mpool" ; then if test "$DIRECT_mpool" = "hugepage" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_mpool" = "1" then : want_component=0 fi if test "${DISABLE_mpool_hugepage}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=1 else case e in @%:@( e) should_build=0 ;; esac fi if test ${opal_mpool_hugepage_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_mpool" SHARED_COMPONENT="$DSO_mpool_hugepage" STATIC_FRAMEWORK="$STATIC_mpool" STATIC_COMPONENT="$STATIC_mpool_hugepage" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_mpool_hugepage_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component mpool:hugepage compile mode" >&5 printf %s "checking for MCA component mpool:hugepage compile mode... " >&6; } if test "$DIRECT_mpool" = "hugepage" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$opal_mpool_hugepage_compile_mode opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" ; then # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/mpool/hugepage/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components hugepage" if test "$compile_mode" = "dso" ; then dso_components="$dso_components hugepage" else if test "mpool" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/mpool/hugepage/lib${OPAL_LIB_NAME}mca_mpool_hugepage.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/mpool/hugepage/libmca_mpool_hugepage.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_mpool_hugepage_component;" >> $outfile.extern echo " &mca_mpool_hugepage_component, " >> $outfile.struct static_components="$static_components hugepage" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component mpool:hugepage can compile" >&5 printf %s "checking if MCA component mpool:hugepage can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_mpool" = "hugepage" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_mpool_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** mpool component hugepage was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_mpool" = "hugepage" ; then as_fn_error $? "*** mpool component hugepage was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${mpool_hugepage_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${mpool_hugepage_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${mpool_hugepage_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${mpool_hugepage_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${mpool_hugepage_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${mpool_hugepage_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$mpool_hugepage_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $mpool_hugepage_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring mpool_hugepage_WRAPPER_EXTRA_CPPFLAGS ($mpool_hugepage_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring mpool_hugepage_WRAPPER_EXTRA_CPPFLAGS ($mpool_hugepage_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component mpool:hugepage can compile" >&5 printf %s "checking if MCA component mpool:hugepage can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_mpool" = "hugepage" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"hugepage\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"hugepage\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_mpool" ; then if test "$DIRECT_mpool" = "hugepage" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"hugepage\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"hugepage\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components hugepage" fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" ; then BUILD_opal_mpool_hugepage_DSO=1 else BUILD_opal_mpool_hugepage_DSO=0 fi if test "$BUILD_opal_mpool_hugepage_DSO" = "1"; then MCA_BUILD_opal_mpool_hugepage_DSO_TRUE= MCA_BUILD_opal_mpool_hugepage_DSO_FALSE='#' else MCA_BUILD_opal_mpool_hugepage_DSO_TRUE='#' MCA_BUILD_opal_mpool_hugepage_DSO_FALSE= fi ac_config_files="$ac_config_files opal/mca/mpool/hugepage/Makefile" unset compile_mode # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=1 components_last_result=0 opal_show_subsubsubtitle "MCA component mpool:memkind (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/mpool/memkind" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_mpool" ; then if test "$DIRECT_mpool" = "memkind" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_mpool" = "1" then : want_component=0 fi if test "${DISABLE_mpool_memkind}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_mpool_memkind_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_mpool" SHARED_COMPONENT="$DSO_mpool_memkind" STATIC_FRAMEWORK="$STATIC_mpool" STATIC_COMPONENT="$STATIC_mpool_memkind" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_mpool_memkind_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component mpool:memkind compile mode" >&5 printf %s "checking for MCA component mpool:memkind compile mode... " >&6; } if test "$DIRECT_mpool" = "memkind" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$opal_mpool_memkind_compile_mode # try to configure the component opal_var_scope_push ${LINENO} opal_mpool_memkind_happy ac_config_files="$ac_config_files opal/mca/mpool/memkind/Makefile" @%:@ Check whether --with-memkind was given. if test ${with_memkind+y} then : withval=$with_memkind; fi # # memkind_create_kind was introduced with memkind v1.4.0 release # # ****************************** START CHECK PACKAGE FOR memkind ****************************** oac_var_scope_push ${LINENO} check_package_mpool_memkind_save_CPPFLAGS check_package_mpool_memkind_save_LDFLAGS check_package_mpool_memkind_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_mpool_memkind_save_CPPFLAGS="${CPPFLAGS}" check_package_mpool_memkind_save_LDFLAGS="${LDFLAGS}" check_package_mpool_memkind_save_LIBS="${LIBS}" mpool_memkind_CPPFLAGS= mpool_memkind_LDFLAGS= mpool_memkind_STATIC_LDFLAGS= mpool_memkind_LIBS= mpool_memkind_STATIC_LIBS= { mpool_memkind_PC_MODULES=; unset mpool_memkind_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_memkind" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package memkind disabled by user" >&5 printf "%s\n" "$as_me: Package memkind disabled by user" >&6;} check_package_happy=0 elif test "${with_memkind}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_memkind}" ;; esac fi check_package_libdir= if test "${with_memkind_libdir}" = "no" -o "${with_memkind_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-memkind-libdir" "$LINENO" 5 elif test -n "${with_memkind_libdir}" then : check_package_libdir="${with_memkind_libdir}" fi check_package_incdir= if test "${with_memkind_incdir}" = "no" -o "${with_memkind_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-memkind-incdir" "$LINENO" 5 elif test -n "${with_memkind_incdir}" then : check_package_incdir="${with_memkind_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${memkind_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-memkind or --with-memkind-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-memkind only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for memkind pkg-config name" >&5 printf %s "checking for memkind pkg-config name... " >&6; } if test ${oac_cv_check_package_memkind_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_memkind_pcfilename="memkind" if test -n "${check_package_libdir}" then : oac_cv_check_package_memkind_pcfilename="${check_package_libdir}/pkgconfig/memkind.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_memkind_pcfilename="memkind" elif test -r "${check_package_prefix}/lib/pkgconfig/memkind.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/memkind.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found memkind in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-memkind-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_memkind_pcfilename="${check_package_prefix}/lib/pkgconfig/memkind.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/memkind.pc" then : oac_cv_check_package_memkind_pcfilename="${check_package_prefix}/lib64/pkgconfig/memkind.pc" else case e in @%:@( e) oac_cv_check_package_memkind_pcfilename="${check_package_prefix}/lib/pkgconfig/memkind.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_memkind_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_memkind_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if memkind pkg-config module exists" >&5 printf %s "checking if memkind pkg-config module exists... " >&6; } if test ${oac_cv_check_package_memkind_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_memkind_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_memkind_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : mpool_memkind_PC_MODULES=${oac_cv_check_package_memkind_pcfilename} oac_cv_check_package_memkind_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_memkind_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_memkind_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_memkind_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_memkind_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for memkind pkg-config cflags" >&5 printf %s "checking for memkind pkg-config cflags... " >&6; } if test ${oac_cv_check_package_memkind_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_memkind_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_memkind_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_memkind_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving memkind cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_memkind_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_memkind_pkg_config_cppflags" >&6; } mpool_memkind_CPPFLAGS="${oac_cv_check_package_memkind_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for memkind pkg-config ldflags" >&5 printf %s "checking for memkind pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_memkind_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_memkind_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_memkind_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_memkind_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving memkind ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_memkind_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_memkind_pkg_config_ldflags" >&6; } mpool_memkind_LDFLAGS="${oac_cv_check_package_memkind_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for memkind pkg-config static ldflags" >&5 printf %s "checking for memkind pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_memkind_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_memkind_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_memkind_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_memkind_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving memkind static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_memkind_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_memkind_pkg_config_static_ldflags" >&6; } mpool_memkind_STATIC_LDFLAGS="${oac_cv_check_package_memkind_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for memkind pkg-config libs" >&5 printf %s "checking for memkind pkg-config libs... " >&6; } if test ${oac_cv_check_package_memkind_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_memkind_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_memkind_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_memkind_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving memkind libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_memkind_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_memkind_pkg_config_libs" >&6; } mpool_memkind_LIBS="${oac_cv_check_package_memkind_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for memkind pkg-config static libs" >&5 printf %s "checking for memkind pkg-config static libs... " >&6; } if test ${oac_cv_check_package_memkind_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_memkind_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_memkind_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_memkind_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving memkind libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_memkind_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_memkind_pkg_config_static_libs" >&6; } mpool_memkind_STATIC_LIBS="${oac_cv_check_package_memkind_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${memkind_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-memkind argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for memkind wrapper compiler" >&5 printf %s "checking for memkind wrapper compiler... " >&6; } if test ${oac_cv_check_package_memkind_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_memkind_wrapper_compiler="memkindcc" else case e in @%:@( e) oac_cv_check_package_memkind_wrapper_compiler="${check_package_prefix}/bin/memkindcc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_memkind_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_memkind_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if memkind wrapper compiler works" >&5 printf %s "checking if memkind wrapper compiler works... " >&6; } if test ${oac_cv_check_package_memkind_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_memkind_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_memkind_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_memkind_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_memkind_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_memkind_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_memkind_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_memkind_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for memkind wrapper compiler cppflags" >&5 printf %s "checking for memkind wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_memkind_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_memkind_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_memkind_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_memkind_wrapper_compiler_cppflags}" then : oac_cv_check_package_memkind_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_memkind_wrapper_compiler_cppflags="${oac_cv_check_package_memkind_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving memkind cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_memkind_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_memkind_wrapper_compiler_cppflags" >&6; } mpool_memkind_CPPFLAGS="${oac_cv_check_package_memkind_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for memkind wrapper compiler ldflags" >&5 printf %s "checking for memkind wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_memkind_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_memkind_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_memkind_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_memkind_wrapper_compiler_ldflags}" then : oac_cv_check_package_memkind_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_memkind_wrapper_compiler_ldflags="${oac_cv_check_package_memkind_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving memkind ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_memkind_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_memkind_wrapper_compiler_ldflags" >&6; } mpool_memkind_LDFLAGS="${oac_cv_check_package_memkind_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for memkind wrapper compiler static ldflags" >&5 printf %s "checking for memkind wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_memkind_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_memkind_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_memkind_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_memkind_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_memkind_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_memkind_wrapper_compiler_static_ldflags="${oac_cv_check_package_memkind_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving memkind static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_memkind_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_memkind_wrapper_compiler_static_ldflags" >&6; } mpool_memkind_STATIC_LDFLAGS="${oac_cv_check_package_memkind_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for memkind wrapper compiler libs" >&5 printf %s "checking for memkind wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_memkind_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_memkind_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_memkind_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_memkind_wrapper_compiler_libs}" then : oac_cv_check_package_memkind_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_memkind_wrapper_compiler_libs="${oac_cv_check_package_memkind_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving memkind libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_memkind_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_memkind_wrapper_compiler_libs" >&6; } mpool_memkind_LIBS="$oac_cv_check_package_memkind_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for memkind wrapper compiler static libs" >&5 printf %s "checking for memkind wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_memkind_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_memkind_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_memkind_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_memkind_wrapper_compiler_static_libs}" then : oac_cv_check_package_memkind_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_memkind_wrapper_compiler_static_libs="${oac_cv_check_package_memkind_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving memkind static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_memkind_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_memkind_wrapper_compiler_static_libs" >&6; } mpool_memkind_STATIC_LIBS="${oac_cv_check_package_memkind_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "memkind.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "memkind -lnuma" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for memkind header at ${check_package_generic_incdir}" >&5 printf %s "checking for memkind header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 mpool_memkind_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for memkind library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for memkind library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 mpool_memkind_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for memkind library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for memkind library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-memkind-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 mpool_memkind_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 mpool_memkind_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 mpool_memkind_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for memkind in default search paths" >&5 printf "%s\n" "$as_me: Searching for memkind in default search paths" >&6;} memkind_CPPFLAGS= memkind_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in memkind -lnuma ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${mpool_memkind_LIBS}" then : mpool_memkind_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) mpool_memkind_LIBS="${mpool_memkind_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${mpool_memkind_STATIC_LIBS}" then : mpool_memkind_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) mpool_memkind_STATIC_LIBS="${mpool_memkind_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for memkind cppflags" >&5 printf %s "checking for memkind cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $mpool_memkind_CPPFLAGS" >&5 printf "%s\n" "$mpool_memkind_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for memkind ldflags" >&5 printf %s "checking for memkind ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $mpool_memkind_LDFLAGS" >&5 printf "%s\n" "$mpool_memkind_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for memkind libs" >&5 printf %s "checking for memkind libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $mpool_memkind_LIBS" >&5 printf "%s\n" "$mpool_memkind_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for memkind static libs" >&5 printf %s "checking for memkind static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $mpool_memkind_STATIC_LIBS" >&5 printf "%s\n" "$mpool_memkind_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${mpool_memkind_LDFLAGS}" then : mpool_memkind_LDFLAGS="${mpool_memkind_STATIC_LDFLAGS}" else case e in @%:@( e) mpool_memkind_LDFLAGS="${mpool_memkind_LDFLAGS} ${mpool_memkind_STATIC_LDFLAGS}" ;; esac fi if test -z "${mpool_memkind_LIBS}" then : mpool_memkind_LIBS="${mpool_memkind_STATIC_LIBS}" else case e in @%:@( e) mpool_memkind_LIBS="${mpool_memkind_LIBS} ${mpool_memkind_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "memkind.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${mpool_memkind_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${mpool_memkind_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${mpool_memkind_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${mpool_memkind_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${mpool_memkind_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${mpool_memkind_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "memkind_create_kind" "ac_cv_func_memkind_create_kind" if test "x$ac_cv_func_memkind_create_kind" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if memkind requires libnl v1 or v3" >&5 printf %s "checking if memkind requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_memkind+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void memkind_create_kind (void); int main(int argc, char *argv[]) { memkind_create_kind (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib memkind" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib memkind" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_memkind=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_memkind" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_memkind" >&6; } result_msg=$opal_libnl_sanity_check_cv_memkind this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, memkind links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, memkind links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libmemkind (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libmemkind (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libmemkind." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libmemkind." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas memkind requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas memkind requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libmemkind (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libmemkind (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libmemkind." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libmemkind." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs memkind" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas memkind requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas memkind requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libmemkind (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libmemkind (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libmemkind." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libmemkind." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs memkind" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi mpool_memkind_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : mpool_memkind_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) mpool_memkind_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi opal_mpool_memkind_happy="yes" else case e in @%:@( e) if test "${with_memkind}" = "no" then : mpool_memkind_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) mpool_memkind_SUMMARY="no (not found)" ;; esac fi { mpool_memkind_CPPFLAGS=; unset mpool_memkind_CPPFLAGS;} { mpool_memkind_LDFLAGS=; unset mpool_memkind_LDFLAGS;} { mpool_memkind_STATIC_LDFLAGS=; unset mpool_memkind_STATIC_LDFLAGS;} { mpool_memkind_LIBS=; unset mpool_memkind_LIBS;} { mpool_memkind_STATIC_LIBS=; unset mpool_memkind_STATIC_LIBS;} opal_mpool_memkind_happy="no" ;; esac fi CPPFLAGS="${check_package_mpool_memkind_save_CPPFLAGS}" LDFLAGS="${check_package_mpool_memkind_save_LDFLAGS}" LIBS="${check_package_mpool_memkind_save_LIBS}" oac_var_scope_pop check_package_mpool_memkind_save_CPPFLAGS check_package_mpool_memkind_save_LDFLAGS check_package_mpool_memkind_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR memkind ****************************** if test "$ompi_mpool_memkind_happy" = "yes" then : should_build=$should_build else case e in @%:@( e) if test -n "$with_memkind" && test "$with_memkind" != "no" then : as_fn_error $? "Lustre support requested but not found. Aborting" "$LINENO" 5 fi should_build=0 ;; esac fi # substitute in the things needed to build memkind opal_var_scope_pop opal_mpool_memkind_happy opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/mpool/memkind/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components memkind" if test "$compile_mode" = "dso" ; then dso_components="$dso_components memkind" else if test "mpool" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/mpool/memkind/lib${OPAL_LIB_NAME}mca_mpool_memkind.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/mpool/memkind/libmca_mpool_memkind.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_mpool_memkind_component;" >> $outfile.extern echo " &mca_mpool_memkind_component, " >> $outfile.struct static_components="$static_components memkind" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component mpool:memkind can compile" >&5 printf %s "checking if MCA component mpool:memkind can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_mpool" = "memkind" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_mpool_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** mpool component memkind was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_mpool" = "memkind" ; then as_fn_error $? "*** mpool component memkind was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${mpool_memkind_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${mpool_memkind_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${mpool_memkind_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${mpool_memkind_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${mpool_memkind_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${mpool_memkind_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$mpool_memkind_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $mpool_memkind_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring mpool_memkind_WRAPPER_EXTRA_CPPFLAGS ($mpool_memkind_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring mpool_memkind_WRAPPER_EXTRA_CPPFLAGS ($mpool_memkind_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component mpool:memkind can compile" >&5 printf %s "checking if MCA component mpool:memkind can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_mpool" = "memkind" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"memkind\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"memkind\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_mpool" ; then if test "$DIRECT_mpool" = "memkind" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"memkind\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"memkind\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components memkind" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_mpool_memkind_DSO=1 else case e in @%:@( e) BUILD_opal_mpool_memkind_DSO=0 ;; esac fi if test "$BUILD_opal_mpool_memkind_DSO" = "1"; then MCA_BUILD_opal_mpool_memkind_DSO_TRUE= MCA_BUILD_opal_mpool_memkind_DSO_FALSE='#' else MCA_BUILD_opal_mpool_memkind_DSO_TRUE='#' MCA_BUILD_opal_mpool_memkind_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test ${DIRECT_mpool+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for mpool framework" >&5 printf %s "checking if direct-selection component exists for mpool framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_mpool" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_mpool requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_mpool" >&5 printf "%s\n" "$DIRECT_mpool" >&6; } fi MCA_opal_mpool_ALL_COMPONENTS="$all_components" MCA_opal_mpool_STATIC_COMPONENTS="$static_components" MCA_opal_mpool_DSO_COMPONENTS="$dso_components" MCA_opal_mpool_STATIC_LTLIBS="$static_ltlibs" MCA_opal_mpool_ALL_SUBDIRS= for item in $all_components ; do MCA_opal_mpool_ALL_SUBDIRS="$MCA_opal_mpool_ALL_SUBDIRS mca/mpool/$item" done MCA_opal_mpool_STATIC_SUBDIRS= for item in $static_components ; do MCA_opal_mpool_STATIC_SUBDIRS="$MCA_opal_mpool_STATIC_SUBDIRS mca/mpool/$item" done MCA_opal_mpool_DSO_SUBDIRS= for item in $dso_components ; do MCA_opal_mpool_DSO_SUBDIRS="$MCA_opal_mpool_DSO_SUBDIRS mca/mpool/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "mpool" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real MCA_opal_FRAMEWORKS="$MCA_opal_FRAMEWORKS patcher" MCA_opal_FRAMEWORKS_SUBDIRS="$MCA_opal_FRAMEWORKS_SUBDIRS mca/patcher" MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_opal_patcher_ALL_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_opal_patcher_DSO_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_opal_patcher_STATIC_SUBDIRS)" mca_opal_framework_base_lib="mca/patcher/libmca_patcher.la" MCA_opal_FRAMEWORK_LIBS="$MCA_opal_FRAMEWORK_LIBS ${mca_opal_framework_base_lib} \$(MCA_opal_patcher_STATIC_LTLIBS)" opal_show_subsubtitle "Configuring MCA framework patcher" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=opal/mca/patcher/base as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files opal/mca/patcher/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework patcher" >&5 printf %s "checking for no configure components in framework patcher... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework patcher" >&5 printf %s "checking for m4 configure components in framework patcher... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: overwrite" >&5 printf "%s\n" "overwrite" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=1 components_last_result=0 opal_show_subsubsubtitle "MCA component patcher:overwrite (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/patcher/overwrite" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_patcher" ; then if test "$DIRECT_patcher" = "overwrite" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_patcher" = "1" then : want_component=0 fi if test "${DISABLE_patcher_overwrite}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_patcher_overwrite_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_patcher" SHARED_COMPONENT="$DSO_patcher_overwrite" STATIC_FRAMEWORK="$STATIC_patcher" STATIC_COMPONENT="$STATIC_patcher_overwrite" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_patcher_overwrite_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component patcher:overwrite compile mode" >&5 printf %s "checking for MCA component patcher:overwrite compile mode... " >&6; } if test "$DIRECT_patcher" = "overwrite" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$opal_patcher_overwrite_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/patcher/overwrite/Makefile" opal_patcher_overwrite_happy=no if test $OPAL_ENABLE_DLOPEN_SUPPORT = 1; then # Disable ia64 for now. We can revive it later if anyone cares cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if !defined(__i386__) && !defined(__x86_64__) && !defined(__PPC__) && !defined(__aarch64__) #error "platform not supported" #endif int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : opal_patcher_overwrite_happy=yes fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi if test $opal_patcher_overwrite_happy = yes then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/patcher/overwrite/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components overwrite" if test "$compile_mode" = "dso" ; then dso_components="$dso_components overwrite" else if test "patcher" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/patcher/overwrite/lib${OPAL_LIB_NAME}mca_patcher_overwrite.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/patcher/overwrite/libmca_patcher_overwrite.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_patcher_overwrite_component;" >> $outfile.extern echo " &mca_patcher_overwrite_component, " >> $outfile.struct static_components="$static_components overwrite" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component patcher:overwrite can compile" >&5 printf %s "checking if MCA component patcher:overwrite can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_patcher" = "overwrite" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_patcher_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** patcher component overwrite was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_patcher" = "overwrite" ; then as_fn_error $? "*** patcher component overwrite was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${patcher_overwrite_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${patcher_overwrite_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${patcher_overwrite_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${patcher_overwrite_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${patcher_overwrite_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${patcher_overwrite_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$patcher_overwrite_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $patcher_overwrite_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring patcher_overwrite_WRAPPER_EXTRA_CPPFLAGS ($patcher_overwrite_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring patcher_overwrite_WRAPPER_EXTRA_CPPFLAGS ($patcher_overwrite_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component patcher:overwrite can compile" >&5 printf %s "checking if MCA component patcher:overwrite can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_patcher" = "overwrite" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"overwrite\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"overwrite\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_patcher" ; then if test "$DIRECT_patcher" = "overwrite" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"overwrite\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"overwrite\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components overwrite" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_patcher_overwrite_DSO=1 else case e in @%:@( e) BUILD_opal_patcher_overwrite_DSO=0 ;; esac fi if test "$BUILD_opal_patcher_overwrite_DSO" = "1"; then MCA_BUILD_opal_patcher_overwrite_DSO_TRUE= MCA_BUILD_opal_patcher_overwrite_DSO_FALSE='#' else MCA_BUILD_opal_patcher_overwrite_DSO_TRUE='#' MCA_BUILD_opal_patcher_overwrite_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test ${DIRECT_patcher+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for patcher framework" >&5 printf %s "checking if direct-selection component exists for patcher framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_patcher" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_patcher requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_patcher" >&5 printf "%s\n" "$DIRECT_patcher" >&6; } fi MCA_opal_patcher_ALL_COMPONENTS="$all_components" MCA_opal_patcher_STATIC_COMPONENTS="$static_components" MCA_opal_patcher_DSO_COMPONENTS="$dso_components" MCA_opal_patcher_STATIC_LTLIBS="$static_ltlibs" MCA_opal_patcher_ALL_SUBDIRS= for item in $all_components ; do MCA_opal_patcher_ALL_SUBDIRS="$MCA_opal_patcher_ALL_SUBDIRS mca/patcher/$item" done MCA_opal_patcher_STATIC_SUBDIRS= for item in $static_components ; do MCA_opal_patcher_STATIC_SUBDIRS="$MCA_opal_patcher_STATIC_SUBDIRS mca/patcher/$item" done MCA_opal_patcher_DSO_SUBDIRS= for item in $dso_components ; do MCA_opal_patcher_DSO_SUBDIRS="$MCA_opal_patcher_DSO_SUBDIRS mca/patcher/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "patcher" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real MCA_opal_FRAMEWORKS="$MCA_opal_FRAMEWORKS pmix" MCA_opal_FRAMEWORKS_SUBDIRS="$MCA_opal_FRAMEWORKS_SUBDIRS mca/pmix" MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_opal_pmix_ALL_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_opal_pmix_DSO_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_opal_pmix_STATIC_SUBDIRS)" mca_opal_framework_base_lib="mca/pmix/libmca_pmix.la" MCA_opal_FRAMEWORK_LIBS="$MCA_opal_FRAMEWORK_LIBS ${mca_opal_framework_base_lib} \$(MCA_opal_pmix_STATIC_LTLIBS)" ac_config_files="$ac_config_files opal/mca/pmix/Makefile" MCA_opal_FRAMEWORKS="$MCA_opal_FRAMEWORKS rcache" MCA_opal_FRAMEWORKS_SUBDIRS="$MCA_opal_FRAMEWORKS_SUBDIRS mca/rcache" MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_opal_rcache_ALL_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_opal_rcache_DSO_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_opal_rcache_STATIC_SUBDIRS)" mca_opal_framework_base_lib="mca/rcache/libmca_rcache.la" MCA_opal_FRAMEWORK_LIBS="$MCA_opal_FRAMEWORK_LIBS ${mca_opal_framework_base_lib} \$(MCA_opal_rcache_STATIC_LTLIBS)" opal_show_subsubtitle "Configuring MCA framework rcache" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=opal/mca/rcache/base as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files opal/mca/rcache/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework rcache" >&5 printf %s "checking for no configure components in framework rcache... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: grdma" >&5 printf "%s\n" "grdma" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework rcache" >&5 printf %s "checking for m4 configure components in framework rcache... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: gpusm, rgpusm, udreg" >&5 printf "%s\n" "gpusm, rgpusm, udreg" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components opal_show_subsubsubtitle "MCA component rcache:grdma (no configuration)" opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: before, should_build=1" component_path="$srcdir/opal/mca/rcache/grdma" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_rcache" ; then if test "$DIRECT_rcache" = "grdma" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_rcache" = "1" then : want_component=0 fi if test "${DISABLE_rcache_grdma}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=1 else case e in @%:@( e) should_build=0 ;; esac fi if test ${opal_rcache_grdma_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_rcache" SHARED_COMPONENT="$DSO_rcache_grdma" STATIC_FRAMEWORK="$STATIC_rcache" STATIC_COMPONENT="$STATIC_rcache_grdma" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_rcache_grdma_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component rcache:grdma compile mode" >&5 printf %s "checking for MCA component rcache:grdma compile mode... " >&6; } if test "$DIRECT_rcache" = "grdma" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$opal_rcache_grdma_compile_mode opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" ; then # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/rcache/grdma/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components grdma" if test "$compile_mode" = "dso" ; then dso_components="$dso_components grdma" else if test "rcache" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/rcache/grdma/lib${OPAL_LIB_NAME}mca_rcache_grdma.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/rcache/grdma/libmca_rcache_grdma.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_rcache_grdma_component;" >> $outfile.extern echo " &mca_rcache_grdma_component, " >> $outfile.struct static_components="$static_components grdma" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component rcache:grdma can compile" >&5 printf %s "checking if MCA component rcache:grdma can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_rcache" = "grdma" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_rcache_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** rcache component grdma was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_rcache" = "grdma" ; then as_fn_error $? "*** rcache component grdma was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${rcache_grdma_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${rcache_grdma_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${rcache_grdma_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${rcache_grdma_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${rcache_grdma_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${rcache_grdma_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$rcache_grdma_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $rcache_grdma_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring rcache_grdma_WRAPPER_EXTRA_CPPFLAGS ($rcache_grdma_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring rcache_grdma_WRAPPER_EXTRA_CPPFLAGS ($rcache_grdma_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component rcache:grdma can compile" >&5 printf %s "checking if MCA component rcache:grdma can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_rcache" = "grdma" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"grdma\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"grdma\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_rcache" ; then if test "$DIRECT_rcache" = "grdma" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"grdma\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"grdma\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components grdma" fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" ; then BUILD_opal_rcache_grdma_DSO=1 else BUILD_opal_rcache_grdma_DSO=0 fi if test "$BUILD_opal_rcache_grdma_DSO" = "1"; then MCA_BUILD_opal_rcache_grdma_DSO_TRUE= MCA_BUILD_opal_rcache_grdma_DSO_FALSE='#' else MCA_BUILD_opal_rcache_grdma_DSO_TRUE='#' MCA_BUILD_opal_rcache_grdma_DSO_FALSE= fi ac_config_files="$ac_config_files opal/mca/rcache/grdma/Makefile" unset compile_mode # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=1 components_last_result=0 opal_show_subsubsubtitle "MCA component rcache:gpusm (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/rcache/gpusm" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_rcache" ; then if test "$DIRECT_rcache" = "gpusm" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_rcache" = "1" then : want_component=0 fi if test "${DISABLE_rcache_gpusm}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_rcache_gpusm_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_rcache" SHARED_COMPONENT="$DSO_rcache_gpusm" STATIC_FRAMEWORK="$STATIC_rcache" STATIC_COMPONENT="$STATIC_rcache_gpusm" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_rcache_gpusm_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component rcache:gpusm compile mode" >&5 printf %s "checking for MCA component rcache:gpusm compile mode... " >&6; } if test "$DIRECT_rcache" = "gpusm" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$opal_rcache_gpusm_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/rcache/gpusm/Makefile" opal_var_scope_push ${LINENO} cuda_save_CPPFLAGS cuda_save_LDFLAGS cuda_save_LIBS cuda_save_CPPFLAGS="$CPPFLAGS" cuda_save_LDFLAGS="$LDFLAGS" cuda_save_LIBS="$LIBS" # # Check to see if user wants CUDA support # @%:@ Check whether --with-cuda was given. if test ${with_cuda+y} then : withval=$with_cuda; fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if --with-cuda is set" >&5 printf %s "checking if --with-cuda is set... " >&6; } # Search for libcuda.so in $with_cuda if the user didn't pass --with-cuda-libdir # Otherwise check for cuda in the default path, /usr/local/cuda. If the default # path doesn't exist, set with_cuda_libdir to empty. @%:@ Check whether --with-cuda-libdir was given. if test ${with_cuda_libdir+y} then : withval=$with_cuda_libdir; else case e in @%:@( e) if test -d "$with_cuda" then : with_cuda_libdir=$(dirname $(find -H $with_cuda -name libcuda.so 2> /dev/null) 2> /dev/null) else case e in @%:@( e) with_cuda_libdir=$(dirname $(find -H /usr/local/cuda -name libcuda.so 2> /dev/null) 2> /dev/null) ;; esac fi ;; esac fi # Note that CUDA support is off by default. To turn it on, the user has to # request it. The user can just ask for --with-cuda and it that case we # look for the cuda.h file in /usr/local/cuda. Otherwise, they can give # us a directory. If they provide a directory, we will look in that directory # as well as the directory with the "include" string appended to it. The fact # that we check in two directories precludes us from using the OMPI_CHECK_DIR # macro as that would error out after not finding it in the first directory. # Note that anywhere CUDA aware code is in the Open MPI repository requires # us to make use of AC_REQUIRE to ensure this check has been done. if test "$with_cuda" = "no" || test "x$with_cuda" = "x" then : opal_check_cuda_happy="no" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not set (--with-cuda=$with_cuda)" >&5 printf "%s\n" "not set (--with-cuda=$with_cuda)" >&6; } else case e in @%:@( e) if test "$with_cuda" = "yes" then : if test "x`ls /usr/local/cuda/include/cuda.h 2> /dev/null`" = "x" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found in standard location" >&5 printf "%s\n" "not found in standard location" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Expected file /usr/local/cuda/include/cuda.h not found" >&5 printf "%s\n" "$as_me: WARNING: Expected file /usr/local/cuda/include/cuda.h not found" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } opal_check_cuda_happy=yes opal_cuda_incdir=/usr/local/cuda/include ;; esac fi else case e in @%:@( e) if test ! -d "$with_cuda" 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_cuda not found" >&5 printf "%s\n" "$as_me: WARNING: Directory $with_cuda not found" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 else case e in @%:@( e) if test "x`ls $with_cuda/include/cuda.h 2> /dev/null`" = "x" then : if test "x`ls $with_cuda/cuda.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: Could not find cuda.h in $with_cuda/include or $with_cuda" >&5 printf "%s\n" "$as_me: WARNING: Could not find cuda.h in $with_cuda/include or $with_cuda" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 else case e in @%:@( e) opal_check_cuda_happy=yes opal_cuda_incdir=$with_cuda { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found ($with_cuda/cuda.h)" >&5 printf "%s\n" "found ($with_cuda/cuda.h)" >&6; } ;; esac fi else case e in @%:@( e) opal_check_cuda_happy=yes opal_cuda_incdir="$with_cuda/include" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found ($opal_cuda_incdir/cuda.h)" >&5 printf "%s\n" "found ($opal_cuda_incdir/cuda.h)" >&6; } ;; esac fi ;; esac fi ;; esac fi ;; esac fi if test "$opal_check_cuda_happy" = "yes" then : # ****************************** START CHECK PACKAGE FOR cuda ****************************** oac_var_scope_push ${LINENO} check_package_rcache_gpusm_save_CPPFLAGS check_package_rcache_gpusm_save_LDFLAGS check_package_rcache_gpusm_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_rcache_gpusm_save_CPPFLAGS="${CPPFLAGS}" check_package_rcache_gpusm_save_LDFLAGS="${LDFLAGS}" check_package_rcache_gpusm_save_LIBS="${LIBS}" rcache_gpusm_CPPFLAGS= rcache_gpusm_LDFLAGS= rcache_gpusm_STATIC_LDFLAGS= rcache_gpusm_LIBS= rcache_gpusm_STATIC_LIBS= { rcache_gpusm_PC_MODULES=; unset rcache_gpusm_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_cuda" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package cuda disabled by user" >&5 printf "%s\n" "$as_me: Package cuda disabled by user" >&6;} check_package_happy=0 elif test "${with_cuda}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_cuda}" ;; esac fi check_package_libdir= if test "${with_cuda_libdir}" = "no" -o "${with_cuda_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-cuda-libdir" "$LINENO" 5 elif test -n "${with_cuda_libdir}" then : check_package_libdir="${with_cuda_libdir}" fi check_package_incdir= if test "${with_cuda_incdir}" = "no" -o "${with_cuda_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-cuda-incdir" "$LINENO" 5 elif test -n "${with_cuda_incdir}" then : check_package_incdir="${with_cuda_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${cuda_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-cuda or --with-cuda-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-cuda only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda pkg-config name" >&5 printf %s "checking for cuda pkg-config name... " >&6; } if test ${oac_cv_check_package_cuda_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_cuda_pcfilename="cuda" if test -n "${check_package_libdir}" then : oac_cv_check_package_cuda_pcfilename="${check_package_libdir}/pkgconfig/cuda.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_cuda_pcfilename="cuda" elif test -r "${check_package_prefix}/lib/pkgconfig/cuda.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/cuda.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found cuda in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-cuda-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_cuda_pcfilename="${check_package_prefix}/lib/pkgconfig/cuda.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/cuda.pc" then : oac_cv_check_package_cuda_pcfilename="${check_package_prefix}/lib64/pkgconfig/cuda.pc" else case e in @%:@( e) oac_cv_check_package_cuda_pcfilename="${check_package_prefix}/lib/pkgconfig/cuda.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_cuda_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if cuda pkg-config module exists" >&5 printf %s "checking if cuda pkg-config module exists... " >&6; } if test ${oac_cv_check_package_cuda_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_cuda_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_cuda_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : rcache_gpusm_PC_MODULES=${oac_cv_check_package_cuda_pcfilename} oac_cv_check_package_cuda_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_cuda_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_cuda_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_cuda_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda pkg-config cflags" >&5 printf %s "checking for cuda pkg-config cflags... " >&6; } if test ${oac_cv_check_package_cuda_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_cuda_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_cuda_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_cuda_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_cuda_pkg_config_cppflags" >&6; } rcache_gpusm_CPPFLAGS="${oac_cv_check_package_cuda_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda pkg-config ldflags" >&5 printf %s "checking for cuda pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_cuda_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_cuda_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_cuda_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_cuda_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_cuda_pkg_config_ldflags" >&6; } rcache_gpusm_LDFLAGS="${oac_cv_check_package_cuda_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda pkg-config static ldflags" >&5 printf %s "checking for cuda pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_cuda_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_cuda_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_cuda_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_cuda_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_cuda_pkg_config_static_ldflags" >&6; } rcache_gpusm_STATIC_LDFLAGS="${oac_cv_check_package_cuda_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda pkg-config libs" >&5 printf %s "checking for cuda pkg-config libs... " >&6; } if test ${oac_cv_check_package_cuda_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_cuda_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_cuda_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_cuda_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_cuda_pkg_config_libs" >&6; } rcache_gpusm_LIBS="${oac_cv_check_package_cuda_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda pkg-config static libs" >&5 printf %s "checking for cuda pkg-config static libs... " >&6; } if test ${oac_cv_check_package_cuda_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_cuda_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_cuda_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_cuda_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_cuda_pkg_config_static_libs" >&6; } rcache_gpusm_STATIC_LIBS="${oac_cv_check_package_cuda_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${cuda_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-cuda argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda wrapper compiler" >&5 printf %s "checking for cuda wrapper compiler... " >&6; } if test ${oac_cv_check_package_cuda_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_cuda_wrapper_compiler="cudacc" else case e in @%:@( e) oac_cv_check_package_cuda_wrapper_compiler="${check_package_prefix}/bin/cudacc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_cuda_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if cuda wrapper compiler works" >&5 printf %s "checking if cuda wrapper compiler works... " >&6; } if test ${oac_cv_check_package_cuda_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_cuda_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_cuda_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_cuda_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_cuda_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda wrapper compiler cppflags" >&5 printf %s "checking for cuda wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_cuda_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_cuda_wrapper_compiler_cppflags}" then : oac_cv_check_package_cuda_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_cuda_wrapper_compiler_cppflags="${oac_cv_check_package_cuda_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_cuda_wrapper_compiler_cppflags" >&6; } rcache_gpusm_CPPFLAGS="${oac_cv_check_package_cuda_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda wrapper compiler ldflags" >&5 printf %s "checking for cuda wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_cuda_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_cuda_wrapper_compiler_ldflags}" then : oac_cv_check_package_cuda_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_cuda_wrapper_compiler_ldflags="${oac_cv_check_package_cuda_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_cuda_wrapper_compiler_ldflags" >&6; } rcache_gpusm_LDFLAGS="${oac_cv_check_package_cuda_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda wrapper compiler static ldflags" >&5 printf %s "checking for cuda wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_cuda_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_cuda_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_cuda_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_cuda_wrapper_compiler_static_ldflags="${oac_cv_check_package_cuda_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_cuda_wrapper_compiler_static_ldflags" >&6; } rcache_gpusm_STATIC_LDFLAGS="${oac_cv_check_package_cuda_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda wrapper compiler libs" >&5 printf %s "checking for cuda wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_cuda_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_cuda_wrapper_compiler_libs}" then : oac_cv_check_package_cuda_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_cuda_wrapper_compiler_libs="${oac_cv_check_package_cuda_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_cuda_wrapper_compiler_libs" >&6; } rcache_gpusm_LIBS="$oac_cv_check_package_cuda_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda wrapper compiler static libs" >&5 printf %s "checking for cuda wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_cuda_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_cuda_wrapper_compiler_static_libs}" then : oac_cv_check_package_cuda_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_cuda_wrapper_compiler_static_libs="${oac_cv_check_package_cuda_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_cuda_wrapper_compiler_static_libs" >&6; } rcache_gpusm_STATIC_LIBS="${oac_cv_check_package_cuda_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "cuda.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "cuda" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda header at ${check_package_generic_incdir}" >&5 printf %s "checking for cuda header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 rcache_gpusm_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for cuda library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 rcache_gpusm_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for cuda library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-cuda-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 rcache_gpusm_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 rcache_gpusm_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 rcache_gpusm_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for cuda in default search paths" >&5 printf "%s\n" "$as_me: Searching for cuda in default search paths" >&6;} cuda_CPPFLAGS= cuda_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in cuda ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${rcache_gpusm_LIBS}" then : rcache_gpusm_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) rcache_gpusm_LIBS="${rcache_gpusm_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${rcache_gpusm_STATIC_LIBS}" then : rcache_gpusm_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) rcache_gpusm_STATIC_LIBS="${rcache_gpusm_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda cppflags" >&5 printf %s "checking for cuda cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $rcache_gpusm_CPPFLAGS" >&5 printf "%s\n" "$rcache_gpusm_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda ldflags" >&5 printf %s "checking for cuda ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $rcache_gpusm_LDFLAGS" >&5 printf "%s\n" "$rcache_gpusm_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda libs" >&5 printf %s "checking for cuda libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $rcache_gpusm_LIBS" >&5 printf "%s\n" "$rcache_gpusm_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda static libs" >&5 printf %s "checking for cuda static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $rcache_gpusm_STATIC_LIBS" >&5 printf "%s\n" "$rcache_gpusm_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${rcache_gpusm_LDFLAGS}" then : rcache_gpusm_LDFLAGS="${rcache_gpusm_STATIC_LDFLAGS}" else case e in @%:@( e) rcache_gpusm_LDFLAGS="${rcache_gpusm_LDFLAGS} ${rcache_gpusm_STATIC_LDFLAGS}" ;; esac fi if test -z "${rcache_gpusm_LIBS}" then : rcache_gpusm_LIBS="${rcache_gpusm_STATIC_LIBS}" else case e in @%:@( e) rcache_gpusm_LIBS="${rcache_gpusm_LIBS} ${rcache_gpusm_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "cuda.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${rcache_gpusm_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${rcache_gpusm_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${rcache_gpusm_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${rcache_gpusm_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${rcache_gpusm_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${rcache_gpusm_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "cuMemFree" "ac_cv_func_cuMemFree" if test "x$ac_cv_func_cuMemFree" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if cuda requires libnl v1 or v3" >&5 printf %s "checking if cuda requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_cuda+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void cuMemFree (void); int main(int argc, char *argv[]) { cuMemFree (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib cuda" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib cuda" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_cuda=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_cuda" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_cuda" >&6; } result_msg=$opal_libnl_sanity_check_cv_cuda this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, cuda links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, cuda links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libcuda (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libcuda (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libcuda." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libcuda." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas cuda requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas cuda requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libcuda (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libcuda (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libcuda." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libcuda." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs cuda" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas cuda requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas cuda requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libcuda (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libcuda (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libcuda." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libcuda." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs cuda" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi rcache_gpusm_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : rcache_gpusm_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) rcache_gpusm_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi opal_check_cuda_happy="yes" else case e in @%:@( e) if test "${with_cuda}" = "no" then : rcache_gpusm_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) rcache_gpusm_SUMMARY="no (not found)" ;; esac fi { rcache_gpusm_CPPFLAGS=; unset rcache_gpusm_CPPFLAGS;} { rcache_gpusm_LDFLAGS=; unset rcache_gpusm_LDFLAGS;} { rcache_gpusm_STATIC_LDFLAGS=; unset rcache_gpusm_STATIC_LDFLAGS;} { rcache_gpusm_LIBS=; unset rcache_gpusm_LIBS;} { rcache_gpusm_STATIC_LIBS=; unset rcache_gpusm_STATIC_LIBS;} opal_check_cuda_happy="no" ;; esac fi CPPFLAGS="${check_package_rcache_gpusm_save_CPPFLAGS}" LDFLAGS="${check_package_rcache_gpusm_save_LDFLAGS}" LIBS="${check_package_rcache_gpusm_save_LIBS}" oac_var_scope_pop check_package_rcache_gpusm_save_CPPFLAGS check_package_rcache_gpusm_save_LDFLAGS check_package_rcache_gpusm_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR cuda ****************************** fi # We require CUDA IPC support which started in CUDA 4.1. Error # out if the support is not there. if test "$opal_check_cuda_happy" = "yes" then : ac_fn_c_check_member "$LINENO" "struct CUipcMemHandle_st" "reserved" "ac_cv_member_struct_CUipcMemHandle_st_reserved" "#include <$opal_cuda_incdir/cuda.h> " if test "x$ac_cv_member_struct_CUipcMemHandle_st_reserved" = xyes then : else case e in @%:@( e) as_fn_error $? "Cannot continue because CUDA 4.1 or later is required" "$LINENO" 5 ;; esac fi fi # If we have CUDA support, check to see if we have support for SYNC_MEMOPS # which was first introduced in CUDA 6.0. if test "$opal_check_cuda_happy" = "yes" then : ac_fn_check_decl "$LINENO" "CU_POINTER_ATTRIBUTE_SYNC_MEMOPS" "ac_cv_have_decl_CU_POINTER_ATTRIBUTE_SYNC_MEMOPS" "#include <$opal_cuda_incdir/cuda.h> " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_CU_POINTER_ATTRIBUTE_SYNC_MEMOPS" = xyes then : CUDA_SYNC_MEMOPS=1 else case e in @%:@( e) CUDA_SYNC_MEMOPS=0 ;; esac fi fi # If we have CUDA support, check to see if we have CUDA 6.0 or later. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <$opal_cuda_incdir/cuda.h> int main (void) { #if CUDA_VERSION < 6000 #error "CUDA_VERSION is less than 6000" #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : CUDA_VERSION_60_OR_GREATER=1 else case e in @%:@( e) CUDA_VERSION_60_OR_GREATER=0 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext # If we have CUDA support, check to see if we have support for cuPointerGetAttributes # which was first introduced in CUDA 7.0. if test "$opal_check_cuda_happy" = "yes" then : ac_fn_check_decl "$LINENO" "cuPointerGetAttributes" "ac_cv_have_decl_cuPointerGetAttributes" "#include <$opal_cuda_incdir/cuda.h> " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_cuPointerGetAttributes" = xyes then : CUDA_GET_ATTRIBUTES=1 else case e in @%:@( e) CUDA_GET_ATTRIBUTES=0 ;; esac fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if have cuda support" >&5 printf %s "checking if have cuda support... " >&6; } if test "$opal_check_cuda_happy" = "yes"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes (-I$opal_cuda_incdir)" >&5 printf "%s\n" "yes (-I$opal_cuda_incdir)" >&6; } CUDA_SUPPORT=1 common_cuda_CPPFLAGS="-I$opal_cuda_incdir" else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } CUDA_SUPPORT=0 fi 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="CUDA support: $opal_check_cuda_happy" oac_summary_key="AcceleratorsCUDA_support" # Use the section name variable as an indicator for whether or not # the section has already been created. if test ${oac_summary_section_Accelerators_name+y} then : else case e in @%:@( e) oac_summary_section_Accelerators_name="Accelerators" if test -z "${oac_summary_sections}" then : oac_summary_sections="Accelerators" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} Accelerators" ;; esac fi ;; esac 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 case e in @%:@( e) eval "${oac_summary_key}=1" if test ${oac_summary_section_Accelerators_value+y} then : as_fn_append oac_summary_section_Accelerators_value "${oac_summary_newline}${oac_summary_line}" else case e in @%:@( e) oac_summary_section_Accelerators_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key if test "x$CUDA_SUPPORT" = "x1"; then OPAL_cuda_support_TRUE= OPAL_cuda_support_FALSE='#' else OPAL_cuda_support_TRUE='#' OPAL_cuda_support_FALSE= fi printf "%s\n" "@%:@define OPAL_CUDA_SUPPORT $CUDA_SUPPORT" >>confdefs.h if test "x$CUDA_SYNC_MEMOPS" = "x1"; then OPAL_cuda_sync_memops_TRUE= OPAL_cuda_sync_memops_FALSE='#' else OPAL_cuda_sync_memops_TRUE='#' OPAL_cuda_sync_memops_FALSE= fi printf "%s\n" "@%:@define OPAL_CUDA_SYNC_MEMOPS $CUDA_SYNC_MEMOPS" >>confdefs.h if test "x$CUDA_GET_ATTRIBUTES" = "x1"; then OPAL_cuda_get_attributes_TRUE= OPAL_cuda_get_attributes_FALSE='#' else OPAL_cuda_get_attributes_TRUE='#' OPAL_cuda_get_attributes_FALSE= fi printf "%s\n" "@%:@define OPAL_CUDA_GET_ATTRIBUTES $CUDA_GET_ATTRIBUTES" >>confdefs.h # There is nothing specific we can check for to see if GPU Direct RDMA is available. # Therefore, we check to see whether we have CUDA 6.0 or later. if test "x$CUDA_VERSION_60_OR_GREATER" = "x1"; then OPAL_cuda_gdr_support_TRUE= OPAL_cuda_gdr_support_FALSE='#' else OPAL_cuda_gdr_support_TRUE='#' OPAL_cuda_gdr_support_FALSE= fi printf "%s\n" "@%:@define OPAL_CUDA_GDR_SUPPORT $CUDA_VERSION_60_OR_GREATER" >>confdefs.h CPPFLAGS=${cuda_save_CPPFLAGS} LDFLAGS=${cuda_save_LDFLAGS} LIBS=${cuda_save_LIBS} opal_var_scope_pop cuda_save_CPPFLAGS cuda_save_LDFLAGS cuda_save_LIBS # Use CUDA_SUPPORT which was filled in by the opal configure code. if test "x$CUDA_SUPPORT" = "x1" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/rcache/gpusm/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components gpusm" if test "$compile_mode" = "dso" ; then dso_components="$dso_components gpusm" else if test "rcache" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/rcache/gpusm/lib${OPAL_LIB_NAME}mca_rcache_gpusm.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/rcache/gpusm/libmca_rcache_gpusm.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_rcache_gpusm_component;" >> $outfile.extern echo " &mca_rcache_gpusm_component, " >> $outfile.struct static_components="$static_components gpusm" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component rcache:gpusm can compile" >&5 printf %s "checking if MCA component rcache:gpusm can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_rcache" = "gpusm" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_rcache_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** rcache component gpusm was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_rcache" = "gpusm" ; then as_fn_error $? "*** rcache component gpusm was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${rcache_gpusm_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${rcache_gpusm_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${rcache_gpusm_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${rcache_gpusm_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${rcache_gpusm_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${rcache_gpusm_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$rcache_gpusm_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $rcache_gpusm_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring rcache_gpusm_WRAPPER_EXTRA_CPPFLAGS ($rcache_gpusm_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring rcache_gpusm_WRAPPER_EXTRA_CPPFLAGS ($rcache_gpusm_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component rcache:gpusm can compile" >&5 printf %s "checking if MCA component rcache:gpusm can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_rcache" = "gpusm" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"gpusm\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"gpusm\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_rcache" ; then if test "$DIRECT_rcache" = "gpusm" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"gpusm\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"gpusm\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components gpusm" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_rcache_gpusm_DSO=1 else case e in @%:@( e) BUILD_opal_rcache_gpusm_DSO=0 ;; esac fi if test "$BUILD_opal_rcache_gpusm_DSO" = "1"; then MCA_BUILD_opal_rcache_gpusm_DSO_TRUE= MCA_BUILD_opal_rcache_gpusm_DSO_FALSE='#' else MCA_BUILD_opal_rcache_gpusm_DSO_TRUE='#' MCA_BUILD_opal_rcache_gpusm_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component rcache:rgpusm (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/rcache/rgpusm" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_rcache" ; then if test "$DIRECT_rcache" = "rgpusm" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_rcache" = "1" then : want_component=0 fi if test "${DISABLE_rcache_rgpusm}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_rcache_rgpusm_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_rcache" SHARED_COMPONENT="$DSO_rcache_rgpusm" STATIC_FRAMEWORK="$STATIC_rcache" STATIC_COMPONENT="$STATIC_rcache_rgpusm" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_rcache_rgpusm_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component rcache:rgpusm compile mode" >&5 printf %s "checking for MCA component rcache:rgpusm compile mode... " >&6; } if test "$DIRECT_rcache" = "rgpusm" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$opal_rcache_rgpusm_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/rcache/rgpusm/Makefile" opal_var_scope_push ${LINENO} cuda_save_CPPFLAGS cuda_save_LDFLAGS cuda_save_LIBS cuda_save_CPPFLAGS="$CPPFLAGS" cuda_save_LDFLAGS="$LDFLAGS" cuda_save_LIBS="$LIBS" # # Check to see if user wants CUDA support # @%:@ Check whether --with-cuda was given. if test ${with_cuda+y} then : withval=$with_cuda; fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if --with-cuda is set" >&5 printf %s "checking if --with-cuda is set... " >&6; } # Search for libcuda.so in $with_cuda if the user didn't pass --with-cuda-libdir # Otherwise check for cuda in the default path, /usr/local/cuda. If the default # path doesn't exist, set with_cuda_libdir to empty. @%:@ Check whether --with-cuda-libdir was given. if test ${with_cuda_libdir+y} then : withval=$with_cuda_libdir; else case e in @%:@( e) if test -d "$with_cuda" then : with_cuda_libdir=$(dirname $(find -H $with_cuda -name libcuda.so 2> /dev/null) 2> /dev/null) else case e in @%:@( e) with_cuda_libdir=$(dirname $(find -H /usr/local/cuda -name libcuda.so 2> /dev/null) 2> /dev/null) ;; esac fi ;; esac fi # Note that CUDA support is off by default. To turn it on, the user has to # request it. The user can just ask for --with-cuda and it that case we # look for the cuda.h file in /usr/local/cuda. Otherwise, they can give # us a directory. If they provide a directory, we will look in that directory # as well as the directory with the "include" string appended to it. The fact # that we check in two directories precludes us from using the OMPI_CHECK_DIR # macro as that would error out after not finding it in the first directory. # Note that anywhere CUDA aware code is in the Open MPI repository requires # us to make use of AC_REQUIRE to ensure this check has been done. if test "$with_cuda" = "no" || test "x$with_cuda" = "x" then : opal_check_cuda_happy="no" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not set (--with-cuda=$with_cuda)" >&5 printf "%s\n" "not set (--with-cuda=$with_cuda)" >&6; } else case e in @%:@( e) if test "$with_cuda" = "yes" then : if test "x`ls /usr/local/cuda/include/cuda.h 2> /dev/null`" = "x" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found in standard location" >&5 printf "%s\n" "not found in standard location" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Expected file /usr/local/cuda/include/cuda.h not found" >&5 printf "%s\n" "$as_me: WARNING: Expected file /usr/local/cuda/include/cuda.h not found" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } opal_check_cuda_happy=yes opal_cuda_incdir=/usr/local/cuda/include ;; esac fi else case e in @%:@( e) if test ! -d "$with_cuda" 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_cuda not found" >&5 printf "%s\n" "$as_me: WARNING: Directory $with_cuda not found" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 else case e in @%:@( e) if test "x`ls $with_cuda/include/cuda.h 2> /dev/null`" = "x" then : if test "x`ls $with_cuda/cuda.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: Could not find cuda.h in $with_cuda/include or $with_cuda" >&5 printf "%s\n" "$as_me: WARNING: Could not find cuda.h in $with_cuda/include or $with_cuda" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 else case e in @%:@( e) opal_check_cuda_happy=yes opal_cuda_incdir=$with_cuda { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found ($with_cuda/cuda.h)" >&5 printf "%s\n" "found ($with_cuda/cuda.h)" >&6; } ;; esac fi else case e in @%:@( e) opal_check_cuda_happy=yes opal_cuda_incdir="$with_cuda/include" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found ($opal_cuda_incdir/cuda.h)" >&5 printf "%s\n" "found ($opal_cuda_incdir/cuda.h)" >&6; } ;; esac fi ;; esac fi ;; esac fi ;; esac fi if test "$opal_check_cuda_happy" = "yes" then : # ****************************** START CHECK PACKAGE FOR cuda ****************************** oac_var_scope_push ${LINENO} check_package_rcache_rgpusm_save_CPPFLAGS check_package_rcache_rgpusm_save_LDFLAGS check_package_rcache_rgpusm_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_rcache_rgpusm_save_CPPFLAGS="${CPPFLAGS}" check_package_rcache_rgpusm_save_LDFLAGS="${LDFLAGS}" check_package_rcache_rgpusm_save_LIBS="${LIBS}" rcache_rgpusm_CPPFLAGS= rcache_rgpusm_LDFLAGS= rcache_rgpusm_STATIC_LDFLAGS= rcache_rgpusm_LIBS= rcache_rgpusm_STATIC_LIBS= { rcache_rgpusm_PC_MODULES=; unset rcache_rgpusm_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_cuda" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package cuda disabled by user" >&5 printf "%s\n" "$as_me: Package cuda disabled by user" >&6;} check_package_happy=0 elif test "${with_cuda}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_cuda}" ;; esac fi check_package_libdir= if test "${with_cuda_libdir}" = "no" -o "${with_cuda_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-cuda-libdir" "$LINENO" 5 elif test -n "${with_cuda_libdir}" then : check_package_libdir="${with_cuda_libdir}" fi check_package_incdir= if test "${with_cuda_incdir}" = "no" -o "${with_cuda_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-cuda-incdir" "$LINENO" 5 elif test -n "${with_cuda_incdir}" then : check_package_incdir="${with_cuda_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${cuda_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-cuda or --with-cuda-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-cuda only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda pkg-config name" >&5 printf %s "checking for cuda pkg-config name... " >&6; } if test ${oac_cv_check_package_cuda_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_cuda_pcfilename="cuda" if test -n "${check_package_libdir}" then : oac_cv_check_package_cuda_pcfilename="${check_package_libdir}/pkgconfig/cuda.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_cuda_pcfilename="cuda" elif test -r "${check_package_prefix}/lib/pkgconfig/cuda.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/cuda.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found cuda in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-cuda-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_cuda_pcfilename="${check_package_prefix}/lib/pkgconfig/cuda.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/cuda.pc" then : oac_cv_check_package_cuda_pcfilename="${check_package_prefix}/lib64/pkgconfig/cuda.pc" else case e in @%:@( e) oac_cv_check_package_cuda_pcfilename="${check_package_prefix}/lib/pkgconfig/cuda.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_cuda_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if cuda pkg-config module exists" >&5 printf %s "checking if cuda pkg-config module exists... " >&6; } if test ${oac_cv_check_package_cuda_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_cuda_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_cuda_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : rcache_rgpusm_PC_MODULES=${oac_cv_check_package_cuda_pcfilename} oac_cv_check_package_cuda_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_cuda_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_cuda_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_cuda_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda pkg-config cflags" >&5 printf %s "checking for cuda pkg-config cflags... " >&6; } if test ${oac_cv_check_package_cuda_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_cuda_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_cuda_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_cuda_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_cuda_pkg_config_cppflags" >&6; } rcache_rgpusm_CPPFLAGS="${oac_cv_check_package_cuda_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda pkg-config ldflags" >&5 printf %s "checking for cuda pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_cuda_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_cuda_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_cuda_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_cuda_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_cuda_pkg_config_ldflags" >&6; } rcache_rgpusm_LDFLAGS="${oac_cv_check_package_cuda_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda pkg-config static ldflags" >&5 printf %s "checking for cuda pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_cuda_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_cuda_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_cuda_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_cuda_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_cuda_pkg_config_static_ldflags" >&6; } rcache_rgpusm_STATIC_LDFLAGS="${oac_cv_check_package_cuda_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda pkg-config libs" >&5 printf %s "checking for cuda pkg-config libs... " >&6; } if test ${oac_cv_check_package_cuda_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_cuda_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_cuda_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_cuda_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_cuda_pkg_config_libs" >&6; } rcache_rgpusm_LIBS="${oac_cv_check_package_cuda_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda pkg-config static libs" >&5 printf %s "checking for cuda pkg-config static libs... " >&6; } if test ${oac_cv_check_package_cuda_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_cuda_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_cuda_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_cuda_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_cuda_pkg_config_static_libs" >&6; } rcache_rgpusm_STATIC_LIBS="${oac_cv_check_package_cuda_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${cuda_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-cuda argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda wrapper compiler" >&5 printf %s "checking for cuda wrapper compiler... " >&6; } if test ${oac_cv_check_package_cuda_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_cuda_wrapper_compiler="cudacc" else case e in @%:@( e) oac_cv_check_package_cuda_wrapper_compiler="${check_package_prefix}/bin/cudacc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_cuda_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if cuda wrapper compiler works" >&5 printf %s "checking if cuda wrapper compiler works... " >&6; } if test ${oac_cv_check_package_cuda_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_cuda_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_cuda_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_cuda_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_cuda_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda wrapper compiler cppflags" >&5 printf %s "checking for cuda wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_cuda_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_cuda_wrapper_compiler_cppflags}" then : oac_cv_check_package_cuda_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_cuda_wrapper_compiler_cppflags="${oac_cv_check_package_cuda_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_cuda_wrapper_compiler_cppflags" >&6; } rcache_rgpusm_CPPFLAGS="${oac_cv_check_package_cuda_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda wrapper compiler ldflags" >&5 printf %s "checking for cuda wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_cuda_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_cuda_wrapper_compiler_ldflags}" then : oac_cv_check_package_cuda_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_cuda_wrapper_compiler_ldflags="${oac_cv_check_package_cuda_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_cuda_wrapper_compiler_ldflags" >&6; } rcache_rgpusm_LDFLAGS="${oac_cv_check_package_cuda_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda wrapper compiler static ldflags" >&5 printf %s "checking for cuda wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_cuda_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_cuda_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_cuda_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_cuda_wrapper_compiler_static_ldflags="${oac_cv_check_package_cuda_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_cuda_wrapper_compiler_static_ldflags" >&6; } rcache_rgpusm_STATIC_LDFLAGS="${oac_cv_check_package_cuda_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda wrapper compiler libs" >&5 printf %s "checking for cuda wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_cuda_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_cuda_wrapper_compiler_libs}" then : oac_cv_check_package_cuda_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_cuda_wrapper_compiler_libs="${oac_cv_check_package_cuda_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_cuda_wrapper_compiler_libs" >&6; } rcache_rgpusm_LIBS="$oac_cv_check_package_cuda_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda wrapper compiler static libs" >&5 printf %s "checking for cuda wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_cuda_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_cuda_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_cuda_wrapper_compiler_static_libs}" then : oac_cv_check_package_cuda_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_cuda_wrapper_compiler_static_libs="${oac_cv_check_package_cuda_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving cuda static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_cuda_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_cuda_wrapper_compiler_static_libs" >&6; } rcache_rgpusm_STATIC_LIBS="${oac_cv_check_package_cuda_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "cuda.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "cuda" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda header at ${check_package_generic_incdir}" >&5 printf %s "checking for cuda header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 rcache_rgpusm_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for cuda library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 rcache_rgpusm_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for cuda library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-cuda-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 rcache_rgpusm_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 rcache_rgpusm_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 rcache_rgpusm_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for cuda in default search paths" >&5 printf "%s\n" "$as_me: Searching for cuda in default search paths" >&6;} cuda_CPPFLAGS= cuda_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in cuda ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${rcache_rgpusm_LIBS}" then : rcache_rgpusm_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) rcache_rgpusm_LIBS="${rcache_rgpusm_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${rcache_rgpusm_STATIC_LIBS}" then : rcache_rgpusm_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) rcache_rgpusm_STATIC_LIBS="${rcache_rgpusm_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda cppflags" >&5 printf %s "checking for cuda cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $rcache_rgpusm_CPPFLAGS" >&5 printf "%s\n" "$rcache_rgpusm_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda ldflags" >&5 printf %s "checking for cuda ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $rcache_rgpusm_LDFLAGS" >&5 printf "%s\n" "$rcache_rgpusm_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda libs" >&5 printf %s "checking for cuda libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $rcache_rgpusm_LIBS" >&5 printf "%s\n" "$rcache_rgpusm_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cuda static libs" >&5 printf %s "checking for cuda static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $rcache_rgpusm_STATIC_LIBS" >&5 printf "%s\n" "$rcache_rgpusm_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${rcache_rgpusm_LDFLAGS}" then : rcache_rgpusm_LDFLAGS="${rcache_rgpusm_STATIC_LDFLAGS}" else case e in @%:@( e) rcache_rgpusm_LDFLAGS="${rcache_rgpusm_LDFLAGS} ${rcache_rgpusm_STATIC_LDFLAGS}" ;; esac fi if test -z "${rcache_rgpusm_LIBS}" then : rcache_rgpusm_LIBS="${rcache_rgpusm_STATIC_LIBS}" else case e in @%:@( e) rcache_rgpusm_LIBS="${rcache_rgpusm_LIBS} ${rcache_rgpusm_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "cuda.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${rcache_rgpusm_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${rcache_rgpusm_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${rcache_rgpusm_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${rcache_rgpusm_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${rcache_rgpusm_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${rcache_rgpusm_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "cuMemFree" "ac_cv_func_cuMemFree" if test "x$ac_cv_func_cuMemFree" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if cuda requires libnl v1 or v3" >&5 printf %s "checking if cuda requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_cuda+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void cuMemFree (void); int main(int argc, char *argv[]) { cuMemFree (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib cuda" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib cuda" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_cuda=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_cuda" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_cuda" >&6; } result_msg=$opal_libnl_sanity_check_cv_cuda this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, cuda links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, cuda links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libcuda (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libcuda (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libcuda." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libcuda." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas cuda requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas cuda requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libcuda (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libcuda (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libcuda." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libcuda." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs cuda" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas cuda requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas cuda requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libcuda (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libcuda (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libcuda." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libcuda." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs cuda" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi rcache_rgpusm_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : rcache_rgpusm_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) rcache_rgpusm_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi opal_check_cuda_happy="yes" else case e in @%:@( e) if test "${with_cuda}" = "no" then : rcache_rgpusm_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) rcache_rgpusm_SUMMARY="no (not found)" ;; esac fi { rcache_rgpusm_CPPFLAGS=; unset rcache_rgpusm_CPPFLAGS;} { rcache_rgpusm_LDFLAGS=; unset rcache_rgpusm_LDFLAGS;} { rcache_rgpusm_STATIC_LDFLAGS=; unset rcache_rgpusm_STATIC_LDFLAGS;} { rcache_rgpusm_LIBS=; unset rcache_rgpusm_LIBS;} { rcache_rgpusm_STATIC_LIBS=; unset rcache_rgpusm_STATIC_LIBS;} opal_check_cuda_happy="no" ;; esac fi CPPFLAGS="${check_package_rcache_rgpusm_save_CPPFLAGS}" LDFLAGS="${check_package_rcache_rgpusm_save_LDFLAGS}" LIBS="${check_package_rcache_rgpusm_save_LIBS}" oac_var_scope_pop check_package_rcache_rgpusm_save_CPPFLAGS check_package_rcache_rgpusm_save_LDFLAGS check_package_rcache_rgpusm_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR cuda ****************************** fi # We require CUDA IPC support which started in CUDA 4.1. Error # out if the support is not there. if test "$opal_check_cuda_happy" = "yes" then : ac_fn_c_check_member "$LINENO" "struct CUipcMemHandle_st" "reserved" "ac_cv_member_struct_CUipcMemHandle_st_reserved" "#include <$opal_cuda_incdir/cuda.h> " if test "x$ac_cv_member_struct_CUipcMemHandle_st_reserved" = xyes then : else case e in @%:@( e) as_fn_error $? "Cannot continue because CUDA 4.1 or later is required" "$LINENO" 5 ;; esac fi fi # If we have CUDA support, check to see if we have support for SYNC_MEMOPS # which was first introduced in CUDA 6.0. if test "$opal_check_cuda_happy" = "yes" then : ac_fn_check_decl "$LINENO" "CU_POINTER_ATTRIBUTE_SYNC_MEMOPS" "ac_cv_have_decl_CU_POINTER_ATTRIBUTE_SYNC_MEMOPS" "#include <$opal_cuda_incdir/cuda.h> " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_CU_POINTER_ATTRIBUTE_SYNC_MEMOPS" = xyes then : CUDA_SYNC_MEMOPS=1 else case e in @%:@( e) CUDA_SYNC_MEMOPS=0 ;; esac fi fi # If we have CUDA support, check to see if we have CUDA 6.0 or later. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <$opal_cuda_incdir/cuda.h> int main (void) { #if CUDA_VERSION < 6000 #error "CUDA_VERSION is less than 6000" #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : CUDA_VERSION_60_OR_GREATER=1 else case e in @%:@( e) CUDA_VERSION_60_OR_GREATER=0 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext # If we have CUDA support, check to see if we have support for cuPointerGetAttributes # which was first introduced in CUDA 7.0. if test "$opal_check_cuda_happy" = "yes" then : ac_fn_check_decl "$LINENO" "cuPointerGetAttributes" "ac_cv_have_decl_cuPointerGetAttributes" "#include <$opal_cuda_incdir/cuda.h> " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_cuPointerGetAttributes" = xyes then : CUDA_GET_ATTRIBUTES=1 else case e in @%:@( e) CUDA_GET_ATTRIBUTES=0 ;; esac fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if have cuda support" >&5 printf %s "checking if have cuda support... " >&6; } if test "$opal_check_cuda_happy" = "yes"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes (-I$opal_cuda_incdir)" >&5 printf "%s\n" "yes (-I$opal_cuda_incdir)" >&6; } CUDA_SUPPORT=1 common_cuda_CPPFLAGS="-I$opal_cuda_incdir" else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } CUDA_SUPPORT=0 fi 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="CUDA support: $opal_check_cuda_happy" oac_summary_key="AcceleratorsCUDA_support" # Use the section name variable as an indicator for whether or not # the section has already been created. if test ${oac_summary_section_Accelerators_name+y} then : else case e in @%:@( e) oac_summary_section_Accelerators_name="Accelerators" if test -z "${oac_summary_sections}" then : oac_summary_sections="Accelerators" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} Accelerators" ;; esac fi ;; esac 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 case e in @%:@( e) eval "${oac_summary_key}=1" if test ${oac_summary_section_Accelerators_value+y} then : as_fn_append oac_summary_section_Accelerators_value "${oac_summary_newline}${oac_summary_line}" else case e in @%:@( e) oac_summary_section_Accelerators_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key if test "x$CUDA_SUPPORT" = "x1"; then OPAL_cuda_support_TRUE= OPAL_cuda_support_FALSE='#' else OPAL_cuda_support_TRUE='#' OPAL_cuda_support_FALSE= fi printf "%s\n" "@%:@define OPAL_CUDA_SUPPORT $CUDA_SUPPORT" >>confdefs.h if test "x$CUDA_SYNC_MEMOPS" = "x1"; then OPAL_cuda_sync_memops_TRUE= OPAL_cuda_sync_memops_FALSE='#' else OPAL_cuda_sync_memops_TRUE='#' OPAL_cuda_sync_memops_FALSE= fi printf "%s\n" "@%:@define OPAL_CUDA_SYNC_MEMOPS $CUDA_SYNC_MEMOPS" >>confdefs.h if test "x$CUDA_GET_ATTRIBUTES" = "x1"; then OPAL_cuda_get_attributes_TRUE= OPAL_cuda_get_attributes_FALSE='#' else OPAL_cuda_get_attributes_TRUE='#' OPAL_cuda_get_attributes_FALSE= fi printf "%s\n" "@%:@define OPAL_CUDA_GET_ATTRIBUTES $CUDA_GET_ATTRIBUTES" >>confdefs.h # There is nothing specific we can check for to see if GPU Direct RDMA is available. # Therefore, we check to see whether we have CUDA 6.0 or later. if test "x$CUDA_VERSION_60_OR_GREATER" = "x1"; then OPAL_cuda_gdr_support_TRUE= OPAL_cuda_gdr_support_FALSE='#' else OPAL_cuda_gdr_support_TRUE='#' OPAL_cuda_gdr_support_FALSE= fi printf "%s\n" "@%:@define OPAL_CUDA_GDR_SUPPORT $CUDA_VERSION_60_OR_GREATER" >>confdefs.h CPPFLAGS=${cuda_save_CPPFLAGS} LDFLAGS=${cuda_save_LDFLAGS} LIBS=${cuda_save_LIBS} opal_var_scope_pop cuda_save_CPPFLAGS cuda_save_LDFLAGS cuda_save_LIBS # Use CUDA_SUPPORT which was filled in by the opal configure code. if test "x$CUDA_SUPPORT" = "x1" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/rcache/rgpusm/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components rgpusm" if test "$compile_mode" = "dso" ; then dso_components="$dso_components rgpusm" else if test "rcache" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/rcache/rgpusm/lib${OPAL_LIB_NAME}mca_rcache_rgpusm.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/rcache/rgpusm/libmca_rcache_rgpusm.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_rcache_rgpusm_component;" >> $outfile.extern echo " &mca_rcache_rgpusm_component, " >> $outfile.struct static_components="$static_components rgpusm" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component rcache:rgpusm can compile" >&5 printf %s "checking if MCA component rcache:rgpusm can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_rcache" = "rgpusm" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_rcache_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** rcache component rgpusm was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_rcache" = "rgpusm" ; then as_fn_error $? "*** rcache component rgpusm was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${rcache_rgpusm_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${rcache_rgpusm_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${rcache_rgpusm_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${rcache_rgpusm_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${rcache_rgpusm_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${rcache_rgpusm_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$rcache_rgpusm_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $rcache_rgpusm_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring rcache_rgpusm_WRAPPER_EXTRA_CPPFLAGS ($rcache_rgpusm_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring rcache_rgpusm_WRAPPER_EXTRA_CPPFLAGS ($rcache_rgpusm_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component rcache:rgpusm can compile" >&5 printf %s "checking if MCA component rcache:rgpusm can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_rcache" = "rgpusm" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"rgpusm\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"rgpusm\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_rcache" ; then if test "$DIRECT_rcache" = "rgpusm" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"rgpusm\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"rgpusm\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components rgpusm" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_rcache_rgpusm_DSO=1 else case e in @%:@( e) BUILD_opal_rcache_rgpusm_DSO=0 ;; esac fi if test "$BUILD_opal_rcache_rgpusm_DSO" = "1"; then MCA_BUILD_opal_rcache_rgpusm_DSO_TRUE= MCA_BUILD_opal_rcache_rgpusm_DSO_FALSE='#' else MCA_BUILD_opal_rcache_rgpusm_DSO_TRUE='#' MCA_BUILD_opal_rcache_rgpusm_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component rcache:udreg (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/rcache/udreg" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_rcache" ; then if test "$DIRECT_rcache" = "udreg" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_rcache" = "1" then : want_component=0 fi if test "${DISABLE_rcache_udreg}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_rcache_udreg_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_rcache" SHARED_COMPONENT="$DSO_rcache_udreg" STATIC_FRAMEWORK="$STATIC_rcache" STATIC_COMPONENT="$STATIC_rcache_udreg" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_rcache_udreg_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component rcache:udreg compile mode" >&5 printf %s "checking for MCA component rcache:udreg compile mode... " >&6; } if test "$DIRECT_rcache" = "udreg" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$opal_rcache_udreg_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/rcache/udreg/Makefile" @%:@ Check whether --with-udreg was given. if test ${with_udreg+y} then : withval=$with_udreg; fi rcache_udreg_happy="no" if test "$with_udreg" = "no" then : rcache_udreg_happy="no" else case e in @%:@( e) pkg_failed=no { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for CRAY_UDREG" >&5 printf %s "checking for CRAY_UDREG... " >&6; } if test -n "$CRAY_UDREG_CFLAGS"; then pkg_cv_CRAY_UDREG_CFLAGS="$CRAY_UDREG_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"cray-udreg\""; } >&5 ($PKG_CONFIG --exists --print-errors "cray-udreg") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_CRAY_UDREG_CFLAGS=`$PKG_CONFIG --cflags "cray-udreg" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$CRAY_UDREG_LIBS"; then pkg_cv_CRAY_UDREG_LIBS="$CRAY_UDREG_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"cray-udreg\""; } >&5 ($PKG_CONFIG --exists --print-errors "cray-udreg") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_CRAY_UDREG_LIBS=`$PKG_CONFIG --libs "cray-udreg" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then CRAY_UDREG_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "cray-udreg" 2>&1` else CRAY_UDREG_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "cray-udreg" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$CRAY_UDREG_PKG_ERRORS" >&5 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } rcache_udreg_happ="no" elif test $pkg_failed = untried; 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}: result: no" >&5 printf "%s\n" "no" >&6; } rcache_udreg_happ="no" else CRAY_UDREG_CFLAGS=$pkg_cv_CRAY_UDREG_CFLAGS CRAY_UDREG_LIBS=$pkg_cv_CRAY_UDREG_LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } rcache_udreg_LDFLAGS="$CRAY_UDREG_LIBS" rcache_udreg_CPPFLAGS="$CRAY_UDREG_CFLAGS" rcache_udreg_happy="yes" fi ;; esac fi if test "$rcache_udreg_happy" = "yes" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi # substitute in the things needed to build udreg/rcache opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/rcache/udreg/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components udreg" if test "$compile_mode" = "dso" ; then dso_components="$dso_components udreg" else if test "rcache" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/rcache/udreg/lib${OPAL_LIB_NAME}mca_rcache_udreg.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/rcache/udreg/libmca_rcache_udreg.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_rcache_udreg_component;" >> $outfile.extern echo " &mca_rcache_udreg_component, " >> $outfile.struct static_components="$static_components udreg" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component rcache:udreg can compile" >&5 printf %s "checking if MCA component rcache:udreg can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_rcache" = "udreg" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_rcache_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** rcache component udreg was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_rcache" = "udreg" ; then as_fn_error $? "*** rcache component udreg was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${rcache_udreg_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${rcache_udreg_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${rcache_udreg_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${rcache_udreg_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${rcache_udreg_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${rcache_udreg_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$rcache_udreg_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $rcache_udreg_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring rcache_udreg_WRAPPER_EXTRA_CPPFLAGS ($rcache_udreg_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring rcache_udreg_WRAPPER_EXTRA_CPPFLAGS ($rcache_udreg_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component rcache:udreg can compile" >&5 printf %s "checking if MCA component rcache:udreg can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_rcache" = "udreg" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"udreg\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"udreg\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_rcache" ; then if test "$DIRECT_rcache" = "udreg" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"udreg\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"udreg\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components udreg" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_rcache_udreg_DSO=1 else case e in @%:@( e) BUILD_opal_rcache_udreg_DSO=0 ;; esac fi if test "$BUILD_opal_rcache_udreg_DSO" = "1"; then MCA_BUILD_opal_rcache_udreg_DSO_TRUE= MCA_BUILD_opal_rcache_udreg_DSO_FALSE='#' else MCA_BUILD_opal_rcache_udreg_DSO_TRUE='#' MCA_BUILD_opal_rcache_udreg_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test ${DIRECT_rcache+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for rcache framework" >&5 printf %s "checking if direct-selection component exists for rcache framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_rcache" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_rcache requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_rcache" >&5 printf "%s\n" "$DIRECT_rcache" >&6; } fi MCA_opal_rcache_ALL_COMPONENTS="$all_components" MCA_opal_rcache_STATIC_COMPONENTS="$static_components" MCA_opal_rcache_DSO_COMPONENTS="$dso_components" MCA_opal_rcache_STATIC_LTLIBS="$static_ltlibs" MCA_opal_rcache_ALL_SUBDIRS= for item in $all_components ; do MCA_opal_rcache_ALL_SUBDIRS="$MCA_opal_rcache_ALL_SUBDIRS mca/rcache/$item" done MCA_opal_rcache_STATIC_SUBDIRS= for item in $static_components ; do MCA_opal_rcache_STATIC_SUBDIRS="$MCA_opal_rcache_STATIC_SUBDIRS mca/rcache/$item" done MCA_opal_rcache_DSO_SUBDIRS= for item in $dso_components ; do MCA_opal_rcache_DSO_SUBDIRS="$MCA_opal_rcache_DSO_SUBDIRS mca/rcache/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "rcache" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real MCA_opal_FRAMEWORKS="$MCA_opal_FRAMEWORKS reachable" MCA_opal_FRAMEWORKS_SUBDIRS="$MCA_opal_FRAMEWORKS_SUBDIRS mca/reachable" MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_opal_reachable_ALL_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_opal_reachable_DSO_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_opal_reachable_STATIC_SUBDIRS)" mca_opal_framework_base_lib="mca/reachable/libmca_reachable.la" MCA_opal_FRAMEWORK_LIBS="$MCA_opal_FRAMEWORK_LIBS ${mca_opal_framework_base_lib} \$(MCA_opal_reachable_STATIC_LTLIBS)" opal_show_subsubtitle "Configuring MCA framework reachable" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=opal/mca/reachable/base as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files opal/mca/reachable/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework reachable" >&5 printf %s "checking for no configure components in framework reachable... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: weighted" >&5 printf "%s\n" "weighted" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework reachable" >&5 printf %s "checking for m4 configure components in framework reachable... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: netlink" >&5 printf "%s\n" "netlink" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components opal_show_subsubsubtitle "MCA component reachable:weighted (no configuration)" opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: before, should_build=1" component_path="$srcdir/opal/mca/reachable/weighted" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_reachable" ; then if test "$DIRECT_reachable" = "weighted" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_reachable" = "1" then : want_component=0 fi if test "${DISABLE_reachable_weighted}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=1 else case e in @%:@( e) should_build=0 ;; esac fi if test ${opal_reachable_weighted_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_reachable" SHARED_COMPONENT="$DSO_reachable_weighted" STATIC_FRAMEWORK="$STATIC_reachable" STATIC_COMPONENT="$STATIC_reachable_weighted" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_reachable_weighted_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component reachable:weighted compile mode" >&5 printf %s "checking for MCA component reachable:weighted compile mode... " >&6; } if test "$DIRECT_reachable" = "weighted" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$opal_reachable_weighted_compile_mode opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" ; then # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/reachable/weighted/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components weighted" if test "$compile_mode" = "dso" ; then dso_components="$dso_components weighted" else if test "reachable" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/reachable/weighted/lib${OPAL_LIB_NAME}mca_reachable_weighted.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/reachable/weighted/libmca_reachable_weighted.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_reachable_weighted_component;" >> $outfile.extern echo " &mca_reachable_weighted_component, " >> $outfile.struct static_components="$static_components weighted" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component reachable:weighted can compile" >&5 printf %s "checking if MCA component reachable:weighted can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_reachable" = "weighted" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_reachable_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** reachable component weighted was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_reachable" = "weighted" ; then as_fn_error $? "*** reachable component weighted was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${reachable_weighted_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${reachable_weighted_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${reachable_weighted_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${reachable_weighted_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${reachable_weighted_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${reachable_weighted_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$reachable_weighted_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $reachable_weighted_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring reachable_weighted_WRAPPER_EXTRA_CPPFLAGS ($reachable_weighted_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring reachable_weighted_WRAPPER_EXTRA_CPPFLAGS ($reachable_weighted_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component reachable:weighted can compile" >&5 printf %s "checking if MCA component reachable:weighted can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_reachable" = "weighted" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"weighted\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"weighted\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_reachable" ; then if test "$DIRECT_reachable" = "weighted" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"weighted\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"weighted\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components weighted" fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" ; then BUILD_opal_reachable_weighted_DSO=1 else BUILD_opal_reachable_weighted_DSO=0 fi if test "$BUILD_opal_reachable_weighted_DSO" = "1"; then MCA_BUILD_opal_reachable_weighted_DSO_TRUE= MCA_BUILD_opal_reachable_weighted_DSO_FALSE='#' else MCA_BUILD_opal_reachable_weighted_DSO_TRUE='#' MCA_BUILD_opal_reachable_weighted_DSO_FALSE= fi ac_config_files="$ac_config_files opal/mca/reachable/weighted/Makefile" unset compile_mode # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=1 components_last_result=0 opal_show_subsubsubtitle "MCA component reachable:netlink (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/reachable/netlink" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_reachable" ; then if test "$DIRECT_reachable" = "netlink" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_reachable" = "1" then : want_component=0 fi if test "${DISABLE_reachable_netlink}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_reachable_netlink_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_reachable" SHARED_COMPONENT="$DSO_reachable_netlink" STATIC_FRAMEWORK="$STATIC_reachable" STATIC_COMPONENT="$STATIC_reachable_netlink" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_reachable_netlink_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component reachable:netlink compile mode" >&5 printf %s "checking for MCA component reachable:netlink compile mode... " >&6; } if test "$DIRECT_reachable" = "netlink" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$opal_reachable_netlink_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/reachable/netlink/Makefile" opal_var_scope_push ${LINENO} opal_reachable_netlink_happy # this is terrible, but libnl-1 and libnl-3 are incompatible in # weird ways, and once there are libraries in LIBS for one, the # other is hard to get right. So if someone has already decided # we have libnl version 1, get out. Otherwise, see if we have # libnl-3, which is the only version supported by the netlink # component. if test $opal_libnl_version -eq 3 then : # Use the libnl base options for the route search with_libnl_route=${with_libnl} with_libnl_route_libdir=${with_libnl_libdir} with_libnl_route_incdir=${with_libnl_incdir} # The first argument of OAC_CHECK_PACKAGE must be a valid # shell variable name, which means no dashes. Deal with that # by being explicit with our module. # ****************************** START CHECK PACKAGE FOR libnl_route ****************************** oac_var_scope_push ${LINENO} check_package_reachable_netlink_save_CPPFLAGS check_package_reachable_netlink_save_LDFLAGS check_package_reachable_netlink_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_reachable_netlink_save_CPPFLAGS="${CPPFLAGS}" check_package_reachable_netlink_save_LDFLAGS="${LDFLAGS}" check_package_reachable_netlink_save_LIBS="${LIBS}" reachable_netlink_CPPFLAGS= reachable_netlink_LDFLAGS= reachable_netlink_STATIC_LDFLAGS= reachable_netlink_LIBS= reachable_netlink_STATIC_LIBS= { reachable_netlink_PC_MODULES=; unset reachable_netlink_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_libnl_route" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package libnl_route disabled by user" >&5 printf "%s\n" "$as_me: Package libnl_route disabled by user" >&6;} check_package_happy=0 elif test "${with_libnl_route}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_libnl_route}" ;; esac fi check_package_libdir= if test "${with_libnl_route_libdir}" = "no" -o "${with_libnl_route_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-libnl_route-libdir" "$LINENO" 5 elif test -n "${with_libnl_route_libdir}" then : check_package_libdir="${with_libnl_route_libdir}" fi check_package_incdir= if test "${with_libnl_route_incdir}" = "no" -o "${with_libnl_route_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-libnl_route-incdir" "$LINENO" 5 elif test -n "${with_libnl_route_incdir}" then : check_package_incdir="${with_libnl_route_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${libnl_route_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-libnl_route or --with-libnl_route-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-libnl_route only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libnl_route pkg-config name" >&5 printf %s "checking for libnl_route pkg-config name... " >&6; } if test ${oac_cv_check_package_libnl_route_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_libnl_route_pcfilename="libnl-route-3.0" if test -n "${check_package_libdir}" then : oac_cv_check_package_libnl_route_pcfilename="${check_package_libdir}/pkgconfig/libnl-route-3.0.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_libnl_route_pcfilename="libnl-route-3.0" elif test -r "${check_package_prefix}/lib/pkgconfig/libnl-route-3.0.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/libnl-route-3.0.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found libnl-route-3.0 in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-libnl_route-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_libnl_route_pcfilename="${check_package_prefix}/lib/pkgconfig/libnl-route-3.0.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/libnl-route-3.0.pc" then : oac_cv_check_package_libnl_route_pcfilename="${check_package_prefix}/lib64/pkgconfig/libnl-route-3.0.pc" else case e in @%:@( e) oac_cv_check_package_libnl_route_pcfilename="${check_package_prefix}/lib/pkgconfig/libnl-route-3.0.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libnl_route_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_libnl_route_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if libnl_route pkg-config module exists" >&5 printf %s "checking if libnl_route pkg-config module exists... " >&6; } if test ${oac_cv_check_package_libnl_route_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_libnl_route_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_libnl_route_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : reachable_netlink_PC_MODULES=${oac_cv_check_package_libnl_route_pcfilename} oac_cv_check_package_libnl_route_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_libnl_route_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libnl_route_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_libnl_route_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_libnl_route_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libnl_route pkg-config cflags" >&5 printf %s "checking for libnl_route pkg-config cflags... " >&6; } if test ${oac_cv_check_package_libnl_route_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_libnl_route_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_libnl_route_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_libnl_route_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving libnl_route cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libnl_route_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_libnl_route_pkg_config_cppflags" >&6; } reachable_netlink_CPPFLAGS="${oac_cv_check_package_libnl_route_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libnl_route pkg-config ldflags" >&5 printf %s "checking for libnl_route pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_libnl_route_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_libnl_route_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_libnl_route_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_libnl_route_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving libnl_route ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libnl_route_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_libnl_route_pkg_config_ldflags" >&6; } reachable_netlink_LDFLAGS="${oac_cv_check_package_libnl_route_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libnl_route pkg-config static ldflags" >&5 printf %s "checking for libnl_route pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_libnl_route_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_libnl_route_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_libnl_route_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_libnl_route_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving libnl_route static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libnl_route_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_libnl_route_pkg_config_static_ldflags" >&6; } reachable_netlink_STATIC_LDFLAGS="${oac_cv_check_package_libnl_route_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libnl_route pkg-config libs" >&5 printf %s "checking for libnl_route pkg-config libs... " >&6; } if test ${oac_cv_check_package_libnl_route_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_libnl_route_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_libnl_route_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_libnl_route_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving libnl_route libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libnl_route_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_libnl_route_pkg_config_libs" >&6; } reachable_netlink_LIBS="${oac_cv_check_package_libnl_route_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libnl_route pkg-config static libs" >&5 printf %s "checking for libnl_route pkg-config static libs... " >&6; } if test ${oac_cv_check_package_libnl_route_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_libnl_route_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_libnl_route_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_libnl_route_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving libnl_route libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libnl_route_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_libnl_route_pkg_config_static_libs" >&6; } reachable_netlink_STATIC_LIBS="${oac_cv_check_package_libnl_route_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${libnl_route_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-libnl_route argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libnl_route wrapper compiler" >&5 printf %s "checking for libnl_route wrapper compiler... " >&6; } if test ${oac_cv_check_package_libnl_route_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_libnl_route_wrapper_compiler="libnl_routecc" else case e in @%:@( e) oac_cv_check_package_libnl_route_wrapper_compiler="${check_package_prefix}/bin/libnl_routecc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libnl_route_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_libnl_route_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if libnl_route wrapper compiler works" >&5 printf %s "checking if libnl_route wrapper compiler works... " >&6; } if test ${oac_cv_check_package_libnl_route_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_libnl_route_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_libnl_route_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_libnl_route_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_libnl_route_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libnl_route_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_libnl_route_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_libnl_route_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libnl_route wrapper compiler cppflags" >&5 printf %s "checking for libnl_route wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_libnl_route_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_libnl_route_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_libnl_route_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_libnl_route_wrapper_compiler_cppflags}" then : oac_cv_check_package_libnl_route_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_libnl_route_wrapper_compiler_cppflags="${oac_cv_check_package_libnl_route_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving libnl_route cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libnl_route_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_libnl_route_wrapper_compiler_cppflags" >&6; } reachable_netlink_CPPFLAGS="${oac_cv_check_package_libnl_route_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libnl_route wrapper compiler ldflags" >&5 printf %s "checking for libnl_route wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_libnl_route_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_libnl_route_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_libnl_route_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_libnl_route_wrapper_compiler_ldflags}" then : oac_cv_check_package_libnl_route_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_libnl_route_wrapper_compiler_ldflags="${oac_cv_check_package_libnl_route_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving libnl_route ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libnl_route_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_libnl_route_wrapper_compiler_ldflags" >&6; } reachable_netlink_LDFLAGS="${oac_cv_check_package_libnl_route_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libnl_route wrapper compiler static ldflags" >&5 printf %s "checking for libnl_route wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_libnl_route_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_libnl_route_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_libnl_route_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_libnl_route_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_libnl_route_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_libnl_route_wrapper_compiler_static_ldflags="${oac_cv_check_package_libnl_route_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving libnl_route static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libnl_route_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_libnl_route_wrapper_compiler_static_ldflags" >&6; } reachable_netlink_STATIC_LDFLAGS="${oac_cv_check_package_libnl_route_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libnl_route wrapper compiler libs" >&5 printf %s "checking for libnl_route wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_libnl_route_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_libnl_route_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_libnl_route_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_libnl_route_wrapper_compiler_libs}" then : oac_cv_check_package_libnl_route_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_libnl_route_wrapper_compiler_libs="${oac_cv_check_package_libnl_route_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving libnl_route libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libnl_route_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_libnl_route_wrapper_compiler_libs" >&6; } reachable_netlink_LIBS="$oac_cv_check_package_libnl_route_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libnl_route wrapper compiler static libs" >&5 printf %s "checking for libnl_route wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_libnl_route_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_libnl_route_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_libnl_route_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_libnl_route_wrapper_compiler_static_libs}" then : oac_cv_check_package_libnl_route_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_libnl_route_wrapper_compiler_static_libs="${oac_cv_check_package_libnl_route_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving libnl_route static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_libnl_route_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_libnl_route_wrapper_compiler_static_libs" >&6; } reachable_netlink_STATIC_LIBS="${oac_cv_check_package_libnl_route_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "netlink/route/route.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "nl-route-3 nl-3" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libnl_route header at ${check_package_generic_incdir}" >&5 printf %s "checking for libnl_route header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 reachable_netlink_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libnl_route library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for libnl_route library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 reachable_netlink_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libnl_route library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for libnl_route library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-libnl_route-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 reachable_netlink_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 reachable_netlink_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 reachable_netlink_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for libnl_route in default search paths" >&5 printf "%s\n" "$as_me: Searching for libnl_route in default search paths" >&6;} libnl_route_CPPFLAGS= libnl_route_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in nl-route-3 nl-3 ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${reachable_netlink_LIBS}" then : reachable_netlink_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) reachable_netlink_LIBS="${reachable_netlink_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${reachable_netlink_STATIC_LIBS}" then : reachable_netlink_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) reachable_netlink_STATIC_LIBS="${reachable_netlink_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libnl_route cppflags" >&5 printf %s "checking for libnl_route cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $reachable_netlink_CPPFLAGS" >&5 printf "%s\n" "$reachable_netlink_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libnl_route ldflags" >&5 printf %s "checking for libnl_route ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $reachable_netlink_LDFLAGS" >&5 printf "%s\n" "$reachable_netlink_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libnl_route libs" >&5 printf %s "checking for libnl_route libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $reachable_netlink_LIBS" >&5 printf "%s\n" "$reachable_netlink_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libnl_route static libs" >&5 printf %s "checking for libnl_route static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $reachable_netlink_STATIC_LIBS" >&5 printf "%s\n" "$reachable_netlink_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${reachable_netlink_LDFLAGS}" then : reachable_netlink_LDFLAGS="${reachable_netlink_STATIC_LDFLAGS}" else case e in @%:@( e) reachable_netlink_LDFLAGS="${reachable_netlink_LDFLAGS} ${reachable_netlink_STATIC_LDFLAGS}" ;; esac fi if test -z "${reachable_netlink_LIBS}" then : reachable_netlink_LIBS="${reachable_netlink_STATIC_LIBS}" else case e in @%:@( e) reachable_netlink_LIBS="${reachable_netlink_LIBS} ${reachable_netlink_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "netlink/route/route.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${reachable_netlink_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${reachable_netlink_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${reachable_netlink_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${reachable_netlink_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${reachable_netlink_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${reachable_netlink_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "rtnl_route_get" "ac_cv_func_rtnl_route_get" if test "x$ac_cv_func_rtnl_route_get" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if libnl_route requires libnl v1 or v3" >&5 printf %s "checking if libnl_route requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_libnl_route+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void rtnl_route_get (void); int main(int argc, char *argv[]) { rtnl_route_get (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib libnl_route" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib libnl_route" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_libnl_route=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_libnl_route" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_libnl_route" >&6; } result_msg=$opal_libnl_sanity_check_cv_libnl_route this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, libnl_route links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, libnl_route links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in liblibnl_route (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in liblibnl_route (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using liblibnl_route." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using liblibnl_route." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas libnl_route requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas libnl_route requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in liblibnl_route (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in liblibnl_route (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using liblibnl_route." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using liblibnl_route." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs libnl_route" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas libnl_route requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas libnl_route requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in liblibnl_route (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in liblibnl_route (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using liblibnl_route." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using liblibnl_route." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs libnl_route" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi reachable_netlink_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : reachable_netlink_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) reachable_netlink_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi opal_reachable_netlink_happy=1 else case e in @%:@( e) if test "${with_libnl_route}" = "no" then : reachable_netlink_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) reachable_netlink_SUMMARY="no (not found)" ;; esac fi { reachable_netlink_CPPFLAGS=; unset reachable_netlink_CPPFLAGS;} { reachable_netlink_LDFLAGS=; unset reachable_netlink_LDFLAGS;} { reachable_netlink_STATIC_LDFLAGS=; unset reachable_netlink_STATIC_LDFLAGS;} { reachable_netlink_LIBS=; unset reachable_netlink_LIBS;} { reachable_netlink_STATIC_LIBS=; unset reachable_netlink_STATIC_LIBS;} opal_reachable_netlink_happy=0 ;; esac fi CPPFLAGS="${check_package_reachable_netlink_save_CPPFLAGS}" LDFLAGS="${check_package_reachable_netlink_save_LDFLAGS}" LIBS="${check_package_reachable_netlink_save_LIBS}" oac_var_scope_pop check_package_reachable_netlink_save_CPPFLAGS check_package_reachable_netlink_save_LDFLAGS check_package_reachable_netlink_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR libnl_route ****************************** # See if we have linux/netlink.h, which is part of the kernel # ABI headers and not the libnl3 package (so we assume are in # default includes, as opposed to the libnl directory. if test ${opal_reachable_netlink_happy} -eq 1 then : ac_fn_c_check_header_compile "$LINENO" "linux/netlink.h" "ac_cv_header_linux_netlink_h" " #include #include " if test "x$ac_cv_header_linux_netlink_h" = xyes then : else case e in @%:@( e) opal_reachable_netlink_happy=0 ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Disabling component because libnl v1 already linked" >&5 printf "%s\n" "$as_me: Disabling component because libnl v1 already linked" >&6;} opal_reachable_netlink_happy=0 ;; esac fi if test $opal_reachable_netlink_happy -eq 1 then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi opal_var_scope_pop opal_reachable_netlink_happy opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/reachable/netlink/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components netlink" if test "$compile_mode" = "dso" ; then dso_components="$dso_components netlink" else if test "reachable" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/reachable/netlink/lib${OPAL_LIB_NAME}mca_reachable_netlink.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/reachable/netlink/libmca_reachable_netlink.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_reachable_netlink_component;" >> $outfile.extern echo " &mca_reachable_netlink_component, " >> $outfile.struct static_components="$static_components netlink" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component reachable:netlink can compile" >&5 printf %s "checking if MCA component reachable:netlink can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_reachable" = "netlink" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_reachable_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** reachable component netlink was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_reachable" = "netlink" ; then as_fn_error $? "*** reachable component netlink was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${reachable_netlink_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${reachable_netlink_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${reachable_netlink_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${reachable_netlink_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${reachable_netlink_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${reachable_netlink_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$reachable_netlink_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $reachable_netlink_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring reachable_netlink_WRAPPER_EXTRA_CPPFLAGS ($reachable_netlink_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring reachable_netlink_WRAPPER_EXTRA_CPPFLAGS ($reachable_netlink_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component reachable:netlink can compile" >&5 printf %s "checking if MCA component reachable:netlink can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_reachable" = "netlink" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"netlink\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"netlink\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_reachable" ; then if test "$DIRECT_reachable" = "netlink" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"netlink\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"netlink\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components netlink" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_reachable_netlink_DSO=1 else case e in @%:@( e) BUILD_opal_reachable_netlink_DSO=0 ;; esac fi if test "$BUILD_opal_reachable_netlink_DSO" = "1"; then MCA_BUILD_opal_reachable_netlink_DSO_TRUE= MCA_BUILD_opal_reachable_netlink_DSO_FALSE='#' else MCA_BUILD_opal_reachable_netlink_DSO_TRUE='#' MCA_BUILD_opal_reachable_netlink_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test ${DIRECT_reachable+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for reachable framework" >&5 printf %s "checking if direct-selection component exists for reachable framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_reachable" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_reachable requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_reachable" >&5 printf "%s\n" "$DIRECT_reachable" >&6; } fi MCA_opal_reachable_ALL_COMPONENTS="$all_components" MCA_opal_reachable_STATIC_COMPONENTS="$static_components" MCA_opal_reachable_DSO_COMPONENTS="$dso_components" MCA_opal_reachable_STATIC_LTLIBS="$static_ltlibs" MCA_opal_reachable_ALL_SUBDIRS= for item in $all_components ; do MCA_opal_reachable_ALL_SUBDIRS="$MCA_opal_reachable_ALL_SUBDIRS mca/reachable/$item" done MCA_opal_reachable_STATIC_SUBDIRS= for item in $static_components ; do MCA_opal_reachable_STATIC_SUBDIRS="$MCA_opal_reachable_STATIC_SUBDIRS mca/reachable/$item" done MCA_opal_reachable_DSO_SUBDIRS= for item in $dso_components ; do MCA_opal_reachable_DSO_SUBDIRS="$MCA_opal_reachable_DSO_SUBDIRS mca/reachable/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "reachable" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real MCA_opal_FRAMEWORKS="$MCA_opal_FRAMEWORKS shmem" MCA_opal_FRAMEWORKS_SUBDIRS="$MCA_opal_FRAMEWORKS_SUBDIRS mca/shmem" MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_opal_shmem_ALL_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_opal_shmem_DSO_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_opal_shmem_STATIC_SUBDIRS)" mca_opal_framework_base_lib="mca/shmem/libmca_shmem.la" MCA_opal_FRAMEWORK_LIBS="$MCA_opal_FRAMEWORK_LIBS ${mca_opal_framework_base_lib} \$(MCA_opal_shmem_STATIC_LTLIBS)" opal_show_subsubtitle "Configuring MCA framework shmem" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=opal/mca/shmem/base as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files opal/mca/shmem/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework shmem" >&5 printf %s "checking for no configure components in framework shmem... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework shmem" >&5 printf %s "checking for m4 configure components in framework shmem... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: mmap, posix, sysv" >&5 printf "%s\n" "mmap, posix, sysv" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=1 components_last_result=0 opal_show_subsubsubtitle "MCA component shmem:mmap (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/shmem/mmap" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_shmem" ; then if test "$DIRECT_shmem" = "mmap" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_shmem" = "1" then : want_component=0 fi if test "${DISABLE_shmem_mmap}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_shmem_mmap_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_shmem" SHARED_COMPONENT="$DSO_shmem_mmap" STATIC_FRAMEWORK="$STATIC_shmem" STATIC_COMPONENT="$STATIC_shmem_mmap" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_shmem_mmap_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component shmem:mmap compile mode" >&5 printf %s "checking for MCA component shmem:mmap compile mode... " >&6; } if test "$DIRECT_shmem" = "mmap" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$opal_shmem_mmap_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/shmem/mmap/Makefile" # do we have the mmap shm stuff? { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want mmap shared memory support" >&5 printf %s "checking if want mmap shared memory support... " >&6; } @%:@ Check whether --enable-mmap-shmem was given. if test ${enable_mmap_shmem+y} then : enableval=$enable_mmap_shmem; fi if test "$enable_mmap_shmem" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } shmem_mmap_sm_build_mmap=0 else case e in @%:@( e) { 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 library containing mmap" >&5 printf %s "checking for library containing mmap... " >&6; } if test ${ac_cv_search_mmap+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* 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. The 'extern "C"' is for builds by C++ compilers; although this is not generally supported in C code supporting it here has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif char mmap (void); int main (void) { return mmap (); ; return 0; } _ACEOF for ac_lib in '' c do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO" then : ac_cv_search_mmap=$ac_res fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext if test ${ac_cv_search_mmap+y} then : break fi done if test ${ac_cv_search_mmap+y} then : else case e in @%:@( e) ac_cv_search_mmap=no ;; esac fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_mmap" >&5 printf "%s\n" "$ac_cv_search_mmap" >&6; } ac_res=$ac_cv_search_mmap if test "$ac_res" != no then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" shmem_mmap_sm_build_mmap=1 else case e in @%:@( e) shmem_mmap_sm_build_mmap=0 ;; esac fi ;; esac fi if test "$enable_mmap_shmem" = "yes" && test "$shmem_mmap_sm_build_mmap" = "0" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: mmap shared memory support requested but not found" >&5 printf "%s\n" "$as_me: WARNING: mmap shared memory support requested but not found" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test "$shmem_mmap_sm_build_mmap" = "1" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi printf "%s\n" "@%:@define OPAL_SHMEM_MMAP $shmem_mmap_sm_build_mmap" >>confdefs.h opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/shmem/mmap/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components mmap" if test "$compile_mode" = "dso" ; then dso_components="$dso_components mmap" else if test "shmem" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/shmem/mmap/lib${OPAL_LIB_NAME}mca_shmem_mmap.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/shmem/mmap/libmca_shmem_mmap.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_shmem_mmap_component;" >> $outfile.extern echo " &mca_shmem_mmap_component, " >> $outfile.struct static_components="$static_components mmap" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component shmem:mmap can compile" >&5 printf %s "checking if MCA component shmem:mmap can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_shmem" = "mmap" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_shmem_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** shmem component mmap was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_shmem" = "mmap" ; then as_fn_error $? "*** shmem component mmap was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${shmem_mmap_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${shmem_mmap_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${shmem_mmap_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${shmem_mmap_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${shmem_mmap_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${shmem_mmap_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$shmem_mmap_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $shmem_mmap_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring shmem_mmap_WRAPPER_EXTRA_CPPFLAGS ($shmem_mmap_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring shmem_mmap_WRAPPER_EXTRA_CPPFLAGS ($shmem_mmap_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component shmem:mmap can compile" >&5 printf %s "checking if MCA component shmem:mmap can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_shmem" = "mmap" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"mmap\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"mmap\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_shmem" ; then if test "$DIRECT_shmem" = "mmap" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"mmap\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"mmap\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components mmap" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_shmem_mmap_DSO=1 else case e in @%:@( e) BUILD_opal_shmem_mmap_DSO=0 ;; esac fi if test "$BUILD_opal_shmem_mmap_DSO" = "1"; then MCA_BUILD_opal_shmem_mmap_DSO_TRUE= MCA_BUILD_opal_shmem_mmap_DSO_FALSE='#' else MCA_BUILD_opal_shmem_mmap_DSO_TRUE='#' MCA_BUILD_opal_shmem_mmap_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component shmem:posix (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/shmem/posix" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_shmem" ; then if test "$DIRECT_shmem" = "posix" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_shmem" = "1" then : want_component=0 fi if test "${DISABLE_shmem_posix}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_shmem_posix_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_shmem" SHARED_COMPONENT="$DSO_shmem_posix" STATIC_FRAMEWORK="$STATIC_shmem" STATIC_COMPONENT="$STATIC_shmem_posix" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_shmem_posix_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component shmem:posix compile mode" >&5 printf %s "checking for MCA component shmem:posix compile mode... " >&6; } if test "$DIRECT_shmem" = "posix" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$opal_shmem_posix_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/shmem/posix/Makefile" # do we have the posix shm stuff? { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want POSIX shared memory support" >&5 printf %s "checking if want POSIX shared memory support... " >&6; } @%:@ Check whether --enable-posix-shmem was given. if test ${enable_posix_shmem+y} then : enableval=$enable_posix_shmem; fi if test "$enable_posix_shmem" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } shmem_posix_sm_build_posix=0 else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } opal_var_scope_push ${LINENO} LIBS_save add LIBS_save=$LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing shm_open" >&5 printf %s "checking for library containing shm_open... " >&6; } if test ${ac_cv_search_shm_open+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* 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. The 'extern "C"' is for builds by C++ compilers; although this is not generally supported in C code supporting it here has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif char shm_open (void); int main (void) { return shm_open (); ; return 0; } _ACEOF for ac_lib in '' rt do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO" then : ac_cv_search_shm_open=$ac_res fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext if test ${ac_cv_search_shm_open+y} then : break fi done if test ${ac_cv_search_shm_open+y} then : else case e in @%:@( e) ac_cv_search_shm_open=no ;; esac fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_shm_open" >&5 printf "%s\n" "$ac_cv_search_shm_open" >&6; } ac_res=$ac_cv_search_shm_open if test "$ac_res" != no then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" # Found it! See if anything was added to LIBS add=`printf '%s\n' "$LIBS" | sed -e "s/$LIBS_save$//"` if test -n "$add" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $add; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${shmem_posix_LIBS}; 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 "${shmem_posix_LIBS}" then : shmem_posix_LIBS="$oac_list_arg" else case e in @%:@( e) shmem_posix_LIBS="${shmem_posix_LIBS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi shmem_posix_have_shm_open=1 shmem_posix_sm_build_posix=1 else case e in @%:@( e) shmem_posix_have_shm_open=0 shmem_posix_sm_build_posix=0 ;; esac fi printf "%s\n" "@%:@define OPAL_HAVE_SHMEM_POSIX $shmem_posix_have_shm_open" >>confdefs.h opal_var_scope_pop LIBS_save add ;; esac fi if test "$enable_posix_shmem" = "yes" && test "$shmem_posix_sm_build_posix" = "0" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: POSIX shared memory support requested but not found" >&5 printf "%s\n" "$as_me: WARNING: POSIX shared memory support requested but not found" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test "$shmem_posix_sm_build_posix" = "1" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi printf "%s\n" "@%:@define OPAL_SHMEM_POSIX $shmem_posix_sm_build_posix" >>confdefs.h opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/shmem/posix/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components posix" if test "$compile_mode" = "dso" ; then dso_components="$dso_components posix" else if test "shmem" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/shmem/posix/lib${OPAL_LIB_NAME}mca_shmem_posix.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/shmem/posix/libmca_shmem_posix.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_shmem_posix_component;" >> $outfile.extern echo " &mca_shmem_posix_component, " >> $outfile.struct static_components="$static_components posix" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component shmem:posix can compile" >&5 printf %s "checking if MCA component shmem:posix can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_shmem" = "posix" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_shmem_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** shmem component posix was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_shmem" = "posix" ; then as_fn_error $? "*** shmem component posix was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${shmem_posix_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${shmem_posix_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${shmem_posix_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${shmem_posix_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${shmem_posix_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${shmem_posix_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$shmem_posix_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $shmem_posix_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring shmem_posix_WRAPPER_EXTRA_CPPFLAGS ($shmem_posix_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring shmem_posix_WRAPPER_EXTRA_CPPFLAGS ($shmem_posix_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component shmem:posix can compile" >&5 printf %s "checking if MCA component shmem:posix can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_shmem" = "posix" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"posix\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"posix\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_shmem" ; then if test "$DIRECT_shmem" = "posix" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"posix\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"posix\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components posix" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_shmem_posix_DSO=1 else case e in @%:@( e) BUILD_opal_shmem_posix_DSO=0 ;; esac fi if test "$BUILD_opal_shmem_posix_DSO" = "1"; then MCA_BUILD_opal_shmem_posix_DSO_TRUE= MCA_BUILD_opal_shmem_posix_DSO_FALSE='#' else MCA_BUILD_opal_shmem_posix_DSO_TRUE='#' MCA_BUILD_opal_shmem_posix_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component shmem:sysv (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/shmem/sysv" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_shmem" ; then if test "$DIRECT_shmem" = "sysv" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_shmem" = "1" then : want_component=0 fi if test "${DISABLE_shmem_sysv}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_shmem_sysv_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_shmem" SHARED_COMPONENT="$DSO_shmem_sysv" STATIC_FRAMEWORK="$STATIC_shmem" STATIC_COMPONENT="$STATIC_shmem_sysv" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_shmem_sysv_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component shmem:sysv compile mode" >&5 printf %s "checking for MCA component shmem:sysv compile mode... " >&6; } if test "$DIRECT_shmem" = "sysv" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$opal_shmem_sysv_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/shmem/sysv/Makefile" # do we have the sysv shm stuff? { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want SYSV shared memory support" >&5 printf %s "checking if want SYSV shared memory support... " >&6; } @%:@ Check whether --enable-sysv-shmem was given. if test ${enable_sysv_shmem+y} then : enableval=$enable_sysv_shmem; fi if test "$enable_sysv_shmem" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } shmem_sysv_sm_build_sysv=0 else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } ac_fn_c_check_func "$LINENO" "shmget" "ac_cv_func_shmget" if test "x$ac_cv_func_shmget" = xyes then : shmem_sysv_sm_build_sysv=1 else case e in @%:@( e) shmem_sysv_sm_build_sysv=0 ;; esac fi ;; esac fi if test "$enable_sysv_shmem" = "yes" && test "$shmem_sysv_sm_build_sysv" = "0" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: SYSV shared memory support requested but not found" >&5 printf "%s\n" "$as_me: WARNING: SYSV shared memory support requested but not found" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test "$shmem_sysv_sm_build_sysv" = "1" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi printf "%s\n" "@%:@define OPAL_SHMEM_SYSV $shmem_sysv_sm_build_sysv" >>confdefs.h opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/shmem/sysv/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components sysv" if test "$compile_mode" = "dso" ; then dso_components="$dso_components sysv" else if test "shmem" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/shmem/sysv/lib${OPAL_LIB_NAME}mca_shmem_sysv.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/shmem/sysv/libmca_shmem_sysv.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_shmem_sysv_component;" >> $outfile.extern echo " &mca_shmem_sysv_component, " >> $outfile.struct static_components="$static_components sysv" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component shmem:sysv can compile" >&5 printf %s "checking if MCA component shmem:sysv can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_shmem" = "sysv" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_shmem_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** shmem component sysv was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_shmem" = "sysv" ; then as_fn_error $? "*** shmem component sysv was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${shmem_sysv_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${shmem_sysv_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${shmem_sysv_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${shmem_sysv_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${shmem_sysv_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${shmem_sysv_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$shmem_sysv_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $shmem_sysv_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring shmem_sysv_WRAPPER_EXTRA_CPPFLAGS ($shmem_sysv_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring shmem_sysv_WRAPPER_EXTRA_CPPFLAGS ($shmem_sysv_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component shmem:sysv can compile" >&5 printf %s "checking if MCA component shmem:sysv can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_shmem" = "sysv" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"sysv\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"sysv\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_shmem" ; then if test "$DIRECT_shmem" = "sysv" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"sysv\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"sysv\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components sysv" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_shmem_sysv_DSO=1 else case e in @%:@( e) BUILD_opal_shmem_sysv_DSO=0 ;; esac fi if test "$BUILD_opal_shmem_sysv_DSO" = "1"; then MCA_BUILD_opal_shmem_sysv_DSO_TRUE= MCA_BUILD_opal_shmem_sysv_DSO_FALSE='#' else MCA_BUILD_opal_shmem_sysv_DSO_TRUE='#' MCA_BUILD_opal_shmem_sysv_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test ${DIRECT_shmem+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for shmem framework" >&5 printf %s "checking if direct-selection component exists for shmem framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_shmem" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_shmem requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_shmem" >&5 printf "%s\n" "$DIRECT_shmem" >&6; } fi MCA_opal_shmem_ALL_COMPONENTS="$all_components" MCA_opal_shmem_STATIC_COMPONENTS="$static_components" MCA_opal_shmem_DSO_COMPONENTS="$dso_components" MCA_opal_shmem_STATIC_LTLIBS="$static_ltlibs" MCA_opal_shmem_ALL_SUBDIRS= for item in $all_components ; do MCA_opal_shmem_ALL_SUBDIRS="$MCA_opal_shmem_ALL_SUBDIRS mca/shmem/$item" done MCA_opal_shmem_STATIC_SUBDIRS= for item in $static_components ; do MCA_opal_shmem_STATIC_SUBDIRS="$MCA_opal_shmem_STATIC_SUBDIRS mca/shmem/$item" done MCA_opal_shmem_DSO_SUBDIRS= for item in $dso_components ; do MCA_opal_shmem_DSO_SUBDIRS="$MCA_opal_shmem_DSO_SUBDIRS mca/shmem/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "shmem" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real MCA_opal_FRAMEWORKS="$MCA_opal_FRAMEWORKS smsc" MCA_opal_FRAMEWORKS_SUBDIRS="$MCA_opal_FRAMEWORKS_SUBDIRS mca/smsc" MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_opal_smsc_ALL_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_opal_smsc_DSO_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_opal_smsc_STATIC_SUBDIRS)" mca_opal_framework_base_lib="mca/smsc/libmca_smsc.la" MCA_opal_FRAMEWORK_LIBS="$MCA_opal_FRAMEWORK_LIBS ${mca_opal_framework_base_lib} \$(MCA_opal_smsc_STATIC_LTLIBS)" # configure all the components opal_show_subsubtitle "Configuring MCA framework smsc" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=opal/mca/smsc/base as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files opal/mca/smsc/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework smsc" >&5 printf %s "checking for no configure components in framework smsc... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework smsc" >&5 printf %s "checking for m4 configure components in framework smsc... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cma, knem, xpmem" >&5 printf "%s\n" "cma, knem, xpmem" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=1 components_last_result=0 opal_show_subsubsubtitle "MCA component smsc:cma (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/smsc/cma" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_smsc" ; then if test "$DIRECT_smsc" = "cma" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_smsc" = "1" then : want_component=0 fi if test "${DISABLE_smsc_cma}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_smsc_cma_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_smsc" SHARED_COMPONENT="$DSO_smsc_cma" STATIC_FRAMEWORK="$STATIC_smsc" STATIC_COMPONENT="$STATIC_smsc_cma" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_smsc_cma_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component smsc:cma compile mode" >&5 printf %s "checking for MCA component smsc:cma compile mode... " >&6; } if test "$DIRECT_smsc" = "cma" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$opal_smsc_cma_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/smsc/cma/Makefile" @%:@ Check whether --with-cma was given. if test ${with_cma+y} then : withval=$with_cma; fi if test "x$with_cma" = "xno" ; then opal_check_cma_happy=0 fi # We only need to do the back-end test once if test -z "$opal_check_cma_happy" ; then opal_var_scope_push ${LINENO} opal_check_cma_need_defs opal_check_cma_kernel_version opal_check_cma_CFLAGS opal_check_cma_msg # Some systems have process_cm_readv() in libc, which means CMA is # supported. Other systems do not have process_cm_readv() in # libc, but have support for it in the kernel if we invoke it # directly. Check for both. ac_fn_c_check_header_compile "$LINENO" "sys/prctl.h" "ac_cv_header_sys_prctl_h" "$ac_includes_default" if test "x$ac_cv_header_sys_prctl_h" = xyes then : printf "%s\n" "@%:@define HAVE_SYS_PRCTL_H 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "process_vm_readv" "ac_cv_func_process_vm_readv" if test "x$ac_cv_func_process_vm_readv" = xyes then : opal_check_cma_need_defs=0 else case e in @%:@( e) opal_check_cma_need_defs=1 ;; esac fi printf "%s\n" "@%:@define OPAL_CMA_NEED_SYSCALL_DEFS $opal_check_cma_need_defs" >>confdefs.h if test $opal_check_cma_need_defs -eq 1 ; then opal_check_cma_CFLAGS=$CFLAGS # Need some extra include paths to locate the appropriate headers CFLAGS="$CFLAGS -I${srcdir} -I${srcdir}/opal/include" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if internal syscall numbers for Linux CMA work" >&5 printf %s "checking if internal syscall numbers for Linux CMA work... " >&6; } if test "$cross_compiling" = yes then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no (cross-compiling)" >&5 printf "%s\n" "no (cross-compiling)" >&6; } opal_check_cma_happy=0 else case e in @%:@( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include #include #include #include #include "opal/include/opal/sys/cma.h" static void do_check (pid_t pid, int *in, int *out) { int check[4] = {0, 0, 0, 0}, i; struct iovec rem_iov = {out, sizeof (check)}; struct iovec loc_iov = {check, sizeof (check)}; ssize_t rc; rc = process_vm_readv (pid, &loc_iov, 1, &rem_iov, 1, 0); if (sizeof (check) != rc) { exit (1); } for (i = 0 ; i < 4 ; ++i) { if (check[i] != i) { exit (1); } check[i] = i * 2; } rem_iov.iov_base = in; rc = process_vm_writev (pid, &loc_iov, 1, &rem_iov, 1, 0); if (sizeof (check) != rc) { exit (1); } exit (0); } int main (void) { int i, in[4] = {-1, -1, -1, -1}, out[4] = {0, 1, 2, 3}; do_check (getpid (), in, out); for (i = 0 ; i < 4 ; ++i) { if (in[i] != 2 * i) { return 1; } } /* all good */ return 0; ; 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; } opal_check_cma_happy=1 else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } opal_check_cma_happy=0 ;; esac fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi CFLAGS=$opal_check_cma_CFLAGS else # If we didn't need the defs, then we have process_vm_readv(), # and CMA is happy. opal_check_cma_happy=1 fi opal_var_scope_pop opal_check_cma_need_defs opal_check_cma_kernel_version opal_check_cma_CFLAGS opal_check_cma_msg # Testing CAP_SYS_PTRACE between two processes with kcmp ac_fn_c_check_header_compile "$LINENO" "linux/kcmp.h" "ac_cv_header_linux_kcmp_h" "$ac_includes_default" if test "x$ac_cv_header_linux_kcmp_h" = xyes then : printf "%s\n" "@%:@define HAVE_LINUX_KCMP_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/syscall.h" "ac_cv_header_sys_syscall_h" "$ac_includes_default" if test "x$ac_cv_header_sys_syscall_h" = xyes then : printf "%s\n" "@%:@define HAVE_SYS_SYSCALL_H 1" >>confdefs.h fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if kcmp works" >&5 printf %s "checking if kcmp works... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include int main (void) { syscall(SYS_kcmp, 123, 456, KCMP_VM, 0, 0); ; return 0; } _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; } opal_check_cma_kcmp_happy=1 else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } opal_check_cma_kcmp_happy=0 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext printf "%s\n" "@%:@define OPAL_CMA_KCMP_AVAIL $opal_check_cma_kcmp_happy" >>confdefs.h if test $opal_check_cma_happy -eq 1 then : opal_check_cma_msg=yes else case e in @%:@( e) opal_check_cma_msg=no ;; esac fi 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="Shared memory/Linux CMA: $opal_check_cma_msg" oac_summary_key="TransportsShared_memory_Linux_CMA" # Use the section name variable as an indicator for whether or not # the section has already been created. if test ${oac_summary_section_Transports_name+y} then : else case e in @%:@( e) oac_summary_section_Transports_name="Transports" if test -z "${oac_summary_sections}" then : oac_summary_sections="Transports" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} Transports" ;; esac fi ;; esac 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 case e in @%:@( e) eval "${oac_summary_key}=1" if test ${oac_summary_section_Transports_value+y} then : as_fn_append oac_summary_section_Transports_value "${oac_summary_newline}${oac_summary_line}" else case e in @%:@( e) oac_summary_section_Transports_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key fi if test $opal_check_cma_happy -eq 1 then : ac_fn_c_check_header_compile "$LINENO" "sys/prctl.h" "ac_cv_header_sys_prctl_h" "$ac_includes_default" if test "x$ac_cv_header_sys_prctl_h" = xyes then : fi should_build=$should_build else case e in @%:@( e) if test "$with_cma" = "yes"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: --with-cma support requested, but not available" >&5 printf "%s\n" "$as_me: WARNING: --with-cma support requested, but not available" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi should_build=0 ;; esac fi opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/smsc/cma/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components cma" if test "$compile_mode" = "dso" ; then dso_components="$dso_components cma" else if test "smsc" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/smsc/cma/lib${OPAL_LIB_NAME}mca_smsc_cma.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/smsc/cma/libmca_smsc_cma.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_smsc_cma_component;" >> $outfile.extern echo " &mca_smsc_cma_component, " >> $outfile.struct static_components="$static_components cma" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component smsc:cma can compile" >&5 printf %s "checking if MCA component smsc:cma can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_smsc" = "cma" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_smsc_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** smsc component cma was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_smsc" = "cma" ; then as_fn_error $? "*** smsc component cma was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${smsc_cma_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${smsc_cma_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${smsc_cma_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${smsc_cma_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${smsc_cma_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${smsc_cma_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$smsc_cma_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $smsc_cma_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring smsc_cma_WRAPPER_EXTRA_CPPFLAGS ($smsc_cma_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring smsc_cma_WRAPPER_EXTRA_CPPFLAGS ($smsc_cma_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component smsc:cma can compile" >&5 printf %s "checking if MCA component smsc:cma can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_smsc" = "cma" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"cma\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"cma\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_smsc" ; then if test "$DIRECT_smsc" = "cma" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"cma\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"cma\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components cma" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_smsc_cma_DSO=1 else case e in @%:@( e) BUILD_opal_smsc_cma_DSO=0 ;; esac fi if test "$BUILD_opal_smsc_cma_DSO" = "1"; then MCA_BUILD_opal_smsc_cma_DSO_TRUE= MCA_BUILD_opal_smsc_cma_DSO_FALSE='#' else MCA_BUILD_opal_smsc_cma_DSO_TRUE='#' MCA_BUILD_opal_smsc_cma_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component smsc:knem (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/smsc/knem" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_smsc" ; then if test "$DIRECT_smsc" = "knem" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_smsc" = "1" then : want_component=0 fi if test "${DISABLE_smsc_knem}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_smsc_knem_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_smsc" SHARED_COMPONENT="$DSO_smsc_knem" STATIC_FRAMEWORK="$STATIC_smsc" STATIC_COMPONENT="$STATIC_smsc_knem" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_smsc_knem_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component smsc:knem compile mode" >&5 printf %s "checking for MCA component smsc:knem compile mode... " >&6; } if test "$DIRECT_smsc" = "knem" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$opal_smsc_knem_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/smsc/knem/Makefile" opal_var_scope_push ${LINENO} opal_check_knem_happy opal_check_knem_CPPFLAGS_save @%:@ Check whether --with-knem was given. if test ${with_knem+y} then : withval=$with_knem; fi opal_check_knem_CPPFLAGS_save="${CPPFLAGS}" if test -n "${with_knem}" -a "${with_knem}" != "yes" -a "${with_knem}" != "no" then : smsc_knem_CPPFLAGS="-I${with_knem}/include" CPPFLAGS="$CPPFLAGS ${smsc_knem_CPPFLAGS}" fi ac_fn_c_check_header_compile "$LINENO" "knem_io.h" "ac_cv_header_knem_io_h" "$ac_includes_default" if test "x$ac_cv_header_knem_io_h" = xyes then : opal_check_knem_happy="yes" else case e in @%:@( e) opal_check_knem_happy="no" ;; esac fi # need at least version 0x0000000b if test "$opal_check_knem_happy" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for recent version of knem ABI" >&5 printf %s "checking for recent version of knem ABI... " >&6; } if test ${opal_check_knem_cv_abi_version+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #if KNEM_ABI_VERSION < 0xc #error "Version less than 0xc" #endif ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO" then : opal_check_knem_cv_abi_version=yes else case e in @%:@( e) opal_check_knem_cv_abi_version=no ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_check_knem_cv_abi_version" >&5 printf "%s\n" "$opal_check_knem_cv_abi_version" >&6; } if test "${opal_check_knem_cv_abi_version}" = "no" then : opal_check_knem_happy=no fi fi CPPFLAGS="${opal_check_knem_CPPFLAGS_save}" 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="Shared memory/Linux KNEM: $opal_check_knem_happy" oac_summary_key="TransportsShared_memory_Linux_KNEM" # Use the section name variable as an indicator for whether or not # the section has already been created. if test ${oac_summary_section_Transports_name+y} then : else case e in @%:@( e) oac_summary_section_Transports_name="Transports" if test -z "${oac_summary_sections}" then : oac_summary_sections="Transports" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} Transports" ;; esac fi ;; esac 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 case e in @%:@( e) eval "${oac_summary_key}=1" if test ${oac_summary_section_Transports_value+y} then : as_fn_append oac_summary_section_Transports_value "${oac_summary_newline}${oac_summary_line}" else case e in @%:@( e) oac_summary_section_Transports_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key if test "$opal_check_knem_happy" = "yes" then : should_build=$should_build else case e in @%:@( e) if test ! -z "$with_knem" && test "$with_knem" != "no" then : as_fn_error $? "KNEM support requested but not found. Aborting" "$LINENO" 5 fi should_build=0 ;; esac fi opal_var_scope_pop opal_check_knem_happy opal_check_knem_CPPFLAGS_save opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/smsc/knem/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components knem" if test "$compile_mode" = "dso" ; then dso_components="$dso_components knem" else if test "smsc" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/smsc/knem/lib${OPAL_LIB_NAME}mca_smsc_knem.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/smsc/knem/libmca_smsc_knem.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_smsc_knem_component;" >> $outfile.extern echo " &mca_smsc_knem_component, " >> $outfile.struct static_components="$static_components knem" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component smsc:knem can compile" >&5 printf %s "checking if MCA component smsc:knem can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_smsc" = "knem" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_smsc_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** smsc component knem was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_smsc" = "knem" ; then as_fn_error $? "*** smsc component knem was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${smsc_knem_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${smsc_knem_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${smsc_knem_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${smsc_knem_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${smsc_knem_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${smsc_knem_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$smsc_knem_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $smsc_knem_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring smsc_knem_WRAPPER_EXTRA_CPPFLAGS ($smsc_knem_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring smsc_knem_WRAPPER_EXTRA_CPPFLAGS ($smsc_knem_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component smsc:knem can compile" >&5 printf %s "checking if MCA component smsc:knem can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_smsc" = "knem" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"knem\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"knem\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_smsc" ; then if test "$DIRECT_smsc" = "knem" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"knem\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"knem\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components knem" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_smsc_knem_DSO=1 else case e in @%:@( e) BUILD_opal_smsc_knem_DSO=0 ;; esac fi if test "$BUILD_opal_smsc_knem_DSO" = "1"; then MCA_BUILD_opal_smsc_knem_DSO_TRUE= MCA_BUILD_opal_smsc_knem_DSO_FALSE='#' else MCA_BUILD_opal_smsc_knem_DSO_TRUE='#' MCA_BUILD_opal_smsc_knem_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component smsc:xpmem (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/smsc/xpmem" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_smsc" ; then if test "$DIRECT_smsc" = "xpmem" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_smsc" = "1" then : want_component=0 fi if test "${DISABLE_smsc_xpmem}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_smsc_xpmem_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_smsc" SHARED_COMPONENT="$DSO_smsc_xpmem" STATIC_FRAMEWORK="$STATIC_smsc" STATIC_COMPONENT="$STATIC_smsc_xpmem" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_smsc_xpmem_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component smsc:xpmem compile mode" >&5 printf %s "checking for MCA component smsc:xpmem compile mode... " >&6; } if test "$DIRECT_smsc" = "xpmem" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$opal_smsc_xpmem_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/smsc/xpmem/Makefile" opal_var_scope_push ${LINENO} opal_check_xpmem_happy # check for a cray installed xpmem first if test -z "$opal_check_cray_xpmem_happy" ; then @%:@ Check whether --with-cray_xpmem was given. if test ${with_cray_xpmem+y} then : withval=$with_cray_xpmem; else case e in @%:@( e) with_cray_xpmem=auto ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Cray XPMEM support" >&5 printf %s "checking for Cray XPMEM support... " >&6; } if test "$with_cray_xpmem" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } opal_check_xpmem_happy=no else case e in @%:@( e) if test "$with_cray_xpmem" = "auto" || test "$with_cray_xpmem" = "yes" then : pkg_failed=no { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for CRAY_XPMEM" >&5 printf %s "checking for CRAY_XPMEM... " >&6; } if test -n "$CRAY_XPMEM_CFLAGS"; then pkg_cv_CRAY_XPMEM_CFLAGS="$CRAY_XPMEM_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"cray-xpmem\""; } >&5 ($PKG_CONFIG --exists --print-errors "cray-xpmem") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_CRAY_XPMEM_CFLAGS=`$PKG_CONFIG --cflags "cray-xpmem" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$CRAY_XPMEM_LIBS"; then pkg_cv_CRAY_XPMEM_LIBS="$CRAY_XPMEM_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"cray-xpmem\""; } >&5 ($PKG_CONFIG --exists --print-errors "cray-xpmem") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_CRAY_XPMEM_LIBS=`$PKG_CONFIG --libs "cray-xpmem" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$CRAY_XPMEM_STATIC_LIBS"; then pkg_cv_CRAY_XPMEM_STATIC_LIBS="$CRAY_XPMEM_STATIC_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"cray-xpmem\""; } >&5 ($PKG_CONFIG --exists --print-errors "cray-xpmem") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_CRAY_XPMEM_STATIC_LIBS=`$PKG_CONFIG --libs --static "cray-xpmem" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then CRAY_XPMEM_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "cray-xpmem" 2>&1` else CRAY_XPMEM_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "cray-xpmem" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$CRAY_XPMEM_PKG_ERRORS" >&5 opal_check_cray_xpmem_happy="no" if test "$with_cray_xpmem" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Cray XPMEM support requested but pkg-config failed." >&5 printf "%s\n" "$as_me: WARNING: Cray XPMEM support requested but pkg-config failed." >&2;} as_fn_error $? "Aborting" "$LINENO" 5 fi elif test $pkg_failed = untried; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } opal_check_cray_xpmem_happy="no" if test "$with_cray_xpmem" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Cray XPMEM support requested but pkg-config failed." >&5 printf "%s\n" "$as_me: WARNING: Cray XPMEM support requested but pkg-config failed." >&2;} as_fn_error $? "Aborting" "$LINENO" 5 fi else CRAY_XPMEM_CFLAGS=$pkg_cv_CRAY_XPMEM_CFLAGS CRAY_XPMEM_LIBS=$pkg_cv_CRAY_XPMEM_LIBS CRAY_XPMEM_STATIC_LIBS=$pkg_cv_CRAY_XPMEM_STATIC_LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } opal_check_cray_xpmem_happy="yes" fi fi ;; esac fi if test "$opal_check_cray_xpmem_happy" = "yes" && test "$enable_static" = "yes" then : CRAY_XPMEM_LIBS = $CRAY_XPMEM_STATIC_LIBS fi fi if test "$opal_check_cray_xpmem_happy" = "yes" then : smsc_xpmem_LDFLAGS="$smsc_xpmem_LDFLAGS $CRAY_XPMEM_LIBS" smsc_xpmem_CPPFLAGS="$smsc_xpmem_CPPFLAGS $CRAY_XPMEM_CFLAGS" smsc_xpmem_LIBS="$smsc_xpmem_LIBS $CRAY_XPMEM_LIBS" printf "%s\n" "@%:@define HAVE_XPMEM_H 1" >>confdefs.h opal_check_xpmem_happy=yes else case e in @%:@( e) opal_check_xpmem_happy=no ;; esac fi if test "${opal_check_xpmem_happy}" = "no" then : opal_var_scope_push ${LINENO} opal_check_xpmem_base_happy @%:@ Check whether --with-xpmem was given. if test ${with_xpmem+y} then : withval=$with_xpmem; fi @%:@ Check whether --with-xpmem-libdir was given. if test ${with_xpmem_libdir+y} then : withval=$with_xpmem_libdir; fi # ****************************** START CHECK PACKAGE FOR xpmem ****************************** oac_var_scope_push ${LINENO} check_package_smsc_xpmem_save_CPPFLAGS check_package_smsc_xpmem_save_LDFLAGS check_package_smsc_xpmem_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_smsc_xpmem_save_CPPFLAGS="${CPPFLAGS}" check_package_smsc_xpmem_save_LDFLAGS="${LDFLAGS}" check_package_smsc_xpmem_save_LIBS="${LIBS}" smsc_xpmem_CPPFLAGS= smsc_xpmem_LDFLAGS= smsc_xpmem_STATIC_LDFLAGS= smsc_xpmem_LIBS= smsc_xpmem_STATIC_LIBS= { smsc_xpmem_PC_MODULES=; unset smsc_xpmem_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_xpmem" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package xpmem disabled by user" >&5 printf "%s\n" "$as_me: Package xpmem disabled by user" >&6;} check_package_happy=0 elif test "${with_xpmem}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_xpmem}" ;; esac fi check_package_libdir= if test "${with_xpmem_libdir}" = "no" -o "${with_xpmem_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-xpmem-libdir" "$LINENO" 5 elif test -n "${with_xpmem_libdir}" then : check_package_libdir="${with_xpmem_libdir}" fi check_package_incdir= if test "${with_xpmem_incdir}" = "no" -o "${with_xpmem_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-xpmem-incdir" "$LINENO" 5 elif test -n "${with_xpmem_incdir}" then : check_package_incdir="${with_xpmem_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${xpmem_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-xpmem or --with-xpmem-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-xpmem only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for xpmem pkg-config name" >&5 printf %s "checking for xpmem pkg-config name... " >&6; } if test ${oac_cv_check_package_xpmem_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_xpmem_pcfilename="xpmem" if test -n "${check_package_libdir}" then : oac_cv_check_package_xpmem_pcfilename="${check_package_libdir}/pkgconfig/xpmem.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_xpmem_pcfilename="xpmem" elif test -r "${check_package_prefix}/lib/pkgconfig/xpmem.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/xpmem.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found xpmem in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-xpmem-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_xpmem_pcfilename="${check_package_prefix}/lib/pkgconfig/xpmem.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/xpmem.pc" then : oac_cv_check_package_xpmem_pcfilename="${check_package_prefix}/lib64/pkgconfig/xpmem.pc" else case e in @%:@( e) oac_cv_check_package_xpmem_pcfilename="${check_package_prefix}/lib/pkgconfig/xpmem.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_xpmem_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_xpmem_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if xpmem pkg-config module exists" >&5 printf %s "checking if xpmem pkg-config module exists... " >&6; } if test ${oac_cv_check_package_xpmem_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_xpmem_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_xpmem_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : smsc_xpmem_PC_MODULES=${oac_cv_check_package_xpmem_pcfilename} oac_cv_check_package_xpmem_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_xpmem_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_xpmem_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_xpmem_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_xpmem_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for xpmem pkg-config cflags" >&5 printf %s "checking for xpmem pkg-config cflags... " >&6; } if test ${oac_cv_check_package_xpmem_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_xpmem_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_xpmem_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_xpmem_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving xpmem cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_xpmem_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_xpmem_pkg_config_cppflags" >&6; } smsc_xpmem_CPPFLAGS="${oac_cv_check_package_xpmem_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for xpmem pkg-config ldflags" >&5 printf %s "checking for xpmem pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_xpmem_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_xpmem_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_xpmem_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_xpmem_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving xpmem ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_xpmem_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_xpmem_pkg_config_ldflags" >&6; } smsc_xpmem_LDFLAGS="${oac_cv_check_package_xpmem_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for xpmem pkg-config static ldflags" >&5 printf %s "checking for xpmem pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_xpmem_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_xpmem_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_xpmem_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_xpmem_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving xpmem static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_xpmem_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_xpmem_pkg_config_static_ldflags" >&6; } smsc_xpmem_STATIC_LDFLAGS="${oac_cv_check_package_xpmem_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for xpmem pkg-config libs" >&5 printf %s "checking for xpmem pkg-config libs... " >&6; } if test ${oac_cv_check_package_xpmem_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_xpmem_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_xpmem_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_xpmem_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving xpmem libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_xpmem_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_xpmem_pkg_config_libs" >&6; } smsc_xpmem_LIBS="${oac_cv_check_package_xpmem_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for xpmem pkg-config static libs" >&5 printf %s "checking for xpmem pkg-config static libs... " >&6; } if test ${oac_cv_check_package_xpmem_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_xpmem_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_xpmem_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_xpmem_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving xpmem libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_xpmem_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_xpmem_pkg_config_static_libs" >&6; } smsc_xpmem_STATIC_LIBS="${oac_cv_check_package_xpmem_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${xpmem_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-xpmem argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for xpmem wrapper compiler" >&5 printf %s "checking for xpmem wrapper compiler... " >&6; } if test ${oac_cv_check_package_xpmem_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_xpmem_wrapper_compiler="xpmemcc" else case e in @%:@( e) oac_cv_check_package_xpmem_wrapper_compiler="${check_package_prefix}/bin/xpmemcc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_xpmem_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_xpmem_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if xpmem wrapper compiler works" >&5 printf %s "checking if xpmem wrapper compiler works... " >&6; } if test ${oac_cv_check_package_xpmem_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_xpmem_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_xpmem_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_xpmem_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_xpmem_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_xpmem_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_xpmem_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_xpmem_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for xpmem wrapper compiler cppflags" >&5 printf %s "checking for xpmem wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_xpmem_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_xpmem_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_xpmem_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_xpmem_wrapper_compiler_cppflags}" then : oac_cv_check_package_xpmem_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_xpmem_wrapper_compiler_cppflags="${oac_cv_check_package_xpmem_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving xpmem cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_xpmem_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_xpmem_wrapper_compiler_cppflags" >&6; } smsc_xpmem_CPPFLAGS="${oac_cv_check_package_xpmem_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for xpmem wrapper compiler ldflags" >&5 printf %s "checking for xpmem wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_xpmem_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_xpmem_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_xpmem_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_xpmem_wrapper_compiler_ldflags}" then : oac_cv_check_package_xpmem_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_xpmem_wrapper_compiler_ldflags="${oac_cv_check_package_xpmem_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving xpmem ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_xpmem_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_xpmem_wrapper_compiler_ldflags" >&6; } smsc_xpmem_LDFLAGS="${oac_cv_check_package_xpmem_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for xpmem wrapper compiler static ldflags" >&5 printf %s "checking for xpmem wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_xpmem_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_xpmem_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_xpmem_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_xpmem_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_xpmem_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_xpmem_wrapper_compiler_static_ldflags="${oac_cv_check_package_xpmem_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving xpmem static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_xpmem_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_xpmem_wrapper_compiler_static_ldflags" >&6; } smsc_xpmem_STATIC_LDFLAGS="${oac_cv_check_package_xpmem_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for xpmem wrapper compiler libs" >&5 printf %s "checking for xpmem wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_xpmem_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_xpmem_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_xpmem_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_xpmem_wrapper_compiler_libs}" then : oac_cv_check_package_xpmem_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_xpmem_wrapper_compiler_libs="${oac_cv_check_package_xpmem_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving xpmem libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_xpmem_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_xpmem_wrapper_compiler_libs" >&6; } smsc_xpmem_LIBS="$oac_cv_check_package_xpmem_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for xpmem wrapper compiler static libs" >&5 printf %s "checking for xpmem wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_xpmem_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_xpmem_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_xpmem_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_xpmem_wrapper_compiler_static_libs}" then : oac_cv_check_package_xpmem_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_xpmem_wrapper_compiler_static_libs="${oac_cv_check_package_xpmem_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving xpmem static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_xpmem_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_xpmem_wrapper_compiler_static_libs" >&6; } smsc_xpmem_STATIC_LIBS="${oac_cv_check_package_xpmem_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "xpmem.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "xpmem" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for xpmem header at ${check_package_generic_incdir}" >&5 printf %s "checking for xpmem header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 smsc_xpmem_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for xpmem library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for xpmem library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 smsc_xpmem_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for xpmem library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for xpmem library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-xpmem-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 smsc_xpmem_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 smsc_xpmem_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 smsc_xpmem_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for xpmem in default search paths" >&5 printf "%s\n" "$as_me: Searching for xpmem in default search paths" >&6;} xpmem_CPPFLAGS= xpmem_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in xpmem ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${smsc_xpmem_LIBS}" then : smsc_xpmem_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) smsc_xpmem_LIBS="${smsc_xpmem_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${smsc_xpmem_STATIC_LIBS}" then : smsc_xpmem_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) smsc_xpmem_STATIC_LIBS="${smsc_xpmem_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for xpmem cppflags" >&5 printf %s "checking for xpmem cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $smsc_xpmem_CPPFLAGS" >&5 printf "%s\n" "$smsc_xpmem_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for xpmem ldflags" >&5 printf %s "checking for xpmem ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $smsc_xpmem_LDFLAGS" >&5 printf "%s\n" "$smsc_xpmem_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for xpmem libs" >&5 printf %s "checking for xpmem libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $smsc_xpmem_LIBS" >&5 printf "%s\n" "$smsc_xpmem_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for xpmem static libs" >&5 printf %s "checking for xpmem static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $smsc_xpmem_STATIC_LIBS" >&5 printf "%s\n" "$smsc_xpmem_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${smsc_xpmem_LDFLAGS}" then : smsc_xpmem_LDFLAGS="${smsc_xpmem_STATIC_LDFLAGS}" else case e in @%:@( e) smsc_xpmem_LDFLAGS="${smsc_xpmem_LDFLAGS} ${smsc_xpmem_STATIC_LDFLAGS}" ;; esac fi if test -z "${smsc_xpmem_LIBS}" then : smsc_xpmem_LIBS="${smsc_xpmem_STATIC_LIBS}" else case e in @%:@( e) smsc_xpmem_LIBS="${smsc_xpmem_LIBS} ${smsc_xpmem_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "xpmem.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${smsc_xpmem_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${smsc_xpmem_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${smsc_xpmem_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${smsc_xpmem_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${smsc_xpmem_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${smsc_xpmem_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "xpmem_make" "ac_cv_func_xpmem_make" if test "x$ac_cv_func_xpmem_make" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if xpmem requires libnl v1 or v3" >&5 printf %s "checking if xpmem requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_xpmem+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void xpmem_make (void); int main(int argc, char *argv[]) { xpmem_make (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib xpmem" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib xpmem" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_xpmem=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_xpmem" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_xpmem" >&6; } result_msg=$opal_libnl_sanity_check_cv_xpmem this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, xpmem links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, xpmem links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libxpmem (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libxpmem (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libxpmem." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libxpmem." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas xpmem requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas xpmem requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libxpmem (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libxpmem (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libxpmem." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libxpmem." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs xpmem" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas xpmem requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas xpmem requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libxpmem (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libxpmem (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libxpmem." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libxpmem." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs xpmem" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi smsc_xpmem_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : smsc_xpmem_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) smsc_xpmem_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi opal_check_xpmem_base_happy="yes" else case e in @%:@( e) if test "${with_xpmem}" = "no" then : smsc_xpmem_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) smsc_xpmem_SUMMARY="no (not found)" ;; esac fi { smsc_xpmem_CPPFLAGS=; unset smsc_xpmem_CPPFLAGS;} { smsc_xpmem_LDFLAGS=; unset smsc_xpmem_LDFLAGS;} { smsc_xpmem_STATIC_LDFLAGS=; unset smsc_xpmem_STATIC_LDFLAGS;} { smsc_xpmem_LIBS=; unset smsc_xpmem_LIBS;} { smsc_xpmem_STATIC_LIBS=; unset smsc_xpmem_STATIC_LIBS;} opal_check_xpmem_base_happy="no" ;; esac fi CPPFLAGS="${check_package_smsc_xpmem_save_CPPFLAGS}" LDFLAGS="${check_package_smsc_xpmem_save_LDFLAGS}" LIBS="${check_package_smsc_xpmem_save_LIBS}" oac_var_scope_pop check_package_smsc_xpmem_save_CPPFLAGS check_package_smsc_xpmem_save_LDFLAGS check_package_smsc_xpmem_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR xpmem ****************************** if test "${opal_check_xpmem_base_happy}" = "yes" then : printf "%s\n" "@%:@define HAVE_XPMEM_H 1" >>confdefs.h opal_check_xpmem_happy=yes else case e in @%:@( e) if test -n "${with_xpmem}" -a "${with_xpmem}" != "no" then : as_fn_error $? "XPMEM support requested but not found. Aborting" "$LINENO" 5 fi opal_check_xpmem_happy=no ;; esac fi opal_var_scope_pop opal_check_xpmem_base_happy fi 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="Shared memory/XPMEM: $opal_check_xpmem_happy" oac_summary_key="TransportsShared_memory_XPMEM" # Use the section name variable as an indicator for whether or not # the section has already been created. if test ${oac_summary_section_Transports_name+y} then : else case e in @%:@( e) oac_summary_section_Transports_name="Transports" if test -z "${oac_summary_sections}" then : oac_summary_sections="Transports" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} Transports" ;; esac fi ;; esac 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 case e in @%:@( e) eval "${oac_summary_key}=1" if test ${oac_summary_section_Transports_value+y} then : as_fn_append oac_summary_section_Transports_value "${oac_summary_newline}${oac_summary_line}" else case e in @%:@( e) oac_summary_section_Transports_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key if test "${opal_check_xpmem_happy}" = "yes" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi opal_var_scope_pop opal_check_xpmem_happy opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/smsc/xpmem/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components xpmem" if test "$compile_mode" = "dso" ; then dso_components="$dso_components xpmem" else if test "smsc" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/smsc/xpmem/lib${OPAL_LIB_NAME}mca_smsc_xpmem.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/smsc/xpmem/libmca_smsc_xpmem.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_smsc_xpmem_component;" >> $outfile.extern echo " &mca_smsc_xpmem_component, " >> $outfile.struct static_components="$static_components xpmem" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component smsc:xpmem can compile" >&5 printf %s "checking if MCA component smsc:xpmem can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_smsc" = "xpmem" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_smsc_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** smsc component xpmem was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_smsc" = "xpmem" ; then as_fn_error $? "*** smsc component xpmem was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${smsc_xpmem_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${smsc_xpmem_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${smsc_xpmem_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${smsc_xpmem_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${smsc_xpmem_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${smsc_xpmem_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$smsc_xpmem_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $smsc_xpmem_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring smsc_xpmem_WRAPPER_EXTRA_CPPFLAGS ($smsc_xpmem_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring smsc_xpmem_WRAPPER_EXTRA_CPPFLAGS ($smsc_xpmem_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component smsc:xpmem can compile" >&5 printf %s "checking if MCA component smsc:xpmem can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_smsc" = "xpmem" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"xpmem\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"xpmem\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_smsc" ; then if test "$DIRECT_smsc" = "xpmem" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"xpmem\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"xpmem\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components xpmem" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_smsc_xpmem_DSO=1 else case e in @%:@( e) BUILD_opal_smsc_xpmem_DSO=0 ;; esac fi if test "$BUILD_opal_smsc_xpmem_DSO" = "1"; then MCA_BUILD_opal_smsc_xpmem_DSO_TRUE= MCA_BUILD_opal_smsc_xpmem_DSO_FALSE='#' else MCA_BUILD_opal_smsc_xpmem_DSO_TRUE='#' MCA_BUILD_opal_smsc_xpmem_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test ${DIRECT_smsc+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for smsc framework" >&5 printf %s "checking if direct-selection component exists for smsc framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_smsc" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_smsc requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_smsc" >&5 printf "%s\n" "$DIRECT_smsc" >&6; } fi MCA_opal_smsc_ALL_COMPONENTS="$all_components" MCA_opal_smsc_STATIC_COMPONENTS="$static_components" MCA_opal_smsc_DSO_COMPONENTS="$dso_components" MCA_opal_smsc_STATIC_LTLIBS="$static_ltlibs" MCA_opal_smsc_ALL_SUBDIRS= for item in $all_components ; do MCA_opal_smsc_ALL_SUBDIRS="$MCA_opal_smsc_ALL_SUBDIRS mca/smsc/$item" done MCA_opal_smsc_STATIC_SUBDIRS= for item in $static_components ; do MCA_opal_smsc_STATIC_SUBDIRS="$MCA_opal_smsc_STATIC_SUBDIRS mca/smsc/$item" done MCA_opal_smsc_DSO_SUBDIRS= for item in $dso_components ; do MCA_opal_smsc_DSO_SUBDIRS="$MCA_opal_smsc_DSO_SUBDIRS mca/smsc/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "smsc" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real # this is a direct callable component, so set that up. if test ! -z "$DIRECT_smsc" ; then MCA_opal_smsc_DIRECT_CALL_COMPONENT=$DIRECT_smsc MCA_opal_smsc_DIRECT_CALL=1 else MCA_opal_smsc_DIRECT_CALL_COMPONENT= MCA_opal_smsc_DIRECT_CALL=0 fi printf "%s\n" "@%:@define MCA_opal_smsc_DIRECT_CALL $MCA_opal_smsc_DIRECT_CALL" >>confdefs.h printf "%s\n" "@%:@define MCA_opal_smsc_DIRECT_CALL_COMPONENT $MCA_opal_smsc_DIRECT_CALL_COMPONENT" >>confdefs.h printf "%s\n" "@%:@define MCA_opal_smsc_DIRECT_CALL_HEADER \"$MCA_opal_smsc_DIRECT_CALL_HEADER\"" >>confdefs.h MCA_opal_FRAMEWORKS="$MCA_opal_FRAMEWORKS threads" MCA_opal_FRAMEWORKS_SUBDIRS="$MCA_opal_FRAMEWORKS_SUBDIRS mca/threads" MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_opal_threads_ALL_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_opal_threads_DSO_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_opal_threads_STATIC_SUBDIRS)" mca_opal_framework_base_lib="mca/threads/libmca_threads.la" MCA_opal_FRAMEWORK_CORE_LIBS="$MCA_opal_FRAMEWORK_CORE_LIBS ${mca_opal_framework_base_lib} \$(MCA_opal_threads_STATIC_LTLIBS)" # # Arguments: none # # Dependencies: None # # Modifies: # none - see called tests # # configure threads # # # First see what kind of threads we are going to use # @%:@ Check whether --with-threads was given. if test ${with_threads+y} then : withval=$with_threads; fi # # Configure components # opal_show_subsubtitle "Configuring MCA framework threads" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=opal/mca/threads/base as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files opal/mca/threads/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework threads" >&5 printf %s "checking for no configure components in framework threads... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework threads" >&5 printf %s "checking for m4 configure components in framework threads... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: argobots, pthreads, qthreads" >&5 printf "%s\n" "argobots, pthreads, qthreads" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=1 components_last_result=0 opal_show_subsubsubtitle "MCA component threads:argobots (m4 configuration macro, priority 30)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/threads/argobots" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_threads" ; then if test "$DIRECT_threads" = "argobots" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_threads" = "1" then : want_component=0 fi if test "${DISABLE_threads_argobots}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_threads_argobots_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} component_compile_mode_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component threads:argobots compile mode" >&5 printf %s "checking for MCA component threads:argobots compile mode... " >&6; } component_compile_mode_tmp="static" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $component_compile_mode_tmp" >&5 printf "%s\n" "$component_compile_mode_tmp" >&6; } eval opal_threads_argobots_compile_mode=\$$component_compile_mode_tmp opal_var_scope_pop component_compile_mode_tmp ;; esac fi compile_mode=$opal_threads_argobots_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/threads/argobots/Makefile" if test "$with_threads" = "argobots" then : @%:@ Check whether --with-argobots was given. if test ${with_argobots+y} then : withval=$with_argobots; fi @%:@ Check whether --with-argobots-libdir was given. if test ${with_argobots_libdir+y} then : withval=$with_argobots_libdir; fi opal_check_argo_save_CPPFLAGS=$CPPFLAGS opal_check_argo_save_LDFLAGS=$LDFLAGS opal_check_argo_save_LIBS=$LIBS opal_argo_happy=yes opal_argo11_happy=yes # ****************************** START CHECK PACKAGE FOR argobots ****************************** oac_var_scope_push ${LINENO} check_package_opal_argo_save_CPPFLAGS check_package_opal_argo_save_LDFLAGS check_package_opal_argo_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_opal_argo_save_CPPFLAGS="${CPPFLAGS}" check_package_opal_argo_save_LDFLAGS="${LDFLAGS}" check_package_opal_argo_save_LIBS="${LIBS}" opal_argo_CPPFLAGS= opal_argo_LDFLAGS= opal_argo_STATIC_LDFLAGS= opal_argo_LIBS= opal_argo_STATIC_LIBS= { opal_argo_PC_MODULES=; unset opal_argo_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_argobots" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package argobots disabled by user" >&5 printf "%s\n" "$as_me: Package argobots disabled by user" >&6;} check_package_happy=0 elif test "${with_argobots}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_argobots}" ;; esac fi check_package_libdir= if test "${with_argobots_libdir}" = "no" -o "${with_argobots_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-argobots-libdir" "$LINENO" 5 elif test -n "${with_argobots_libdir}" then : check_package_libdir="${with_argobots_libdir}" fi check_package_incdir= if test "${with_argobots_incdir}" = "no" -o "${with_argobots_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-argobots-incdir" "$LINENO" 5 elif test -n "${with_argobots_incdir}" then : check_package_incdir="${with_argobots_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${argobots_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-argobots or --with-argobots-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-argobots only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for argobots pkg-config name" >&5 printf %s "checking for argobots pkg-config name... " >&6; } if test ${oac_cv_check_package_argobots_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_argobots_pcfilename="argobots" if test -n "${check_package_libdir}" then : oac_cv_check_package_argobots_pcfilename="${check_package_libdir}/pkgconfig/argobots.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_argobots_pcfilename="argobots" elif test -r "${check_package_prefix}/lib/pkgconfig/argobots.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/argobots.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found argobots in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-argobots-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_argobots_pcfilename="${check_package_prefix}/lib/pkgconfig/argobots.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/argobots.pc" then : oac_cv_check_package_argobots_pcfilename="${check_package_prefix}/lib64/pkgconfig/argobots.pc" else case e in @%:@( e) oac_cv_check_package_argobots_pcfilename="${check_package_prefix}/lib/pkgconfig/argobots.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_argobots_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_argobots_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if argobots pkg-config module exists" >&5 printf %s "checking if argobots pkg-config module exists... " >&6; } if test ${oac_cv_check_package_argobots_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_argobots_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_argobots_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : opal_argo_PC_MODULES=${oac_cv_check_package_argobots_pcfilename} oac_cv_check_package_argobots_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_argobots_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_argobots_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_argobots_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_argobots_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for argobots pkg-config cflags" >&5 printf %s "checking for argobots pkg-config cflags... " >&6; } if test ${oac_cv_check_package_argobots_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_argobots_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_argobots_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_argobots_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving argobots cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_argobots_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_argobots_pkg_config_cppflags" >&6; } opal_argo_CPPFLAGS="${oac_cv_check_package_argobots_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for argobots pkg-config ldflags" >&5 printf %s "checking for argobots pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_argobots_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_argobots_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_argobots_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_argobots_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving argobots ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_argobots_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_argobots_pkg_config_ldflags" >&6; } opal_argo_LDFLAGS="${oac_cv_check_package_argobots_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for argobots pkg-config static ldflags" >&5 printf %s "checking for argobots pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_argobots_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_argobots_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_argobots_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_argobots_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving argobots static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_argobots_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_argobots_pkg_config_static_ldflags" >&6; } opal_argo_STATIC_LDFLAGS="${oac_cv_check_package_argobots_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for argobots pkg-config libs" >&5 printf %s "checking for argobots pkg-config libs... " >&6; } if test ${oac_cv_check_package_argobots_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_argobots_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_argobots_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_argobots_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving argobots libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_argobots_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_argobots_pkg_config_libs" >&6; } opal_argo_LIBS="${oac_cv_check_package_argobots_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for argobots pkg-config static libs" >&5 printf %s "checking for argobots pkg-config static libs... " >&6; } if test ${oac_cv_check_package_argobots_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_argobots_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_argobots_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_argobots_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving argobots libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_argobots_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_argobots_pkg_config_static_libs" >&6; } opal_argo_STATIC_LIBS="${oac_cv_check_package_argobots_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${argobots_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-argobots argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for argobots wrapper compiler" >&5 printf %s "checking for argobots wrapper compiler... " >&6; } if test ${oac_cv_check_package_argobots_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_argobots_wrapper_compiler="argobotscc" else case e in @%:@( e) oac_cv_check_package_argobots_wrapper_compiler="${check_package_prefix}/bin/argobotscc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_argobots_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_argobots_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if argobots wrapper compiler works" >&5 printf %s "checking if argobots wrapper compiler works... " >&6; } if test ${oac_cv_check_package_argobots_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_argobots_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_argobots_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_argobots_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_argobots_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_argobots_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_argobots_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_argobots_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for argobots wrapper compiler cppflags" >&5 printf %s "checking for argobots wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_argobots_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_argobots_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_argobots_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_argobots_wrapper_compiler_cppflags}" then : oac_cv_check_package_argobots_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_argobots_wrapper_compiler_cppflags="${oac_cv_check_package_argobots_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving argobots cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_argobots_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_argobots_wrapper_compiler_cppflags" >&6; } opal_argo_CPPFLAGS="${oac_cv_check_package_argobots_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for argobots wrapper compiler ldflags" >&5 printf %s "checking for argobots wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_argobots_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_argobots_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_argobots_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_argobots_wrapper_compiler_ldflags}" then : oac_cv_check_package_argobots_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_argobots_wrapper_compiler_ldflags="${oac_cv_check_package_argobots_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving argobots ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_argobots_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_argobots_wrapper_compiler_ldflags" >&6; } opal_argo_LDFLAGS="${oac_cv_check_package_argobots_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for argobots wrapper compiler static ldflags" >&5 printf %s "checking for argobots wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_argobots_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_argobots_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_argobots_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_argobots_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_argobots_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_argobots_wrapper_compiler_static_ldflags="${oac_cv_check_package_argobots_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving argobots static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_argobots_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_argobots_wrapper_compiler_static_ldflags" >&6; } opal_argo_STATIC_LDFLAGS="${oac_cv_check_package_argobots_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for argobots wrapper compiler libs" >&5 printf %s "checking for argobots wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_argobots_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_argobots_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_argobots_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_argobots_wrapper_compiler_libs}" then : oac_cv_check_package_argobots_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_argobots_wrapper_compiler_libs="${oac_cv_check_package_argobots_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving argobots libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_argobots_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_argobots_wrapper_compiler_libs" >&6; } opal_argo_LIBS="$oac_cv_check_package_argobots_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for argobots wrapper compiler static libs" >&5 printf %s "checking for argobots wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_argobots_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_argobots_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_argobots_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_argobots_wrapper_compiler_static_libs}" then : oac_cv_check_package_argobots_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_argobots_wrapper_compiler_static_libs="${oac_cv_check_package_argobots_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving argobots static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_argobots_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_argobots_wrapper_compiler_static_libs" >&6; } opal_argo_STATIC_LIBS="${oac_cv_check_package_argobots_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "abt.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "abt" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for argobots header at ${check_package_generic_incdir}" >&5 printf %s "checking for argobots header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 opal_argo_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for argobots library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for argobots library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 opal_argo_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for argobots library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for argobots library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-argobots-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 opal_argo_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 opal_argo_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 opal_argo_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for argobots in default search paths" >&5 printf "%s\n" "$as_me: Searching for argobots in default search paths" >&6;} argobots_CPPFLAGS= argobots_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in abt ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${opal_argo_LIBS}" then : opal_argo_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) opal_argo_LIBS="${opal_argo_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${opal_argo_STATIC_LIBS}" then : opal_argo_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) opal_argo_STATIC_LIBS="${opal_argo_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for argobots cppflags" >&5 printf %s "checking for argobots cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_argo_CPPFLAGS" >&5 printf "%s\n" "$opal_argo_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for argobots ldflags" >&5 printf %s "checking for argobots ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_argo_LDFLAGS" >&5 printf "%s\n" "$opal_argo_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for argobots libs" >&5 printf %s "checking for argobots libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_argo_LIBS" >&5 printf "%s\n" "$opal_argo_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for argobots static libs" >&5 printf %s "checking for argobots static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_argo_STATIC_LIBS" >&5 printf "%s\n" "$opal_argo_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${opal_argo_LDFLAGS}" then : opal_argo_LDFLAGS="${opal_argo_STATIC_LDFLAGS}" else case e in @%:@( e) opal_argo_LDFLAGS="${opal_argo_LDFLAGS} ${opal_argo_STATIC_LDFLAGS}" ;; esac fi if test -z "${opal_argo_LIBS}" then : opal_argo_LIBS="${opal_argo_STATIC_LIBS}" else case e in @%:@( e) opal_argo_LIBS="${opal_argo_LIBS} ${opal_argo_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "abt.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${opal_argo_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${opal_argo_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${opal_argo_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${opal_argo_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${opal_argo_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${opal_argo_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "ABT_init" "ac_cv_func_ABT_init" if test "x$ac_cv_func_ABT_init" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if argobots requires libnl v1 or v3" >&5 printf %s "checking if argobots requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_argobots+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void ABT_init (void); int main(int argc, char *argv[]) { ABT_init (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib argobots" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib argobots" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_argobots=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_argobots" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_argobots" >&6; } result_msg=$opal_libnl_sanity_check_cv_argobots this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, argobots links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, argobots links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libargobots (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libargobots (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libargobots." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libargobots." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas argobots requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas argobots requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libargobots (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libargobots (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libargobots." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libargobots." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs argobots" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas argobots requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas argobots requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libargobots (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libargobots (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libargobots." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libargobots." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs argobots" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi opal_argo_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : opal_argo_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) opal_argo_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi opal_argo_happy=yes else case e in @%:@( e) if test "${with_argobots}" = "no" then : opal_argo_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) opal_argo_SUMMARY="no (not found)" ;; esac fi { opal_argo_CPPFLAGS=; unset opal_argo_CPPFLAGS;} { opal_argo_LDFLAGS=; unset opal_argo_LDFLAGS;} { opal_argo_STATIC_LDFLAGS=; unset opal_argo_STATIC_LDFLAGS;} { opal_argo_LIBS=; unset opal_argo_LIBS;} { opal_argo_STATIC_LIBS=; unset opal_argo_STATIC_LIBS;} opal_argo_happy=no ;; esac fi CPPFLAGS="${check_package_opal_argo_save_CPPFLAGS}" LDFLAGS="${check_package_opal_argo_save_LDFLAGS}" LIBS="${check_package_opal_argo_save_LIBS}" oac_var_scope_pop check_package_opal_argo_save_CPPFLAGS check_package_opal_argo_save_LDFLAGS check_package_opal_argo_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR argobots ****************************** # ABT_unit_get_thread() is a new Argobots 1.1 API. # It was introduced after static mutex/cond initializers. if test $opal_argo_happy = yes then : for ac_func in ABT_unit_get_thread do : ac_fn_c_check_func "$LINENO" "ABT_unit_get_thread" "ac_cv_func_ABT_unit_get_thread" if test "x$ac_cv_func_ABT_unit_get_thread" = xyes then : printf "%s\n" "@%:@define HAVE_ABT_UNIT_GET_THREAD 1" >>confdefs.h else case e in @%:@( e) opal_argo11_happy="yes" ;; esac fi done fi if test $opal_argo_happy = yes && test $opal_argo11_happy = no then : as_fn_error $? "Open MPI requires Argobots 1.1 or newer." "$LINENO" 5 fi if test $opal_argo_happy = yes then : TPKG_CFLAGS="$opal_argo_CPPFLAGS" TPKG_FCFLAGS="$opal_argo_CPPFLAGS" TPKG_CXXFLAGS="$opal_argo_CPPFLAGS" TPKG_CPPFLAGS="$opal_argo_CPPFLAGS" TPKG_CXXCPPFLAGS="$opal_argo_CPPFLAGS" TPKG_LDFLAGS="$opal_argo_LDFLAGS" TPKG_LIBS="$opal_argo_LIBS" fi CPPFLAGS="${opal_check_argo_save_CPPFLAGS} ${opal_argo_CPPFLAGS}" LDFLAGS=$opal_check_argo_save_LDFLAGS LIBS=$opal_check_argo_save_LIBS if test "$opal_argo_happy" = "yes" then : argobots_threads_works=1 else case e in @%:@( e) argobots_threads_works=0 ;; esac fi else case e in @%:@( e) argobots_threads_works=0 ;; esac fi if test "$argobots_threads_works" = "1" then : should_build=$should_build opal_thread_type_found="argobots" else case e in @%:@( e) should_build=0 ;; esac fi opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/threads/argobots/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components argobots" if test "$compile_mode" = "dso" ; then dso_components="$dso_components argobots" else if test "threads" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/threads/argobots/lib${OPAL_LIB_NAME}mca_threads_argobots.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/threads/argobots/libmca_threads_argobots.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_threads_argobots_component;" >> $outfile.extern echo " &mca_threads_argobots_component, " >> $outfile.struct static_components="$static_components argobots" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component threads:argobots can compile" >&5 printf %s "checking if MCA component threads:argobots can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_threads" = "argobots" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_threads_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** threads component argobots was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_threads" = "argobots" ; then as_fn_error $? "*** threads component argobots was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${threads_argobots_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${threads_argobots_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${threads_argobots_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${threads_argobots_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${threads_argobots_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${threads_argobots_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$threads_argobots_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=1 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $threads_argobots_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring threads_argobots_WRAPPER_EXTRA_CPPFLAGS ($threads_argobots_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring threads_argobots_WRAPPER_EXTRA_CPPFLAGS ($threads_argobots_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component threads:argobots can compile" >&5 printf %s "checking if MCA component threads:argobots can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_threads" = "argobots" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"argobots\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"argobots\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_threads" ; then if test "$DIRECT_threads" = "argobots" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"argobots\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"argobots\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components argobots" ;; esac fi if test "$should_build" = "1" then : opal_thread_type_found="argobots" printf "%s\n" "@%:@define MCA_threads_base_include_HEADER \"opal/mca/threads/argobots/threads_argobots_threads.h\"" >>confdefs.h printf "%s\n" "@%:@define MCA_threads_mutex_base_include_HEADER \"opal/mca/threads/argobots/threads_argobots_mutex.h\"" >>confdefs.h printf "%s\n" "@%:@define MCA_threads_tsd_base_include_HEADER \"opal/mca/threads/argobots/threads_argobots_tsd.h\"" >>confdefs.h THREAD_CFLAGS="$TPKG_CFLAGS" THREAD_FCFLAGS="$TPKG_FCFLAGS" THREAD_CXXFLAGS="$TPKG_CXXFLAGS" THREAD_CPPFLAGS="$TPKG_CPPFLAGS" THREAD_CXXCPPFLAGS="$TPKG_CXXCPPFLAGS" THREAD_LDFLAGS="$TPKG_LDFLAGS" THREAD_LIBS="$TPKG_LIBS" LIBS="$LIBS $THREAD_LIBS" LDFLAGS="$LDFLAGS $THREAD_LDFLAGS" fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_threads_argobots_DSO=1 else case e in @%:@( e) BUILD_opal_threads_argobots_DSO=0 ;; esac fi if test "$BUILD_opal_threads_argobots_DSO" = "1"; then MCA_BUILD_opal_threads_argobots_DSO_TRUE= MCA_BUILD_opal_threads_argobots_DSO_FALSE='#' else MCA_BUILD_opal_threads_argobots_DSO_TRUE='#' MCA_BUILD_opal_threads_argobots_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test $components_last_result -eq 1 then : components_looking_for_succeed=0 fi opal_show_subsubsubtitle "MCA component threads:pthreads (m4 configuration macro, priority 30)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/threads/pthreads" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_threads" ; then if test "$DIRECT_threads" = "pthreads" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_threads" = "1" then : want_component=0 fi if test "${DISABLE_threads_pthreads}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_threads_pthreads_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} component_compile_mode_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component threads:pthreads compile mode" >&5 printf %s "checking for MCA component threads:pthreads compile mode... " >&6; } component_compile_mode_tmp="static" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $component_compile_mode_tmp" >&5 printf "%s\n" "$component_compile_mode_tmp" >&6; } eval opal_threads_pthreads_compile_mode=\$$component_compile_mode_tmp opal_var_scope_pop component_compile_mode_tmp ;; esac fi compile_mode=$opal_threads_pthreads_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/threads/pthreads/Makefile" opal_var_scope_push ${LINENO} posix_thread_works if test -z "$with_threads" || test "$with_threads" = "pthreads" || test "$with_threads" = "yes" then : opal_var_scope_push ${LINENO} opal_pthreads_result defval opal_pthread_c_success opal_pthread_fortran_success opal_pthread_cxx_success orig_CFLAGS orig_FCFLAGS orig_CXXFLAGS orig_CPPFLAGS orig_CXXCPPFLAGS orig_LDFLAGS orig_LIBS opal_pthread_c_success=0 opal_pthread_fortran_success=0 opal_pthread_cxx_success=0 orig_CFLAGS="$CFLAGS" orig_FCFLAGS="$FCFLAGS" orig_CXXFLAGS="$CXXFLAGS" orig_CPPFLAGS="$CPPFLAGS" orig_CXXCPPFLAGS="$CXXCPPFLAGS" orig_LDFLAGS="$LDFLAGS" orig_LIBS="$LIBS" TPKG_CFLAGS= TPKG_FCFLAGS= TPKG_CXXFLAGS= TPKG_CPPFLAGS= TPKG_CXXCPPFLAGS= TPKG_LDFLAGS= TPKG_LIBS= # Try with the basics, mam. # BEGIN: OPAL_INTL_POSIX_THREADS_PLAIN # # Check if can compile without any special flags # we throw -D_REENTRANT or -D_THREAD_SAFE in here, just in # case. Some systems (OS X, for example) generally don't need # the defines, but then will on one system header here or there # why take chances? # # Only run C++ and Fortran if those compilers were found # # C compiler # if test "$opal_pthread_c_success" = "0"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if C compiler and POSIX threads work as is" >&5 printf %s "checking if C compiler and POSIX threads work as is... " >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # BEGIN: OPAL_INTL_PTHREAD_TRY_LINK # # Make sure that we can run a small application in C or C++, which # ever is the current language. Do make sure that C or C++ is the # current language. # # As long as this is not being run.... # pthread_t may be anything from an int to a struct -- init with self-tid. # cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int i = 3; pthread_t me, newthread; void cleanup_routine(void *foo); void *thread_main(void *foo); void cleanup_routine(void *foo) { i = 4; } void *thread_main(void *foo) { i = 2; return (void*) &i; } int main(int argc, char* argv[]) { pthread_attr_t attr; me = pthread_self(); pthread_atfork(NULL, NULL, NULL); pthread_attr_init(&attr); pthread_cleanup_push(cleanup_routine, 0); pthread_create(&newthread, &attr, thread_main, 0); pthread_join(newthread, 0); pthread_cleanup_pop(0); return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : opal_pthread_c_success=1 else case e in @%:@( e) opal_pthread_c_success=0 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext # END: OPAL_INTL_PTHREAD_TRY_LINK 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 "$opal_pthread_c_success" = "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 if test "$CXX" != "no" then : # # C++ compiler # if test "$opal_pthread_cxx_success" = "0"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if C++ compiler and POSIX threads work as is" >&5 printf %s "checking if C++ compiler and POSIX threads work as is... " >&6; } 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 # BEGIN: OPAL_INTL_PTHREAD_TRY_LINK # # Make sure that we can run a small application in C or C++, which # ever is the current language. Do make sure that C or C++ is the # current language. # # As long as this is not being run.... # pthread_t may be anything from an int to a struct -- init with self-tid. # cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int i = 3; pthread_t me, newthread; void cleanup_routine(void *foo); void *thread_main(void *foo); void cleanup_routine(void *foo) { i = 4; } void *thread_main(void *foo) { i = 2; return (void*) &i; } int main(int argc, char* argv[]) { pthread_attr_t attr; me = pthread_self(); pthread_atfork(NULL, NULL, NULL); pthread_attr_init(&attr); pthread_cleanup_push(cleanup_routine, 0); pthread_create(&newthread, &attr, thread_main, 0); pthread_join(newthread, 0); pthread_cleanup_pop(0); return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO" then : opal_pthread_cxx_success=1 else case e in @%:@( e) opal_pthread_cxx_success=0 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext # END: OPAL_INTL_PTHREAD_TRY_LINK 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 "$opal_pthread_cxx_success" = "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 else case e in @%:@( e) opal_pthread_cxx_success=0 ;; esac fi if test "$FC" != "no" then : # # Fortran compiler # if test "$opal_pthread_fortran_success" = "0" && \ test "$OMPI_TRY_FORTRAN_BINDINGS" -gt "$OMPI_FORTRAN_NO_BINDINGS" && \ test $ompi_fortran_happy -eq 1; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler and POSIX threads work as is" >&5 printf %s "checking if Fortran compiler and POSIX threads work as is... " >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # BEGIN: OPAL_INTL_PTHREAD_TRY_LINK_FORTRAN # # Make sure that we can run a small application in Fortran, with # pthreads living in a C object file opal_var_scope_push ${LINENO} HAPPY opal_conftest_h # Fortran module cat > conftestf.f < conftest.c < #include #include $opal_conftest_h #ifdef __cplusplus extern "C" { #endif int i = 3; pthread_t me, newthread; void cleanup_routine(void *foo); void *thread_main(void *foo); void pthreadtest_f(void); void pthreadtest(void); void pthreadtest_(void); void pthreadtest__(void); void PTHREADTEST(void); void cleanup_routine(void *foo) { i = 4; } void *thread_main(void *foo) { i = 2; return (void*) &i; } void pthreadtest_f(void) { pthread_attr_t attr; me = pthread_self(); pthread_atfork(NULL, NULL, NULL); pthread_attr_init(&attr); pthread_cleanup_push(cleanup_routine, 0); pthread_create(&newthread, &attr, thread_main, 0); pthread_join(newthread, 0); pthread_cleanup_pop(0); } void pthreadtest(void) { pthreadtest_f(); } void pthreadtest_(void) { pthreadtest_f(); } void pthreadtest__(void) { pthreadtest_f(); } void PTHREADTEST(void) { pthreadtest_f(); } #ifdef __cplusplus } #endif EOF # Try the compile printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : HAPPY=1 else case e in @%:@( e) HAPPY=0 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) HAPPY=0 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} if test "$HAPPY" = "1"; then opal_pthread_fortran_success=1 else if test -n "1" then : printf "%s\n" "configure:__oline__: here is the C program:" >&5 else case e in @%:@( e) printf "%s\n" here is the C program: >&5 ;; esac fi if test -n "conftest.c" && test -f "conftest.c" then : cat conftest.c >&5 fi if test -f conftest.h; then if test -n "1" then : printf "%s\n" "configure:__oline__: here is contest.h:" >&5 else case e in @%:@( e) printf "%s\n" here is contest.h: >&5 ;; esac fi if test -n "conftest.h" && test -f "conftest.h" then : cat conftest.h >&5 fi fi if test -n "1" then : printf "%s\n" "configure:__oline__: here is the fortran program:" >&5 else case e in @%:@( e) printf "%s\n" here is the fortran program: >&5 ;; esac fi if test -n "conftestf.f" && test -f "conftestf.f" then : cat conftestf.f >&5 fi opal_pthread_fortran_success=0 fi rm -rf conftest* opal_var_scope_pop HAPPY opal_conftest_h # END: OPAL_INTL_PTHREAD_TRY_LINK_FORTRAN 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 "$opal_pthread_fortran_success" = "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 else case e in @%:@( e) opal_pthread_fortran_success=0 ;; esac fi # End: OPAL_INTL_POSIX_THREADS_PLAIN # Try the super-special compiler flags. # Begin: OPAL_INTL_POSIX_THREADS_SPECIAL_FLAGS # # If above didn't work, try some super-special compiler flags # that get evaluated to the "right" things. # # -Kthread: # -kthread: FreeBSD kernel threads # -pthread: Modern GCC (most all platforms) # -pthreads: GCC on solaris # -mthreads: # -mt: Solaris native compilers / HP-UX aCC # # Put -mt before -mthreads because HP-UX aCC will properly compile # with -mthreads (reading as -mt), but emit a warning about unknown # flags hreads. Stupid compilers. opal_var_scope_push ${LINENO} pflags case "${host_cpu}-${host_os}" in *solaris*) pflags="-pthread -pthreads -mt" ;; *) pflags="-Kthread -kthread -pthread -pthreads -mt -mthreads" ;; esac # Only run C++ and Fortran if those compilers were found # # C compiler # if test "$opal_pthread_c_success" = "0"; then for pf in $pflags; do { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if C compiler and POSIX threads work with $pf" >&5 printf %s "checking if C compiler and POSIX threads work with $pf... " >&6; } CFLAGS="$orig_CFLAGS $pf" 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 # BEGIN: OPAL_INTL_PTHREAD_TRY_LINK # # Make sure that we can run a small application in C or C++, which # ever is the current language. Do make sure that C or C++ is the # current language. # # As long as this is not being run.... # pthread_t may be anything from an int to a struct -- init with self-tid. # cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int i = 3; pthread_t me, newthread; void cleanup_routine(void *foo); void *thread_main(void *foo); void cleanup_routine(void *foo) { i = 4; } void *thread_main(void *foo) { i = 2; return (void*) &i; } int main(int argc, char* argv[]) { pthread_attr_t attr; me = pthread_self(); pthread_atfork(NULL, NULL, NULL); pthread_attr_init(&attr); pthread_cleanup_push(cleanup_routine, 0); pthread_create(&newthread, &attr, thread_main, 0); pthread_join(newthread, 0); pthread_cleanup_pop(0); return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : opal_pthread_c_success=1 else case e in @%:@( e) opal_pthread_c_success=0 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext # END: OPAL_INTL_PTHREAD_TRY_LINK 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 "$opal_pthread_c_success" = "1"; then TPKG_CFLAGS="$pf" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } break else TPKG_CFLAGS= CFLAGS="$orig_CFLAGS" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi done fi if test "$CXX" != "no" then : # # C++ compiler # if test "$opal_pthread_cxx_success" = "0"; then for pf in $pflags; do { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if C++ compiler and POSIX threads work with $pf" >&5 printf %s "checking if C++ compiler and POSIX threads work with $pf... " >&6; } CXXFLAGS="$orig_CXXFLAGS $pf" 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 # BEGIN: OPAL_INTL_PTHREAD_TRY_LINK # # Make sure that we can run a small application in C or C++, which # ever is the current language. Do make sure that C or C++ is the # current language. # # As long as this is not being run.... # pthread_t may be anything from an int to a struct -- init with self-tid. # cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int i = 3; pthread_t me, newthread; void cleanup_routine(void *foo); void *thread_main(void *foo); void cleanup_routine(void *foo) { i = 4; } void *thread_main(void *foo) { i = 2; return (void*) &i; } int main(int argc, char* argv[]) { pthread_attr_t attr; me = pthread_self(); pthread_atfork(NULL, NULL, NULL); pthread_attr_init(&attr); pthread_cleanup_push(cleanup_routine, 0); pthread_create(&newthread, &attr, thread_main, 0); pthread_join(newthread, 0); pthread_cleanup_pop(0); return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO" then : opal_pthread_cxx_success=1 else case e in @%:@( e) opal_pthread_cxx_success=0 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext # END: OPAL_INTL_PTHREAD_TRY_LINK 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 "$opal_pthread_cxx_success" = "1"; then TPKG_CXXFLAGS="$pf" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } break else TPKG_CXXFLAGS= CXXFLAGS="$orig_CXXFLAGS" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi done fi else case e in @%:@( e) opal_pthread_cxx_success=0 ;; esac fi if test "$FC" != "no" then : # # Fortran compiler # if test "$opal_pthread_fortran_success" = "0" && \ test "$OMPI_TRY_FORTRAN_BINDINGS" -gt "$OMPI_FORTRAN_NO_BINDINGS" && \ test $ompi_fortran_happy -eq 1; then for pf in $pflags; do { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler and POSIX threads work with $pf" >&5 printf %s "checking if Fortran compiler and POSIX threads work with $pf... " >&6; } FCFLAGS="$orig_FCFLAGS $pf" 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 # BEGIN: OPAL_INTL_PTHREAD_TRY_LINK_FORTRAN # # Make sure that we can run a small application in Fortran, with # pthreads living in a C object file opal_var_scope_push ${LINENO} HAPPY opal_conftest_h # Fortran module cat > conftestf.f < conftest.c < #include #include $opal_conftest_h #ifdef __cplusplus extern "C" { #endif int i = 3; pthread_t me, newthread; void cleanup_routine(void *foo); void *thread_main(void *foo); void pthreadtest_f(void); void pthreadtest(void); void pthreadtest_(void); void pthreadtest__(void); void PTHREADTEST(void); void cleanup_routine(void *foo) { i = 4; } void *thread_main(void *foo) { i = 2; return (void*) &i; } void pthreadtest_f(void) { pthread_attr_t attr; me = pthread_self(); pthread_atfork(NULL, NULL, NULL); pthread_attr_init(&attr); pthread_cleanup_push(cleanup_routine, 0); pthread_create(&newthread, &attr, thread_main, 0); pthread_join(newthread, 0); pthread_cleanup_pop(0); } void pthreadtest(void) { pthreadtest_f(); } void pthreadtest_(void) { pthreadtest_f(); } void pthreadtest__(void) { pthreadtest_f(); } void PTHREADTEST(void) { pthreadtest_f(); } #ifdef __cplusplus } #endif EOF # Try the compile printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : HAPPY=1 else case e in @%:@( e) HAPPY=0 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) HAPPY=0 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} if test "$HAPPY" = "1"; then opal_pthread_fortran_success=1 else if test -n "1" then : printf "%s\n" "configure:__oline__: here is the C program:" >&5 else case e in @%:@( e) printf "%s\n" here is the C program: >&5 ;; esac fi if test -n "conftest.c" && test -f "conftest.c" then : cat conftest.c >&5 fi if test -f conftest.h; then if test -n "1" then : printf "%s\n" "configure:__oline__: here is contest.h:" >&5 else case e in @%:@( e) printf "%s\n" here is contest.h: >&5 ;; esac fi if test -n "conftest.h" && test -f "conftest.h" then : cat conftest.h >&5 fi fi if test -n "1" then : printf "%s\n" "configure:__oline__: here is the fortran program:" >&5 else case e in @%:@( e) printf "%s\n" here is the fortran program: >&5 ;; esac fi if test -n "conftestf.f" && test -f "conftestf.f" then : cat conftestf.f >&5 fi opal_pthread_fortran_success=0 fi rm -rf conftest* opal_var_scope_pop HAPPY opal_conftest_h # END: OPAL_INTL_PTHREAD_TRY_LINK_FORTRAN 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 "$opal_pthread_fortran_success" = "1"; then TPKG_FCFLAGS="$pf" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } break else TPKG_FCFLAGS= FCFLAGS="$orig_FCFLAGS" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi done fi else case e in @%:@( e) opal_pthread_fortran_success=0 ;; esac fi opal_var_scope_pop pflags # End: OPAL_INTL_POSIX_THREADS_SPECIAL_FLAGS # Try the normal linking methods (that's no fun) # Begin: OPAL_INTL_POSIX_THREADS_LIBS # # if we can't find a super-special compiler flags, try some libraries. # we throw -D_REENTRANT or -D_THREAD_SAFE in here, just in case. Some # systems (OS X, for example) generally don't need the defines, but # then will on one system header here or there why take chances? # # libpthreads: AIX - must check before libpthread # liblthread: LinuxThreads on FreeBSD # libpthread: The usual place (like we can define usual!) opal_var_scope_push ${LINENO} plibs plibs="-lpthreads -llthread -lpthread" # Only run C++ and Fortran if those compilers were found # # C compiler # if test "$opal_pthread_c_success" = "0"; then for pl in $plibs; do { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if C compiler and POSIX threads work with $pl" >&5 printf %s "checking if C compiler and POSIX threads work with $pl... " >&6; } case "${host_cpu}-${host-_os}" in *-aix* | *-freebsd*) if test "`echo $CPPFLAGS | $GREP 'D_THREAD_SAFE'`" = ""; then TPKG_CPPFLAGS="-D_THREAD_SAFE" CPPFLAGS="$CPPFLAGS $TPKG_CPPFLAGS" fi ;; *) if test "`echo $CPPFLAGS | $GREP 'D_REENTRANT'`" = ""; then TPKG_CPPFLAGS="-D_REENTRANT" CPPFLAGS="$CPPFLAGS $TPKG_CPPFLAGS" fi ;; esac LIBS="$orig_LIBS $pl" 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 # BEGIN: OPAL_INTL_PTHREAD_TRY_LINK # # Make sure that we can run a small application in C or C++, which # ever is the current language. Do make sure that C or C++ is the # current language. # # As long as this is not being run.... # pthread_t may be anything from an int to a struct -- init with self-tid. # cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int i = 3; pthread_t me, newthread; void cleanup_routine(void *foo); void *thread_main(void *foo); void cleanup_routine(void *foo) { i = 4; } void *thread_main(void *foo) { i = 2; return (void*) &i; } int main(int argc, char* argv[]) { pthread_attr_t attr; me = pthread_self(); pthread_atfork(NULL, NULL, NULL); pthread_attr_init(&attr); pthread_cleanup_push(cleanup_routine, 0); pthread_create(&newthread, &attr, thread_main, 0); pthread_join(newthread, 0); pthread_cleanup_pop(0); return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : opal_pthread_c_success=1 else case e in @%:@( e) opal_pthread_c_success=0 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext # END: OPAL_INTL_PTHREAD_TRY_LINK 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 "$opal_pthread_c_success" = "1"; then TPKG_LIBS="$pl" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } else TPKG_CPPFLAGS= CPPFLAGS="$orig_CPPFLAGS" LIBS="$orig_LIBS" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi done fi if test "$CXX" != "no" then : # # C++ compiler # if test "$opal_pthread_cxx_success" = "0"; then if test ! "$opal_pthread_c_success" = "0" && test ! "$TPKG_LIBS" = "" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if C++ compiler and POSIX threads work with $TPKG_LIBS" >&5 printf %s "checking if C++ compiler and POSIX threads work with $TPKG_LIBS... " >&6; } case "${host_cpu}-${host-_os}" in *-aix* | *-freebsd*) if test "`echo $CXXCPPFLAGS | $GREP 'D_THREAD_SAFE'`" = ""; then TPKG_CXXCPPFLAGS="-D_THREAD_SAFE" CXXCPPFLAGS="$CXXCPPFLAGS $TPKG_CXXCPPFLAGS" fi ;; *) if test "`echo $CXXCPPFLAGS | $GREP 'D_REENTRANT'`" = ""; then TPKG_CXXCPPFLAGS="-D_REENTRANT" CXXCPPFLAGS="$CXXCPPFLAGS $TPKG_CXXCPPFLAGS" fi ;; esac LIBS="$orig_LIBS $TPKG_LIBS" 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 # BEGIN: OPAL_INTL_PTHREAD_TRY_LINK # # Make sure that we can run a small application in C or C++, which # ever is the current language. Do make sure that C or C++ is the # current language. # # As long as this is not being run.... # pthread_t may be anything from an int to a struct -- init with self-tid. # cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int i = 3; pthread_t me, newthread; void cleanup_routine(void *foo); void *thread_main(void *foo); void cleanup_routine(void *foo) { i = 4; } void *thread_main(void *foo) { i = 2; return (void*) &i; } int main(int argc, char* argv[]) { pthread_attr_t attr; me = pthread_self(); pthread_atfork(NULL, NULL, NULL); pthread_attr_init(&attr); pthread_cleanup_push(cleanup_routine, 0); pthread_create(&newthread, &attr, thread_main, 0); pthread_join(newthread, 0); pthread_cleanup_pop(0); return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO" then : opal_pthread_cxx_success=1 else case e in @%:@( e) opal_pthread_cxx_success=0 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext # END: OPAL_INTL_PTHREAD_TRY_LINK 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 "$opal_pthread_cxx_success" = "1"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } else CXXCPPFLAGS="$orig_CXXCPPFLAGS" LIBS="$orig_LIBS" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } as_fn_error $? "Can not find working threads configuration. aborting" "$LINENO" 5 fi else for pl in $plibs; do { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if C++ compiler and POSIX threads work with $pl" >&5 printf %s "checking if C++ compiler and POSIX threads work with $pl... " >&6; } case "${host_cpu}-${host-_os}" in *-aix* | *-freebsd*) if test "`echo $CXXCPPFLAGS | $GREP 'D_THREAD_SAFE'`" = ""; then TPKG_CXXCPPFLAGS="-D_THREAD_SAFE" CXXCPPFLAGS="$CXXCPPFLAGS $TPKG_CXXCPPFLAGS" fi ;; *) if test "`echo $CXXCPPFLAGS | $GREP 'D_REENTRANT'`" = ""; then TPKG_CXXCPPFLAGS="-D_REENTRANT" CXXCPPFLAGS="$CXXCPPFLAGS $TPKG_CXXCPPFLAGS" fi ;; esac LIBS="$orig_LIBS $pl" 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 # BEGIN: OPAL_INTL_PTHREAD_TRY_LINK # # Make sure that we can run a small application in C or C++, which # ever is the current language. Do make sure that C or C++ is the # current language. # # As long as this is not being run.... # pthread_t may be anything from an int to a struct -- init with self-tid. # cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int i = 3; pthread_t me, newthread; void cleanup_routine(void *foo); void *thread_main(void *foo); void cleanup_routine(void *foo) { i = 4; } void *thread_main(void *foo) { i = 2; return (void*) &i; } int main(int argc, char* argv[]) { pthread_attr_t attr; me = pthread_self(); pthread_atfork(NULL, NULL, NULL); pthread_attr_init(&attr); pthread_cleanup_push(cleanup_routine, 0); pthread_create(&newthread, &attr, thread_main, 0); pthread_join(newthread, 0); pthread_cleanup_pop(0); return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO" then : opal_pthread_cxx_success=1 else case e in @%:@( e) opal_pthread_cxx_success=0 ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext # END: OPAL_INTL_PTHREAD_TRY_LINK 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 "$opal_pthread_cxx_success" = "1"; then TPKG_LIBS="$pl" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } else TPKG_CXXCPPFLAGS= CXXCPPFLAGS="$orig_CXXCPPFLAGS" LIBS="$orig_LIBS" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi done fi fi else case e in @%:@( e) opal_pthread_cxx_success=0 ;; esac fi if test "$FC" != "no" then : # # Fortran compiler # if test $opal_pthread_fortran_success -eq 0 && \ test "$OMPI_TRY_FORTRAN_BINDINGS" -gt "$OMPI_FORTRAN_NO_BINDINGS" && \ test $ompi_fortran_happy -eq 1; then if test $opal_pthread_c_success -ne 0 && test ! "$TPKG_LIBS" = "" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler and POSIX threads work with $TPKG_LIBS" >&5 printf %s "checking if Fortran compiler and POSIX threads work with $TPKG_LIBS... " >&6; } LIBS="$orig_LIBS $TPKG_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 # BEGIN: OPAL_INTL_PTHREAD_TRY_LINK_FORTRAN # # Make sure that we can run a small application in Fortran, with # pthreads living in a C object file opal_var_scope_push ${LINENO} HAPPY opal_conftest_h # Fortran module cat > conftestf.f < conftest.c < #include #include $opal_conftest_h #ifdef __cplusplus extern "C" { #endif int i = 3; pthread_t me, newthread; void cleanup_routine(void *foo); void *thread_main(void *foo); void pthreadtest_f(void); void pthreadtest(void); void pthreadtest_(void); void pthreadtest__(void); void PTHREADTEST(void); void cleanup_routine(void *foo) { i = 4; } void *thread_main(void *foo) { i = 2; return (void*) &i; } void pthreadtest_f(void) { pthread_attr_t attr; me = pthread_self(); pthread_atfork(NULL, NULL, NULL); pthread_attr_init(&attr); pthread_cleanup_push(cleanup_routine, 0); pthread_create(&newthread, &attr, thread_main, 0); pthread_join(newthread, 0); pthread_cleanup_pop(0); } void pthreadtest(void) { pthreadtest_f(); } void pthreadtest_(void) { pthreadtest_f(); } void pthreadtest__(void) { pthreadtest_f(); } void PTHREADTEST(void) { pthreadtest_f(); } #ifdef __cplusplus } #endif EOF # Try the compile printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : HAPPY=1 else case e in @%:@( e) HAPPY=0 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) HAPPY=0 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} if test "$HAPPY" = "1"; then opal_pthread_fortran_success=1 else if test -n "1" then : printf "%s\n" "configure:__oline__: here is the C program:" >&5 else case e in @%:@( e) printf "%s\n" here is the C program: >&5 ;; esac fi if test -n "conftest.c" && test -f "conftest.c" then : cat conftest.c >&5 fi if test -f conftest.h; then if test -n "1" then : printf "%s\n" "configure:__oline__: here is contest.h:" >&5 else case e in @%:@( e) printf "%s\n" here is contest.h: >&5 ;; esac fi if test -n "conftest.h" && test -f "conftest.h" then : cat conftest.h >&5 fi fi if test -n "1" then : printf "%s\n" "configure:__oline__: here is the fortran program:" >&5 else case e in @%:@( e) printf "%s\n" here is the fortran program: >&5 ;; esac fi if test -n "conftestf.f" && test -f "conftestf.f" then : cat conftestf.f >&5 fi opal_pthread_fortran_success=0 fi rm -rf conftest* opal_var_scope_pop HAPPY opal_conftest_h # END: OPAL_INTL_PTHREAD_TRY_LINK_FORTRAN 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 "$opal_pthread_fortran_success" = "1"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } else LIBS="$orig_LIBS" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } as_fn_error $? "Can not find working threads configuration. aborting" "$LINENO" 5 fi else for pl in $plibs; do { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler and POSIX threads work with $pl" >&5 printf %s "checking if Fortran compiler and POSIX threads work with $pl... " >&6; } LIBS="$orig_LIBS $pl" 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 # BEGIN: OPAL_INTL_PTHREAD_TRY_LINK_FORTRAN # # Make sure that we can run a small application in Fortran, with # pthreads living in a C object file opal_var_scope_push ${LINENO} HAPPY opal_conftest_h # Fortran module cat > conftestf.f < conftest.c < #include #include $opal_conftest_h #ifdef __cplusplus extern "C" { #endif int i = 3; pthread_t me, newthread; void cleanup_routine(void *foo); void *thread_main(void *foo); void pthreadtest_f(void); void pthreadtest(void); void pthreadtest_(void); void pthreadtest__(void); void PTHREADTEST(void); void cleanup_routine(void *foo) { i = 4; } void *thread_main(void *foo) { i = 2; return (void*) &i; } void pthreadtest_f(void) { pthread_attr_t attr; me = pthread_self(); pthread_atfork(NULL, NULL, NULL); pthread_attr_init(&attr); pthread_cleanup_push(cleanup_routine, 0); pthread_create(&newthread, &attr, thread_main, 0); pthread_join(newthread, 0); pthread_cleanup_pop(0); } void pthreadtest(void) { pthreadtest_f(); } void pthreadtest_(void) { pthreadtest_f(); } void pthreadtest__(void) { pthreadtest_f(); } void PTHREADTEST(void) { pthreadtest_f(); } #ifdef __cplusplus } #endif EOF # Try the compile printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : printf "%s\n" "configure:__oline__: $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:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : HAPPY=1 else case e in @%:@( e) HAPPY=0 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} else case e in @%:@( e) HAPPY=0 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} if test "$HAPPY" = "1"; then opal_pthread_fortran_success=1 else if test -n "1" then : printf "%s\n" "configure:__oline__: here is the C program:" >&5 else case e in @%:@( e) printf "%s\n" here is the C program: >&5 ;; esac fi if test -n "conftest.c" && test -f "conftest.c" then : cat conftest.c >&5 fi if test -f conftest.h; then if test -n "1" then : printf "%s\n" "configure:__oline__: here is contest.h:" >&5 else case e in @%:@( e) printf "%s\n" here is contest.h: >&5 ;; esac fi if test -n "conftest.h" && test -f "conftest.h" then : cat conftest.h >&5 fi fi if test -n "1" then : printf "%s\n" "configure:__oline__: here is the fortran program:" >&5 else case e in @%:@( e) printf "%s\n" here is the fortran program: >&5 ;; esac fi if test -n "conftestf.f" && test -f "conftestf.f" then : cat conftestf.f >&5 fi opal_pthread_fortran_success=0 fi rm -rf conftest* opal_var_scope_pop HAPPY opal_conftest_h # END: OPAL_INTL_PTHREAD_TRY_LINK_FORTRAN 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 "$opal_pthread_fortran_success" = "1"; then TPKG_LIBS="$pl" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } break else LIBS="$orig_LIBS" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi done fi fi else case e in @%:@( e) opal_pthread_fortran_success=0 ;; esac fi opal_var_scope_pop plibs # End: OPAL_INTL_POSIX_THREADS_LIBS # # check to see if we can create shared memory mutexes and conditions # ac_fn_c_check_func "$LINENO" "pthread_mutexattr_setpshared" "ac_cv_func_pthread_mutexattr_setpshared" if test "x$ac_cv_func_pthread_mutexattr_setpshared" = xyes then : printf "%s\n" "@%:@define HAVE_PTHREAD_MUTEXATTR_SETPSHARED 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "pthread_condattr_setpshared" "ac_cv_func_pthread_condattr_setpshared" if test "x$ac_cv_func_pthread_condattr_setpshared" = xyes then : printf "%s\n" "@%:@define HAVE_PTHREAD_CONDATTR_SETPSHARED 1" >>confdefs.h fi # # check to see if we can set error checking mutexes # # LinuxThreads { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for PTHREAD_MUTEX_ERRORCHECK_NP" >&5 printf %s "checking for PTHREAD_MUTEX_ERRORCHECK_NP... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { pthread_mutexattr_settype(NULL, PTHREAD_MUTEX_ERRORCHECK_NP); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : opal_pthreads_result="yes" defval=1 else case e in @%:@( e) opal_pthreads_result="no" defval=0 ;; esac 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_pthreads_result" >&5 printf "%s\n" "$opal_pthreads_result" >&6; } printf "%s\n" "@%:@define OPAL_HAVE_PTHREAD_MUTEX_ERRORCHECK_NP $defval" >>confdefs.h # Mac OS X { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for PTHREAD_MUTEX_ERRORCHECK" >&5 printf %s "checking for PTHREAD_MUTEX_ERRORCHECK... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { pthread_mutexattr_settype(NULL, PTHREAD_MUTEX_ERRORCHECK); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : opal_pthreads_result="yes" defval=1 else case e in @%:@( e) opal_pthreads_result="no" defval=0 ;; esac 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_pthreads_result" >&5 printf "%s\n" "$opal_pthreads_result" >&6; } printf "%s\n" "@%:@define OPAL_HAVE_PTHREAD_MUTEX_ERRORCHECK $defval" >>confdefs.h CFLAGS="$orig_CFLAGS" FCFLAGS="$orig_FCFLAGS" CXXFLAGS="$orig_CXXFLAGS" CPPFLAGS="$orig_CPPFLAGS" CXXCPPFLAGS="$orig_CXXCPPFLAGS" LDFLAGS="$orig_LDFLAGS" LIBS="$orig_LIBS" THREAD_CFLAGS="$TPKG_CFLAGS" THREAD_FCFLAGS="$TPKG_FCFLAGS" THREAD_CXXFLAGS="$TPKG_CXXFLAGS" THREAD_CPPFLAGS="$TPKG_CPPFLAGS" THREAD_CXXCPPFLAGS="$TPKG_CXXCPPFLAGS" THREAD_LDFLAGS="$TPKG_LDFLAGS" THREAD_LIBS="$TPKG_LIBS" if test "$CXX" = "no" then : opal_pthread_cxx_success=1 fi if test "$OMPI_TRY_FORTRAN_BINDINGS" = "$OMPI_FORTRAN_NO_BINDINGS" || \ test $ompi_fortran_happy -ne 1; then opal_pthread_fortran_success=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if POSIX threads work" >&5 printf %s "checking if POSIX threads work... " >&6; } if test $opal_pthread_c_success -eq 1 && \ test $opal_pthread_cxx_success -eq 1 && \ test $opal_pthread_fortran_success -eq 1; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } posix_threads_works=1 else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } posix_threads_works=0 fi opal_var_scope_pop opal_pthreads_result defval opal_pthread_c_success opal_pthread_fortran_success opal_pthread_cxx_success orig_CFLAGS orig_FCFLAGS orig_CXXFLAGS orig_CPPFLAGS orig_CXXCPPFLAGS orig_LDFLAGS orig_LIBS else case e in @%:@( e) posix_threads_works=0 ;; esac fi if test $posix_threads_works -eq 1 then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi opal_var_scope_pop posix_thread_works opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/threads/pthreads/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components pthreads" if test "$compile_mode" = "dso" ; then dso_components="$dso_components pthreads" else if test "threads" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/threads/pthreads/lib${OPAL_LIB_NAME}mca_threads_pthreads.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/threads/pthreads/libmca_threads_pthreads.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_threads_pthreads_component;" >> $outfile.extern echo " &mca_threads_pthreads_component, " >> $outfile.struct static_components="$static_components pthreads" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component threads:pthreads can compile" >&5 printf %s "checking if MCA component threads:pthreads can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_threads" = "pthreads" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_threads_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** threads component pthreads was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_threads" = "pthreads" ; then as_fn_error $? "*** threads component pthreads was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${threads_pthreads_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${threads_pthreads_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${threads_pthreads_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${threads_pthreads_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${threads_pthreads_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${threads_pthreads_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$threads_pthreads_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=1 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $threads_pthreads_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring threads_pthreads_WRAPPER_EXTRA_CPPFLAGS ($threads_pthreads_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring threads_pthreads_WRAPPER_EXTRA_CPPFLAGS ($threads_pthreads_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component threads:pthreads can compile" >&5 printf %s "checking if MCA component threads:pthreads can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_threads" = "pthreads" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"pthreads\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"pthreads\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_threads" ; then if test "$DIRECT_threads" = "pthreads" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"pthreads\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"pthreads\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components pthreads" ;; esac fi if test "$should_build" = "1" then : opal_thread_type_found="pthreads" printf "%s\n" "@%:@define MCA_threads_base_include_HEADER \"opal/mca/threads/pthreads/threads_pthreads_threads.h\"" >>confdefs.h printf "%s\n" "@%:@define MCA_threads_mutex_base_include_HEADER \"opal/mca/threads/pthreads/threads_pthreads_mutex.h\"" >>confdefs.h printf "%s\n" "@%:@define MCA_threads_tsd_base_include_HEADER \"opal/mca/threads/pthreads/threads_pthreads_tsd.h\"" >>confdefs.h THREAD_CFLAGS="$TPKG_CFLAGS" THREAD_FCFLAGS="$TPKG_FCFLAGS" THREAD_CXXFLAGS="$TPKG_CXXFLAGS" THREAD_CPPFLAGS="$TPKG_CPPFLAGS" THREAD_CXXCPPFLAGS="$TPKG_CXXCPPFLAGS" THREAD_LDFLAGS="$TPKG_LDFLAGS" THREAD_LIBS="$TPKG_LIBS" fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_threads_pthreads_DSO=1 else case e in @%:@( e) BUILD_opal_threads_pthreads_DSO=0 ;; esac fi if test "$BUILD_opal_threads_pthreads_DSO" = "1"; then MCA_BUILD_opal_threads_pthreads_DSO_TRUE= MCA_BUILD_opal_threads_pthreads_DSO_FALSE='#' else MCA_BUILD_opal_threads_pthreads_DSO_TRUE='#' MCA_BUILD_opal_threads_pthreads_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test $components_last_result -eq 1 then : components_looking_for_succeed=0 fi opal_show_subsubsubtitle "MCA component threads:qthreads (m4 configuration macro, priority 30)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/threads/qthreads" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_threads" ; then if test "$DIRECT_threads" = "qthreads" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_threads" = "1" then : want_component=0 fi if test "${DISABLE_threads_qthreads}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_threads_qthreads_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} component_compile_mode_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component threads:qthreads compile mode" >&5 printf %s "checking for MCA component threads:qthreads compile mode... " >&6; } component_compile_mode_tmp="static" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $component_compile_mode_tmp" >&5 printf "%s\n" "$component_compile_mode_tmp" >&6; } eval opal_threads_qthreads_compile_mode=\$$component_compile_mode_tmp opal_var_scope_pop component_compile_mode_tmp ;; esac fi compile_mode=$opal_threads_qthreads_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/threads/qthreads/Makefile" if test "$with_threads" = "qthreads" then : @%:@ Check whether --with-qthreads was given. if test ${with_qthreads+y} then : withval=$with_qthreads; fi @%:@ Check whether --with-qthreads-libdir was given. if test ${with_qthreads_libdir+y} then : withval=$with_qthreads_libdir; fi opal_check_qthreads_save_CPPFLAGS=$CPPFLAGS opal_check_qthreads_save_LDFLAGS=$LDFLAGS opal_check_qthreads_save_LIBS=$LIBS # ****************************** START CHECK PACKAGE FOR qthreads ****************************** oac_var_scope_push ${LINENO} check_package_opal_qthreads_save_CPPFLAGS check_package_opal_qthreads_save_LDFLAGS check_package_opal_qthreads_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_opal_qthreads_save_CPPFLAGS="${CPPFLAGS}" check_package_opal_qthreads_save_LDFLAGS="${LDFLAGS}" check_package_opal_qthreads_save_LIBS="${LIBS}" opal_qthreads_CPPFLAGS= opal_qthreads_LDFLAGS= opal_qthreads_STATIC_LDFLAGS= opal_qthreads_LIBS= opal_qthreads_STATIC_LIBS= { opal_qthreads_PC_MODULES=; unset opal_qthreads_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_qthreads" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package qthreads disabled by user" >&5 printf "%s\n" "$as_me: Package qthreads disabled by user" >&6;} check_package_happy=0 elif test "${with_qthreads}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_qthreads}" ;; esac fi check_package_libdir= if test "${with_qthreads_libdir}" = "no" -o "${with_qthreads_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-qthreads-libdir" "$LINENO" 5 elif test -n "${with_qthreads_libdir}" then : check_package_libdir="${with_qthreads_libdir}" fi check_package_incdir= if test "${with_qthreads_incdir}" = "no" -o "${with_qthreads_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-qthreads-incdir" "$LINENO" 5 elif test -n "${with_qthreads_incdir}" then : check_package_incdir="${with_qthreads_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${qthreads_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-qthreads or --with-qthreads-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-qthreads only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for qthreads pkg-config name" >&5 printf %s "checking for qthreads pkg-config name... " >&6; } if test ${oac_cv_check_package_qthreads_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_qthreads_pcfilename="qthreads" if test -n "${check_package_libdir}" then : oac_cv_check_package_qthreads_pcfilename="${check_package_libdir}/pkgconfig/qthreads.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_qthreads_pcfilename="qthreads" elif test -r "${check_package_prefix}/lib/pkgconfig/qthreads.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/qthreads.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found qthreads in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-qthreads-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_qthreads_pcfilename="${check_package_prefix}/lib/pkgconfig/qthreads.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/qthreads.pc" then : oac_cv_check_package_qthreads_pcfilename="${check_package_prefix}/lib64/pkgconfig/qthreads.pc" else case e in @%:@( e) oac_cv_check_package_qthreads_pcfilename="${check_package_prefix}/lib/pkgconfig/qthreads.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_qthreads_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_qthreads_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if qthreads pkg-config module exists" >&5 printf %s "checking if qthreads pkg-config module exists... " >&6; } if test ${oac_cv_check_package_qthreads_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_qthreads_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_qthreads_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : opal_qthreads_PC_MODULES=${oac_cv_check_package_qthreads_pcfilename} oac_cv_check_package_qthreads_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_qthreads_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_qthreads_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_qthreads_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_qthreads_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for qthreads pkg-config cflags" >&5 printf %s "checking for qthreads pkg-config cflags... " >&6; } if test ${oac_cv_check_package_qthreads_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_qthreads_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_qthreads_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_qthreads_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving qthreads cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_qthreads_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_qthreads_pkg_config_cppflags" >&6; } opal_qthreads_CPPFLAGS="${oac_cv_check_package_qthreads_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for qthreads pkg-config ldflags" >&5 printf %s "checking for qthreads pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_qthreads_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_qthreads_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_qthreads_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_qthreads_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving qthreads ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_qthreads_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_qthreads_pkg_config_ldflags" >&6; } opal_qthreads_LDFLAGS="${oac_cv_check_package_qthreads_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for qthreads pkg-config static ldflags" >&5 printf %s "checking for qthreads pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_qthreads_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_qthreads_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_qthreads_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_qthreads_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving qthreads static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_qthreads_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_qthreads_pkg_config_static_ldflags" >&6; } opal_qthreads_STATIC_LDFLAGS="${oac_cv_check_package_qthreads_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for qthreads pkg-config libs" >&5 printf %s "checking for qthreads pkg-config libs... " >&6; } if test ${oac_cv_check_package_qthreads_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_qthreads_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_qthreads_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_qthreads_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving qthreads libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_qthreads_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_qthreads_pkg_config_libs" >&6; } opal_qthreads_LIBS="${oac_cv_check_package_qthreads_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for qthreads pkg-config static libs" >&5 printf %s "checking for qthreads pkg-config static libs... " >&6; } if test ${oac_cv_check_package_qthreads_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_qthreads_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_qthreads_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_qthreads_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving qthreads libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_qthreads_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_qthreads_pkg_config_static_libs" >&6; } opal_qthreads_STATIC_LIBS="${oac_cv_check_package_qthreads_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${qthreads_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-qthreads argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for qthreads wrapper compiler" >&5 printf %s "checking for qthreads wrapper compiler... " >&6; } if test ${oac_cv_check_package_qthreads_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_qthreads_wrapper_compiler="qthreadscc" else case e in @%:@( e) oac_cv_check_package_qthreads_wrapper_compiler="${check_package_prefix}/bin/qthreadscc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_qthreads_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_qthreads_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if qthreads wrapper compiler works" >&5 printf %s "checking if qthreads wrapper compiler works... " >&6; } if test ${oac_cv_check_package_qthreads_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_qthreads_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_qthreads_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_qthreads_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_qthreads_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_qthreads_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_qthreads_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_qthreads_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for qthreads wrapper compiler cppflags" >&5 printf %s "checking for qthreads wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_qthreads_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_qthreads_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_qthreads_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_qthreads_wrapper_compiler_cppflags}" then : oac_cv_check_package_qthreads_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_qthreads_wrapper_compiler_cppflags="${oac_cv_check_package_qthreads_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving qthreads cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_qthreads_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_qthreads_wrapper_compiler_cppflags" >&6; } opal_qthreads_CPPFLAGS="${oac_cv_check_package_qthreads_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for qthreads wrapper compiler ldflags" >&5 printf %s "checking for qthreads wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_qthreads_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_qthreads_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_qthreads_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_qthreads_wrapper_compiler_ldflags}" then : oac_cv_check_package_qthreads_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_qthreads_wrapper_compiler_ldflags="${oac_cv_check_package_qthreads_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving qthreads ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_qthreads_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_qthreads_wrapper_compiler_ldflags" >&6; } opal_qthreads_LDFLAGS="${oac_cv_check_package_qthreads_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for qthreads wrapper compiler static ldflags" >&5 printf %s "checking for qthreads wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_qthreads_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_qthreads_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_qthreads_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_qthreads_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_qthreads_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_qthreads_wrapper_compiler_static_ldflags="${oac_cv_check_package_qthreads_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving qthreads static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_qthreads_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_qthreads_wrapper_compiler_static_ldflags" >&6; } opal_qthreads_STATIC_LDFLAGS="${oac_cv_check_package_qthreads_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for qthreads wrapper compiler libs" >&5 printf %s "checking for qthreads wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_qthreads_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_qthreads_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_qthreads_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_qthreads_wrapper_compiler_libs}" then : oac_cv_check_package_qthreads_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_qthreads_wrapper_compiler_libs="${oac_cv_check_package_qthreads_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving qthreads libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_qthreads_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_qthreads_wrapper_compiler_libs" >&6; } opal_qthreads_LIBS="$oac_cv_check_package_qthreads_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for qthreads wrapper compiler static libs" >&5 printf %s "checking for qthreads wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_qthreads_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_qthreads_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_qthreads_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_qthreads_wrapper_compiler_static_libs}" then : oac_cv_check_package_qthreads_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_qthreads_wrapper_compiler_static_libs="${oac_cv_check_package_qthreads_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving qthreads static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_qthreads_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_qthreads_wrapper_compiler_static_libs" >&6; } opal_qthreads_STATIC_LIBS="${oac_cv_check_package_qthreads_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "qthread.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "qthread" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for qthreads header at ${check_package_generic_incdir}" >&5 printf %s "checking for qthreads header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 opal_qthreads_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for qthreads library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for qthreads library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 opal_qthreads_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for qthreads library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for qthreads library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-qthreads-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 opal_qthreads_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 opal_qthreads_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 opal_qthreads_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for qthreads in default search paths" >&5 printf "%s\n" "$as_me: Searching for qthreads in default search paths" >&6;} qthreads_CPPFLAGS= qthreads_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in qthread ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${opal_qthreads_LIBS}" then : opal_qthreads_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) opal_qthreads_LIBS="${opal_qthreads_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${opal_qthreads_STATIC_LIBS}" then : opal_qthreads_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) opal_qthreads_STATIC_LIBS="${opal_qthreads_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for qthreads cppflags" >&5 printf %s "checking for qthreads cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_qthreads_CPPFLAGS" >&5 printf "%s\n" "$opal_qthreads_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for qthreads ldflags" >&5 printf %s "checking for qthreads ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_qthreads_LDFLAGS" >&5 printf "%s\n" "$opal_qthreads_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for qthreads libs" >&5 printf %s "checking for qthreads libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_qthreads_LIBS" >&5 printf "%s\n" "$opal_qthreads_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for qthreads static libs" >&5 printf %s "checking for qthreads static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_qthreads_STATIC_LIBS" >&5 printf "%s\n" "$opal_qthreads_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${opal_qthreads_LDFLAGS}" then : opal_qthreads_LDFLAGS="${opal_qthreads_STATIC_LDFLAGS}" else case e in @%:@( e) opal_qthreads_LDFLAGS="${opal_qthreads_LDFLAGS} ${opal_qthreads_STATIC_LDFLAGS}" ;; esac fi if test -z "${opal_qthreads_LIBS}" then : opal_qthreads_LIBS="${opal_qthreads_STATIC_LIBS}" else case e in @%:@( e) opal_qthreads_LIBS="${opal_qthreads_LIBS} ${opal_qthreads_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "qthread.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${opal_qthreads_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${opal_qthreads_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${opal_qthreads_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${opal_qthreads_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${opal_qthreads_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${opal_qthreads_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "qthread_initialize" "ac_cv_func_qthread_initialize" if test "x$ac_cv_func_qthread_initialize" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if qthreads requires libnl v1 or v3" >&5 printf %s "checking if qthreads requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_qthreads+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void qthread_initialize (void); int main(int argc, char *argv[]) { qthread_initialize (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib qthreads" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib qthreads" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_qthreads=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_qthreads" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_qthreads" >&6; } result_msg=$opal_libnl_sanity_check_cv_qthreads this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, qthreads links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, qthreads links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libqthreads (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libqthreads (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libqthreads." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libqthreads." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas qthreads requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas qthreads requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libqthreads (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libqthreads (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libqthreads." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libqthreads." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs qthreads" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas qthreads requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas qthreads requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libqthreads (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libqthreads (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libqthreads." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libqthreads." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs qthreads" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi opal_qthreads_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : opal_qthreads_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) opal_qthreads_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi opal_qthreads_happy=yes else case e in @%:@( e) if test "${with_qthreads}" = "no" then : opal_qthreads_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) opal_qthreads_SUMMARY="no (not found)" ;; esac fi { opal_qthreads_CPPFLAGS=; unset opal_qthreads_CPPFLAGS;} { opal_qthreads_LDFLAGS=; unset opal_qthreads_LDFLAGS;} { opal_qthreads_STATIC_LDFLAGS=; unset opal_qthreads_STATIC_LDFLAGS;} { opal_qthreads_LIBS=; unset opal_qthreads_LIBS;} { opal_qthreads_STATIC_LIBS=; unset opal_qthreads_STATIC_LIBS;} opal_qthreads_happy=no ;; esac fi CPPFLAGS="${check_package_opal_qthreads_save_CPPFLAGS}" LDFLAGS="${check_package_opal_qthreads_save_LDFLAGS}" LIBS="${check_package_opal_qthreads_save_LIBS}" oac_var_scope_pop check_package_opal_qthreads_save_CPPFLAGS check_package_opal_qthreads_save_LDFLAGS check_package_opal_qthreads_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR qthreads ****************************** if test $opal_qthreads_happy = yes then : TPKG_CFLAGS="$opal_qthreads_CPPFLAGS" TPKG_FCFLAGS="$opal_qthreads_CPPFLAGS" TPKG_CXXFLAGS="$opal_qthreads_CPPFLAGS" TPKG_CPPFLAGS="$opal_qthreads_CPPFLAGS" TPKG_CXXCPPFLAGS="$opal_qthreads_CPPFLAGS" TPKG_LDFLAGS="$opal_qthreads_LDFLAGS" TPKG_LIBS="$opal_qthreads_LIBS" fi CPPFLAGS="${opal_check_argo_save_CPPFLAGS} ${opal_qthreads_CPPFLAGS}" LDFLAGS=$opal_check_qthreads_save_LDFLAGS LIBS=$opal_check_qthreads_save_LIBS if test "$opal_qthreads_happy" = "yes" then : qthreads_works=1 else case e in @%:@( e) qthreads_works=0 ;; esac fi else case e in @%:@( e) qthreads_works=0 ;; esac fi if test "$qthreads_works" = "1" then : should_build=$should_build opal_thread_type_found="qthreads" else case e in @%:@( e) should_build=0 ;; esac fi opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/threads/qthreads/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components qthreads" if test "$compile_mode" = "dso" ; then dso_components="$dso_components qthreads" else if test "threads" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/threads/qthreads/lib${OPAL_LIB_NAME}mca_threads_qthreads.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/threads/qthreads/libmca_threads_qthreads.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_threads_qthreads_component;" >> $outfile.extern echo " &mca_threads_qthreads_component, " >> $outfile.struct static_components="$static_components qthreads" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component threads:qthreads can compile" >&5 printf %s "checking if MCA component threads:qthreads can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_threads" = "qthreads" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_threads_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** threads component qthreads was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_threads" = "qthreads" ; then as_fn_error $? "*** threads component qthreads was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${threads_qthreads_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${threads_qthreads_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${threads_qthreads_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${threads_qthreads_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${threads_qthreads_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${threads_qthreads_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$threads_qthreads_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=1 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $threads_qthreads_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring threads_qthreads_WRAPPER_EXTRA_CPPFLAGS ($threads_qthreads_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring threads_qthreads_WRAPPER_EXTRA_CPPFLAGS ($threads_qthreads_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component threads:qthreads can compile" >&5 printf %s "checking if MCA component threads:qthreads can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_threads" = "qthreads" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"qthreads\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"qthreads\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_threads" ; then if test "$DIRECT_threads" = "qthreads" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"qthreads\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"qthreads\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components qthreads" ;; esac fi if test "$should_build" = "1" then : opal_thread_type_found="qthreads" printf "%s\n" "@%:@define MCA_threads_base_include_HEADER \"opal/mca/threads/qthreads/threads_qthreads_threads.h\"" >>confdefs.h printf "%s\n" "@%:@define MCA_threads_mutex_base_include_HEADER \"opal/mca/threads/qthreads/threads_qthreads_mutex.h\"" >>confdefs.h printf "%s\n" "@%:@define MCA_threads_tsd_base_include_HEADER \"opal/mca/threads/qthreads/threads_qthreads_tsd.h\"" >>confdefs.h THREAD_CFLAGS="$TPKG_CFLAGS" THREAD_FCFLAGS="$TPKG_FCFLAGS" THREAD_CXXFLAGS="$TPKG_CXXFLAGS" THREAD_CPPFLAGS="$TPKG_CPPFLAGS" THREAD_CXXCPPFLAGS="$TPKG_CXXCPPFLAGS" THREAD_LDFLAGS="$TPKG_LDFLAGS" THREAD_LIBS="$TPKG_LIBS" LIBS="$LIBS $THREAD_LIBS" LDFLAGS="$LDFLAGS $THREAD_LDFLAGS" fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_threads_qthreads_DSO=1 else case e in @%:@( e) BUILD_opal_threads_qthreads_DSO=0 ;; esac fi if test "$BUILD_opal_threads_qthreads_DSO" = "1"; then MCA_BUILD_opal_threads_qthreads_DSO_TRUE= MCA_BUILD_opal_threads_qthreads_DSO_FALSE='#' else MCA_BUILD_opal_threads_qthreads_DSO_TRUE='#' MCA_BUILD_opal_threads_qthreads_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test $components_last_result -eq 1 then : components_looking_for_succeed=0 fi if test ${DIRECT_threads+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for threads framework" >&5 printf %s "checking if direct-selection component exists for threads framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_threads" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_threads requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_threads" >&5 printf "%s\n" "$DIRECT_threads" >&6; } fi MCA_opal_threads_ALL_COMPONENTS="$all_components" MCA_opal_threads_STATIC_COMPONENTS="$static_components" MCA_opal_threads_DSO_COMPONENTS="$dso_components" MCA_opal_threads_STATIC_LTLIBS="$static_ltlibs" MCA_opal_threads_ALL_SUBDIRS= for item in $all_components ; do MCA_opal_threads_ALL_SUBDIRS="$MCA_opal_threads_ALL_SUBDIRS mca/threads/$item" done MCA_opal_threads_STATIC_SUBDIRS= for item in $static_components ; do MCA_opal_threads_STATIC_SUBDIRS="$MCA_opal_threads_STATIC_SUBDIRS mca/threads/$item" done MCA_opal_threads_DSO_SUBDIRS= for item in $dso_components ; do MCA_opal_threads_DSO_SUBDIRS="$MCA_opal_threads_DSO_SUBDIRS mca/threads/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "threads" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real if test x"$opal_thread_type_found" = x"" then : as_fn_error $? "Did not find a suitable threads component" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Found thread type $opal_thread_type_found" >&5 printf "%s\n" "Found thread type $opal_thread_type_found" >&6; } 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="Threading Package: $opal_thread_type_found" oac_summary_key="MiscellaneousThreading_Package" # 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 case e in @%:@( e) oac_summary_section_Miscellaneous_name="Miscellaneous" if test -z "${oac_summary_sections}" then : oac_summary_sections="Miscellaneous" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} Miscellaneous" ;; esac fi ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) oac_summary_section_Miscellaneous_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key MCA_opal_FRAMEWORKS="$MCA_opal_FRAMEWORKS timer" MCA_opal_FRAMEWORKS_SUBDIRS="$MCA_opal_FRAMEWORKS_SUBDIRS mca/timer" MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_opal_timer_ALL_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_opal_timer_DSO_SUBDIRS)" MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_opal_timer_STATIC_SUBDIRS)" mca_opal_framework_base_lib="mca/timer/libmca_timer.la" MCA_opal_FRAMEWORK_CORE_LIBS="$MCA_opal_FRAMEWORK_CORE_LIBS ${mca_opal_framework_base_lib} \$(MCA_opal_timer_STATIC_LTLIBS)" timer_base_include= # All components look at this value @%:@ Check whether --with-timer was given. if test ${with_timer+y} then : withval=$with_timer; fi # first, compile all the components opal_show_subsubtitle "Configuring MCA framework timer" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=opal/mca/timer/base as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files opal/mca/timer/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework timer" >&5 printf %s "checking for no configure components in framework timer... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework timer" >&5 printf %s "checking for m4 configure components in framework timer... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: altix, darwin, linux, solaris" >&5 printf "%s\n" "altix, darwin, linux, solaris" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=1 components_last_result=0 opal_show_subsubsubtitle "MCA component timer:altix (m4 configuration macro, priority 100)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/timer/altix" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_timer" ; then if test "$DIRECT_timer" = "altix" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_timer" = "1" then : want_component=0 fi if test "${DISABLE_timer_altix}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_timer_altix_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} component_compile_mode_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component timer:altix compile mode" >&5 printf %s "checking for MCA component timer:altix compile mode... " >&6; } component_compile_mode_tmp="static" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $component_compile_mode_tmp" >&5 printf "%s\n" "$component_compile_mode_tmp" >&6; } eval opal_timer_altix_compile_mode=\$$component_compile_mode_tmp opal_var_scope_pop component_compile_mode_tmp ;; esac fi compile_mode=$opal_timer_altix_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/timer/altix/Makefile" if test "$with_timer" = "altix" then : timer_altix_happy="yes" timer_altix_should_use=1 else case e in @%:@( e) timer_altix_should_use=0 if test "$with_timer" = "" then : timer_altix_happy="yes" else case e in @%:@( e) timer_altix_happy="no" ;; esac fi ;; esac fi if test "$timer_altix_happy" = "yes" then : ac_fn_c_check_header_compile "$LINENO" "sn/mmtimer.h" "ac_cv_header_sn_mmtimer_h" "$ac_includes_default" if test "x$ac_cv_header_sn_mmtimer_h" = xyes then : timer_altix_happy="yes" else case e in @%:@( e) timer_altix_happy="no" ;; esac fi fi if test "$timer_altix_happy" = "yes" then : ac_fn_c_check_header_compile "$LINENO" "sys/ioctl.h" "ac_cv_header_sys_ioctl_h" "$ac_includes_default" if test "x$ac_cv_header_sys_ioctl_h" = xyes then : printf "%s\n" "@%:@define HAVE_SYS_IOCTL_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default" if test "x$ac_cv_header_sys_mman_h" = xyes then : printf "%s\n" "@%:@define HAVE_SYS_MMAN_H 1" >>confdefs.h fi fi if test "$timer_altix_happy" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MM timer can be opened" >&5 printf %s "checking if MM timer can be opened... " >&6; } if test ${ompi_cv_mm_timer_mmap+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include #include #include int main (void) { int fd; fd = open(MMTIMER_FULLNAME, O_RDONLY); if (-1 ==fd) return 1; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : ompi_cv_mm_timer_mmap="yes" else case e in @%:@( e) ompi_cv_mm_timer_mmap="no" ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_mm_timer_mmap" >&5 printf "%s\n" "$ompi_cv_mm_timer_mmap" >&6; } if test "$ompi_cv_mm_timer_mmap" = "yes" then : timer_altix_happy="yes" else case e in @%:@( e) timer_altix_happy="no" ;; esac fi fi if test "$timer_altix_happy" = "no" && \ test "$timer_altix_should_use" = "1" then : as_fn_error $? "Altix timer requested but not available. Aborting." "$LINENO" 5 fi if test "$timer_altix_happy" = "yes" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/timer/altix/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components altix" if test "$compile_mode" = "dso" ; then dso_components="$dso_components altix" else if test "timer" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/timer/altix/lib${OPAL_LIB_NAME}mca_timer_altix.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/timer/altix/libmca_timer_altix.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_timer_altix_component;" >> $outfile.extern echo " &mca_timer_altix_component, " >> $outfile.struct static_components="$static_components altix" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component timer:altix can compile" >&5 printf %s "checking if MCA component timer:altix can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_timer" = "altix" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_timer_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** timer component altix was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_timer" = "altix" ; then as_fn_error $? "*** timer component altix was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${timer_altix_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${timer_altix_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${timer_altix_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${timer_altix_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${timer_altix_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${timer_altix_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$timer_altix_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=1 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $timer_altix_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring timer_altix_WRAPPER_EXTRA_CPPFLAGS ($timer_altix_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring timer_altix_WRAPPER_EXTRA_CPPFLAGS ($timer_altix_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component timer:altix can compile" >&5 printf %s "checking if MCA component timer:altix can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_timer" = "altix" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"altix\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"altix\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_timer" ; then if test "$DIRECT_timer" = "altix" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"altix\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"altix\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components altix" ;; esac fi if test "$should_build" = "1" then : timer_base_include="altix/timer_altix.h" fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_timer_altix_DSO=1 else case e in @%:@( e) BUILD_opal_timer_altix_DSO=0 ;; esac fi if test "$BUILD_opal_timer_altix_DSO" = "1"; then MCA_BUILD_opal_timer_altix_DSO_TRUE= MCA_BUILD_opal_timer_altix_DSO_FALSE='#' else MCA_BUILD_opal_timer_altix_DSO_TRUE='#' MCA_BUILD_opal_timer_altix_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test $components_last_result -eq 1 then : components_looking_for_succeed=0 fi opal_show_subsubsubtitle "MCA component timer:darwin (m4 configuration macro, priority 30)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/timer/darwin" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_timer" ; then if test "$DIRECT_timer" = "darwin" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_timer" = "1" then : want_component=0 fi if test "${DISABLE_timer_darwin}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_timer_darwin_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} component_compile_mode_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component timer:darwin compile mode" >&5 printf %s "checking for MCA component timer:darwin compile mode... " >&6; } component_compile_mode_tmp="static" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $component_compile_mode_tmp" >&5 printf "%s\n" "$component_compile_mode_tmp" >&6; } eval opal_timer_darwin_compile_mode=\$$component_compile_mode_tmp opal_var_scope_pop component_compile_mode_tmp ;; esac fi compile_mode=$opal_timer_darwin_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/timer/darwin/Makefile" if test "$with_timer" = "darwin" then : timer_darwin_happy="yes" timer_darwin_should_use=1 else case e in @%:@( e) timer_darwin_should_use=0 if test "$with_timer" = "" then : timer_darwin_happy="yes" else case e in @%:@( e) timer_darwin_happy="no" ;; esac fi ;; esac fi if test "$timer_darwin_happy" = "yes" then : ac_fn_c_check_header_compile "$LINENO" "mach/mach_time.h" "ac_cv_header_mach_mach_time_h" "$ac_includes_default" if test "x$ac_cv_header_mach_mach_time_h" = xyes then : printf "%s\n" "@%:@define HAVE_MACH_MACH_TIME_H 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "mach_absolute_time" "ac_cv_func_mach_absolute_time" if test "x$ac_cv_func_mach_absolute_time" = xyes then : timer_darwin_happy="yes" else case e in @%:@( e) timer_darwin_happy="no" ;; esac fi fi if test "$timer_darwin_happy" = "no" && \ test "$timer_darwin_should_use" = "1" then : as_fn_error $? "Darwin timer requested but not available. Aborting." "$LINENO" 5 fi if test "$timer_darwin_happy" = "yes" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/timer/darwin/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components darwin" if test "$compile_mode" = "dso" ; then dso_components="$dso_components darwin" else if test "timer" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/timer/darwin/lib${OPAL_LIB_NAME}mca_timer_darwin.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/timer/darwin/libmca_timer_darwin.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_timer_darwin_component;" >> $outfile.extern echo " &mca_timer_darwin_component, " >> $outfile.struct static_components="$static_components darwin" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component timer:darwin can compile" >&5 printf %s "checking if MCA component timer:darwin can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_timer" = "darwin" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_timer_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** timer component darwin was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_timer" = "darwin" ; then as_fn_error $? "*** timer component darwin was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${timer_darwin_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${timer_darwin_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${timer_darwin_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${timer_darwin_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${timer_darwin_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${timer_darwin_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$timer_darwin_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=1 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $timer_darwin_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring timer_darwin_WRAPPER_EXTRA_CPPFLAGS ($timer_darwin_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring timer_darwin_WRAPPER_EXTRA_CPPFLAGS ($timer_darwin_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component timer:darwin can compile" >&5 printf %s "checking if MCA component timer:darwin can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_timer" = "darwin" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"darwin\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"darwin\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_timer" ; then if test "$DIRECT_timer" = "darwin" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"darwin\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"darwin\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components darwin" ;; esac fi if test "$should_build" = "1" then : timer_base_include="darwin/timer_darwin.h" fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_timer_darwin_DSO=1 else case e in @%:@( e) BUILD_opal_timer_darwin_DSO=0 ;; esac fi if test "$BUILD_opal_timer_darwin_DSO" = "1"; then MCA_BUILD_opal_timer_darwin_DSO_TRUE= MCA_BUILD_opal_timer_darwin_DSO_FALSE='#' else MCA_BUILD_opal_timer_darwin_DSO_TRUE='#' MCA_BUILD_opal_timer_darwin_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test $components_last_result -eq 1 then : components_looking_for_succeed=0 fi opal_show_subsubsubtitle "MCA component timer:linux (m4 configuration macro, priority 30)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/timer/linux" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_timer" ; then if test "$DIRECT_timer" = "linux" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_timer" = "1" then : want_component=0 fi if test "${DISABLE_timer_linux}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_timer_linux_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} component_compile_mode_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component timer:linux compile mode" >&5 printf %s "checking for MCA component timer:linux compile mode... " >&6; } component_compile_mode_tmp="static" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $component_compile_mode_tmp" >&5 printf "%s\n" "$component_compile_mode_tmp" >&6; } eval opal_timer_linux_compile_mode=\$$component_compile_mode_tmp opal_var_scope_pop component_compile_mode_tmp ;; esac fi compile_mode=$opal_timer_linux_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/timer/linux/Makefile" if test "$with_timer" = "linux" then : timer_linux_happy="yes" timer_linux_should_use=1 else case e in @%:@( e) timer_linux_should_use=0 if test "$with_timer" = "" then : timer_linux_happy="yes" else case e in @%:@( e) timer_linux_happy="no" ;; esac fi ;; esac fi case "${host}" in i?86-*linux*|x86_64*linux*|ia64-*linux*|powerpc-*linux*|powerpc64-*linux*|powerpc64le-*linux*|powerpcle-*linux*|sparc*-*linux*|aarch64-*linux*|hppa*-*linux*) if test "$timer_linux_happy" = "yes" then : if test -r "/proc/cpuinfo" then : timer_linux_happy="yes" else case e in @%:@( e) timer_linux_happy="no" ;; esac fi fi ;; *) timer_linux_happy="no" ;; esac if test "$timer_linux_happy" = "no" && \ test "$timer_linux_should_use" = "1" then : as_fn_error $? "Linux timer requested but not available. Aborting." "$LINENO" 5 fi if test "$timer_linux_happy" = "yes" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/timer/linux/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components linux" if test "$compile_mode" = "dso" ; then dso_components="$dso_components linux" else if test "timer" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/timer/linux/lib${OPAL_LIB_NAME}mca_timer_linux.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/timer/linux/libmca_timer_linux.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_timer_linux_component;" >> $outfile.extern echo " &mca_timer_linux_component, " >> $outfile.struct static_components="$static_components linux" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component timer:linux can compile" >&5 printf %s "checking if MCA component timer:linux can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_timer" = "linux" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_timer_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** timer component linux was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_timer" = "linux" ; then as_fn_error $? "*** timer component linux was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${timer_linux_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${timer_linux_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${timer_linux_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${timer_linux_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${timer_linux_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${timer_linux_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$timer_linux_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=1 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $timer_linux_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring timer_linux_WRAPPER_EXTRA_CPPFLAGS ($timer_linux_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring timer_linux_WRAPPER_EXTRA_CPPFLAGS ($timer_linux_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component timer:linux can compile" >&5 printf %s "checking if MCA component timer:linux can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_timer" = "linux" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"linux\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"linux\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_timer" ; then if test "$DIRECT_timer" = "linux" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"linux\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"linux\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components linux" ;; esac fi if test "$should_build" = "1" then : timer_base_include="linux/timer_linux.h" fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_timer_linux_DSO=1 else case e in @%:@( e) BUILD_opal_timer_linux_DSO=0 ;; esac fi if test "$BUILD_opal_timer_linux_DSO" = "1"; then MCA_BUILD_opal_timer_linux_DSO_TRUE= MCA_BUILD_opal_timer_linux_DSO_FALSE='#' else MCA_BUILD_opal_timer_linux_DSO_TRUE='#' MCA_BUILD_opal_timer_linux_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test $components_last_result -eq 1 then : components_looking_for_succeed=0 fi opal_show_subsubsubtitle "MCA component timer:solaris (m4 configuration macro, priority 30)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/opal/mca/timer/solaris" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_timer" ; then if test "$DIRECT_timer" = "solaris" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_timer" = "1" then : want_component=0 fi if test "${DISABLE_timer_solaris}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${opal_timer_solaris_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} component_compile_mode_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component timer:solaris compile mode" >&5 printf %s "checking for MCA component timer:solaris compile mode... " >&6; } component_compile_mode_tmp="static" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $component_compile_mode_tmp" >&5 printf "%s\n" "$component_compile_mode_tmp" >&6; } eval opal_timer_solaris_compile_mode=\$$component_compile_mode_tmp opal_var_scope_pop component_compile_mode_tmp ;; esac fi compile_mode=$opal_timer_solaris_compile_mode # try to configure the component ac_config_files="$ac_config_files opal/mca/timer/solaris/Makefile" if test "$with_timer" = "solaris" then : timer_solaris_happy="yes" timer_solaris_should_use=1 else case e in @%:@( e) timer_solaris_should_use=0 if test "$with_timer" = "" then : timer_solaris_happy="yes" else case e in @%:@( e) timer_solaris_happy="no" ;; esac fi ;; esac fi if test "$timer_solaris_happy" = "yes" then : ac_fn_c_check_func "$LINENO" "gethrtime" "ac_cv_func_gethrtime" if test "x$ac_cv_func_gethrtime" = xyes then : timer_solaris_happy="yes" else case e in @%:@( e) timer_solaris_happy="no" ;; esac fi fi if test "$timer_solaris_happy" = "no" && \ test "$timer_solaris_should_use" = "1" then : as_fn_error $? "Solaris timer requested but not available. Aborting." "$LINENO" 5 fi if test "$timer_solaris_happy" = "yes" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/opal/mca/timer/solaris/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components solaris" if test "$compile_mode" = "dso" ; then dso_components="$dso_components solaris" else if test "timer" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/timer/solaris/lib${OPAL_LIB_NAME}mca_timer_solaris.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/timer/solaris/libmca_timer_solaris.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_timer_solaris_component;" >> $outfile.extern echo " &mca_timer_solaris_component, " >> $outfile.struct static_components="$static_components solaris" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component timer:solaris can compile" >&5 printf %s "checking if MCA component timer:solaris can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_timer" = "solaris" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_opal_timer_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** timer component solaris was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_timer" = "solaris" ; then as_fn_error $? "*** timer component solaris was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${timer_solaris_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${timer_solaris_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${timer_solaris_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${timer_solaris_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${timer_solaris_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${timer_solaris_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$timer_solaris_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=1 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $timer_solaris_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring timer_solaris_WRAPPER_EXTRA_CPPFLAGS ($timer_solaris_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring timer_solaris_WRAPPER_EXTRA_CPPFLAGS ($timer_solaris_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component timer:solaris can compile" >&5 printf %s "checking if MCA component timer:solaris can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_timer" = "solaris" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"solaris\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"solaris\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_timer" ; then if test "$DIRECT_timer" = "solaris" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"solaris\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"solaris\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components solaris" ;; esac fi if test "$should_build" = "1" then : timer_base_include="solaris/timer_solaris.h" fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_opal_timer_solaris_DSO=1 else case e in @%:@( e) BUILD_opal_timer_solaris_DSO=0 ;; esac fi if test "$BUILD_opal_timer_solaris_DSO" = "1"; then MCA_BUILD_opal_timer_solaris_DSO_TRUE= MCA_BUILD_opal_timer_solaris_DSO_FALSE='#' else MCA_BUILD_opal_timer_solaris_DSO_TRUE='#' MCA_BUILD_opal_timer_solaris_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test $components_last_result -eq 1 then : components_looking_for_succeed=0 fi if test ${DIRECT_timer+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for timer framework" >&5 printf %s "checking if direct-selection component exists for timer framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_timer" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_timer requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_timer" >&5 printf "%s\n" "$DIRECT_timer" >&6; } fi MCA_opal_timer_ALL_COMPONENTS="$all_components" MCA_opal_timer_STATIC_COMPONENTS="$static_components" MCA_opal_timer_DSO_COMPONENTS="$dso_components" MCA_opal_timer_STATIC_LTLIBS="$static_ltlibs" MCA_opal_timer_ALL_SUBDIRS= for item in $all_components ; do MCA_opal_timer_ALL_SUBDIRS="$MCA_opal_timer_ALL_SUBDIRS mca/timer/$item" done MCA_opal_timer_STATIC_SUBDIRS= for item in $static_components ; do MCA_opal_timer_STATIC_SUBDIRS="$MCA_opal_timer_STATIC_SUBDIRS mca/timer/$item" done MCA_opal_timer_DSO_SUBDIRS= for item in $dso_components ; do MCA_opal_timer_DSO_SUBDIRS="$MCA_opal_timer_DSO_SUBDIRS mca/timer/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "timer" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real # someone should have set this... if test "$timer_base_include" = "" ; then timer_base_include="base/timer_base_null.h" fi printf "%s\n" "@%:@define MCA_timer_IMPLEMENTATION_HEADER \"opal/mca/timer/$timer_base_include\"" >>confdefs.h # note that mca_wrapper_extra_* is a running list, and we take checkpoints at the end of our project opal_mca_wrapper_extra_cppflags="$mca_wrapper_extra_cppflags" opal_mca_wrapper_extra_ldflags="$mca_wrapper_extra_ldflags" opal_mca_wrapper_extra_libs="$mca_wrapper_extra_libs" MCA_PROJECT_SUBDIRS="$MCA_PROJECT_SUBDIRS ompi" MCA_PROJECT_DIST_SUBDIRS="$MCA_PROJECT_DIST_SUBDIRS ompi" # can't use a variable rename here because these need to be evaled # at auto* time. opal_show_subtitle "Configuring MCA for ompi" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for frameworks for ompi" >&5 printf %s "checking for frameworks for ompi... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: common, bml, coll, fbtl, fcoll, fs, hook, io, mtl, op, osc, part, pml, sharedfp, topo, vprotocol" >&5 printf "%s\n" "common, bml, coll, fbtl, fcoll, fs, hook, io, mtl, op, osc, part, pml, sharedfp, topo, vprotocol" >&6; } # iterate through the list of frameworks. There is something # funky with m4 foreach if the list is defined, but empty. It # will call the 3rd argument once with an empty value for the # first argument. Protect against calling MCA_CONFIGURE_FRAMEWORK # with an empty second argument. Grrr.... # if there isn't a project list, abort # # Also setup two variables for Makefiles: # MCA_project_FRAMEWORKS - list of frameworks in that project # MCA_project_FRAMEWORK_LIBS - list of libraries (or variables pointing # to more libraries) that must be included # in the project's main library MCA_ompi_FRAMEWORKS= MCA_ompi_FRAMEWORKS_SUBDIRS= MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS= MCA_ompi_FRAMEWORK_COMPONENT_DSO_SUBDIRS= MCA_ompi_FRAMEWORK_COMPONENT_STATIC_SUBDIRS= MCA_ompi_FRAMEWORK_LIBS= MCA_ompi_FRAMEWORK_CORE_LIBS= MCA_ompi_FRAMEWORKS="common $MCA_ompi_FRAMEWORKS" MCA_ompi_FRAMEWORKS_SUBDIRS="mca/common $MCA_ompi_FRAMEWORKS_SUBDIRS" MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS="\$(MCA_ompi_common_ALL_SUBDIRS) $MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS" MCA_ompi_FRAMEWORK_COMPONENT_DSO_SUBDIRS="\$(MCA_ompi_common_DSO_SUBDIRS) $MCA_ompi_FRAMEWORK_COMPONENT_DSO_SUBDIRS" MCA_ompi_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="\$(MCA_ompi_common_STATIC_SUBDIRS) $MCA_ompi_FRAMEWORK_COMPONENT_STATIC_SUBDIRS" mca_ompi_framework_base_lib= MCA_ompi_FRAMEWORK_LIBS="$MCA_ompi_FRAMEWORK_LIBS ${mca_ompi_framework_base_lib} \$(MCA_ompi_common_STATIC_LTLIBS)" opal_show_subsubtitle "Configuring MCA framework common" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=ompi/mca/common as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files ompi/mca/common/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework common" >&5 printf %s "checking for no configure components in framework common... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework common" >&5 printf %s "checking for m4 configure components in framework common... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: monitoring, ompio" >&5 printf "%s\n" "monitoring, ompio" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=1 components_last_result=0 opal_show_subsubsubtitle "MCA component common:monitoring (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/ompi/mca/common/monitoring" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_common" ; then if test "$DIRECT_common" = "monitoring" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_common" = "1" then : want_component=0 fi if test "${DISABLE_common_monitoring}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${ompi_common_monitoring_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_common" SHARED_COMPONENT="$DSO_common_monitoring" STATIC_FRAMEWORK="$STATIC_common" STATIC_COMPONENT="$STATIC_common_monitoring" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_common_monitoring_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component common:monitoring compile mode" >&5 printf %s "checking for MCA component common:monitoring compile mode... " >&6; } if test "$DIRECT_common" = "monitoring" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_common_monitoring_compile_mode # try to configure the component ac_config_files="$ac_config_files ompi/mca/common/monitoring/Makefile" ac_config_links="$ac_config_links test/monitoring/profile2mat.pl:ompi/mca/common/monitoring/profile2mat.pl test/monitoring/aggregate_profile.pl:ompi/mca/common/monitoring/aggregate_profile.pl" should_build=$should_build opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/common/monitoring/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components monitoring" if test "$compile_mode" = "dso" ; then dso_components="$dso_components monitoring" else if test "common" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/common/monitoring/lib${OMPI_LIB_NAME}mca_common_monitoring.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/common/monitoring/libmca_common_monitoring.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_common_monitoring_component;" >> $outfile.extern echo " &mca_common_monitoring_component, " >> $outfile.struct static_components="$static_components monitoring" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component common:monitoring can compile" >&5 printf %s "checking if MCA component common:monitoring can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_common" = "monitoring" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_common_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** common component monitoring was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_common" = "monitoring" ; then as_fn_error $? "*** common component monitoring was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${common_monitoring_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${common_monitoring_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${common_monitoring_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${common_monitoring_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${common_monitoring_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${common_monitoring_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$common_monitoring_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $common_monitoring_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring common_monitoring_WRAPPER_EXTRA_CPPFLAGS ($common_monitoring_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring common_monitoring_WRAPPER_EXTRA_CPPFLAGS ($common_monitoring_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component common:monitoring can compile" >&5 printf %s "checking if MCA component common:monitoring can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_common" = "monitoring" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"monitoring\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"monitoring\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_common" ; then if test "$DIRECT_common" = "monitoring" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"monitoring\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"monitoring\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components monitoring" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_ompi_common_monitoring_DSO=1 else case e in @%:@( e) BUILD_ompi_common_monitoring_DSO=0 ;; esac fi if test "$BUILD_ompi_common_monitoring_DSO" = "1"; then MCA_BUILD_ompi_common_monitoring_DSO_TRUE= MCA_BUILD_ompi_common_monitoring_DSO_FALSE='#' else MCA_BUILD_ompi_common_monitoring_DSO_TRUE='#' MCA_BUILD_ompi_common_monitoring_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component common:ompio (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/ompi/mca/common/ompio" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_common" ; then if test "$DIRECT_common" = "ompio" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_common" = "1" then : want_component=0 fi if test "${DISABLE_common_ompio}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${ompi_common_ompio_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_common" SHARED_COMPONENT="$DSO_common_ompio" STATIC_FRAMEWORK="$STATIC_common" STATIC_COMPONENT="$STATIC_common_ompio" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_common_ompio_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component common:ompio compile mode" >&5 printf %s "checking for MCA component common:ompio compile mode... " >&6; } if test "$DIRECT_common" = "ompio" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_common_ompio_compile_mode # try to configure the component ac_config_files="$ac_config_files ompi/mca/common/ompio/Makefile" if test "$enable_io_ompio" != "no" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/common/ompio/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components ompio" if test "$compile_mode" = "dso" ; then dso_components="$dso_components ompio" else if test "common" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/common/ompio/lib${OMPI_LIB_NAME}mca_common_ompio.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/common/ompio/libmca_common_ompio.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_common_ompio_component;" >> $outfile.extern echo " &mca_common_ompio_component, " >> $outfile.struct static_components="$static_components ompio" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component common:ompio can compile" >&5 printf %s "checking if MCA component common:ompio can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_common" = "ompio" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_common_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** common component ompio was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_common" = "ompio" ; then as_fn_error $? "*** common component ompio was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${common_ompio_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${common_ompio_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${common_ompio_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${common_ompio_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${common_ompio_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${common_ompio_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$common_ompio_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $common_ompio_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring common_ompio_WRAPPER_EXTRA_CPPFLAGS ($common_ompio_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring common_ompio_WRAPPER_EXTRA_CPPFLAGS ($common_ompio_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component common:ompio can compile" >&5 printf %s "checking if MCA component common:ompio can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_common" = "ompio" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ompio\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ompio\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_common" ; then if test "$DIRECT_common" = "ompio" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ompio\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ompio\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components ompio" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_ompi_common_ompio_DSO=1 else case e in @%:@( e) BUILD_ompi_common_ompio_DSO=0 ;; esac fi if test "$BUILD_ompi_common_ompio_DSO" = "1"; then MCA_BUILD_ompi_common_ompio_DSO_TRUE= MCA_BUILD_ompi_common_ompio_DSO_FALSE='#' else MCA_BUILD_ompi_common_ompio_DSO_TRUE='#' MCA_BUILD_ompi_common_ompio_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test ${DIRECT_common+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for common framework" >&5 printf %s "checking if direct-selection component exists for common framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_common" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_common requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_common" >&5 printf "%s\n" "$DIRECT_common" >&6; } fi MCA_ompi_common_ALL_COMPONENTS="$all_components" MCA_ompi_common_STATIC_COMPONENTS="$static_components" MCA_ompi_common_DSO_COMPONENTS="$dso_components" MCA_ompi_common_STATIC_LTLIBS="$static_ltlibs" MCA_ompi_common_ALL_SUBDIRS= for item in $all_components ; do MCA_ompi_common_ALL_SUBDIRS="$MCA_ompi_common_ALL_SUBDIRS mca/common/$item" done MCA_ompi_common_STATIC_SUBDIRS= for item in $static_components ; do MCA_ompi_common_STATIC_SUBDIRS="$MCA_ompi_common_STATIC_SUBDIRS mca/common/$item" done MCA_ompi_common_DSO_SUBDIRS= for item in $dso_components ; do MCA_ompi_common_DSO_SUBDIRS="$MCA_ompi_common_DSO_SUBDIRS mca/common/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "common" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real MCA_ompi_FRAMEWORKS="$MCA_ompi_FRAMEWORKS bml" MCA_ompi_FRAMEWORKS_SUBDIRS="$MCA_ompi_FRAMEWORKS_SUBDIRS mca/bml" MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_ompi_bml_ALL_SUBDIRS)" MCA_ompi_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_ompi_bml_DSO_SUBDIRS)" MCA_ompi_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_ompi_bml_STATIC_SUBDIRS)" mca_ompi_framework_base_lib="mca/bml/libmca_bml.la" MCA_ompi_FRAMEWORK_LIBS="$MCA_ompi_FRAMEWORK_LIBS ${mca_ompi_framework_base_lib} \$(MCA_ompi_bml_STATIC_LTLIBS)" opal_show_subsubtitle "Configuring MCA framework bml" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=ompi/mca/bml/base as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files ompi/mca/bml/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework bml" >&5 printf %s "checking for no configure components in framework bml... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework bml" >&5 printf %s "checking for m4 configure components in framework bml... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: r2" >&5 printf "%s\n" "r2" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=1 components_last_result=0 opal_show_subsubsubtitle "MCA component bml:r2 (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/ompi/mca/bml/r2" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_bml" ; then if test "$DIRECT_bml" = "r2" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_bml" = "1" then : want_component=0 fi if test "${DISABLE_bml_r2}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${ompi_bml_r2_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_bml" SHARED_COMPONENT="$DSO_bml_r2" STATIC_FRAMEWORK="$STATIC_bml" STATIC_COMPONENT="$STATIC_bml_r2" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_bml_r2_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component bml:r2 compile mode" >&5 printf %s "checking for MCA component bml:r2 compile mode... " >&6; } if test "$DIRECT_bml" = "r2" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_bml_r2_compile_mode # try to configure the component ac_config_files="$ac_config_files ompi/mca/bml/r2/Makefile" should_build=$should_build opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/bml/r2/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components r2" if test "$compile_mode" = "dso" ; then dso_components="$dso_components r2" else if test "bml" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/bml/r2/lib${OMPI_LIB_NAME}mca_bml_r2.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/bml/r2/libmca_bml_r2.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_bml_r2_component;" >> $outfile.extern echo " &mca_bml_r2_component, " >> $outfile.struct static_components="$static_components r2" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component bml:r2 can compile" >&5 printf %s "checking if MCA component bml:r2 can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_bml" = "r2" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_bml_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** bml component r2 was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_bml" = "r2" ; then as_fn_error $? "*** bml component r2 was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${bml_r2_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${bml_r2_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${bml_r2_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${bml_r2_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${bml_r2_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${bml_r2_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$bml_r2_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $bml_r2_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring bml_r2_WRAPPER_EXTRA_CPPFLAGS ($bml_r2_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring bml_r2_WRAPPER_EXTRA_CPPFLAGS ($bml_r2_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component bml:r2 can compile" >&5 printf %s "checking if MCA component bml:r2 can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_bml" = "r2" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"r2\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"r2\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_bml" ; then if test "$DIRECT_bml" = "r2" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"r2\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"r2\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components r2" ;; esac fi if test "$should_build" = "1" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for index in endpoint array for tag BML" >&5 printf %s "checking for index in endpoint array for tag BML... " >&6; } if test -z "$OMPI_PROC_ENDPOINT_TAG_BML" then : OMPI_PROC_ENDPOINT_TAG_BML=$ompi_endpoint_tag_counter printf "%s\n" "@%:@define OMPI_PROC_ENDPOINT_TAG_BML $OMPI_PROC_ENDPOINT_TAG_BML" >>confdefs.h ompi_endpoint_tag_counter=`expr $ompi_endpoint_tag_counter + 1` fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OMPI_PROC_ENDPOINT_TAG_BML" >&5 printf "%s\n" "$OMPI_PROC_ENDPOINT_TAG_BML" >&6; } fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_ompi_bml_r2_DSO=1 else case e in @%:@( e) BUILD_ompi_bml_r2_DSO=0 ;; esac fi if test "$BUILD_ompi_bml_r2_DSO" = "1"; then MCA_BUILD_ompi_bml_r2_DSO_TRUE= MCA_BUILD_ompi_bml_r2_DSO_FALSE='#' else MCA_BUILD_ompi_bml_r2_DSO_TRUE='#' MCA_BUILD_ompi_bml_r2_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test ${DIRECT_bml+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for bml framework" >&5 printf %s "checking if direct-selection component exists for bml framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_bml" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_bml requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_bml" >&5 printf "%s\n" "$DIRECT_bml" >&6; } fi MCA_ompi_bml_ALL_COMPONENTS="$all_components" MCA_ompi_bml_STATIC_COMPONENTS="$static_components" MCA_ompi_bml_DSO_COMPONENTS="$dso_components" MCA_ompi_bml_STATIC_LTLIBS="$static_ltlibs" MCA_ompi_bml_ALL_SUBDIRS= for item in $all_components ; do MCA_ompi_bml_ALL_SUBDIRS="$MCA_ompi_bml_ALL_SUBDIRS mca/bml/$item" done MCA_ompi_bml_STATIC_SUBDIRS= for item in $static_components ; do MCA_ompi_bml_STATIC_SUBDIRS="$MCA_ompi_bml_STATIC_SUBDIRS mca/bml/$item" done MCA_ompi_bml_DSO_SUBDIRS= for item in $dso_components ; do MCA_ompi_bml_DSO_SUBDIRS="$MCA_ompi_bml_DSO_SUBDIRS mca/bml/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "bml" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real MCA_ompi_FRAMEWORKS="$MCA_ompi_FRAMEWORKS coll" MCA_ompi_FRAMEWORKS_SUBDIRS="$MCA_ompi_FRAMEWORKS_SUBDIRS mca/coll" MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_ompi_coll_ALL_SUBDIRS)" MCA_ompi_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_ompi_coll_DSO_SUBDIRS)" MCA_ompi_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_ompi_coll_STATIC_SUBDIRS)" mca_ompi_framework_base_lib="mca/coll/libmca_coll.la" MCA_ompi_FRAMEWORK_LIBS="$MCA_ompi_FRAMEWORK_LIBS ${mca_ompi_framework_base_lib} \$(MCA_ompi_coll_STATIC_LTLIBS)" opal_show_subsubtitle "Configuring MCA framework coll" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=ompi/mca/coll/base as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files ompi/mca/coll/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework coll" >&5 printf %s "checking for no configure components in framework coll... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: adapt, basic, han, inter, libnbc, self, sync, tuned" >&5 printf "%s\n" "adapt, basic, han, inter, libnbc, self, sync, tuned" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework coll" >&5 printf %s "checking for m4 configure components in framework coll... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cuda, ftagree, hcoll, monitoring, portals4, sm, ucc" >&5 printf "%s\n" "cuda, ftagree, hcoll, monitoring, portals4, sm, ucc" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components opal_show_subsubsubtitle "MCA component coll:adapt (no configuration)" opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: before, should_build=1" component_path="$srcdir/ompi/mca/coll/adapt" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_coll" ; then if test "$DIRECT_coll" = "adapt" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_coll" = "1" then : want_component=0 fi if test "${DISABLE_coll_adapt}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=1 else case e in @%:@( e) should_build=0 ;; esac fi if test ${ompi_coll_adapt_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_coll" SHARED_COMPONENT="$DSO_coll_adapt" STATIC_FRAMEWORK="$STATIC_coll" STATIC_COMPONENT="$STATIC_coll_adapt" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_coll_adapt_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component coll:adapt compile mode" >&5 printf %s "checking for MCA component coll:adapt compile mode... " >&6; } if test "$DIRECT_coll" = "adapt" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_coll_adapt_compile_mode opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" ; then # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/coll/adapt/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components adapt" if test "$compile_mode" = "dso" ; then dso_components="$dso_components adapt" else if test "coll" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/coll/adapt/lib${OMPI_LIB_NAME}mca_coll_adapt.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/coll/adapt/libmca_coll_adapt.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_coll_adapt_component;" >> $outfile.extern echo " &mca_coll_adapt_component, " >> $outfile.struct static_components="$static_components adapt" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component coll:adapt can compile" >&5 printf %s "checking if MCA component coll:adapt can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_coll" = "adapt" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_coll_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** coll component adapt was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_coll" = "adapt" ; then as_fn_error $? "*** coll component adapt was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${coll_adapt_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${coll_adapt_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${coll_adapt_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${coll_adapt_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${coll_adapt_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${coll_adapt_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$coll_adapt_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $coll_adapt_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring coll_adapt_WRAPPER_EXTRA_CPPFLAGS ($coll_adapt_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring coll_adapt_WRAPPER_EXTRA_CPPFLAGS ($coll_adapt_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component coll:adapt can compile" >&5 printf %s "checking if MCA component coll:adapt can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_coll" = "adapt" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"adapt\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"adapt\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_coll" ; then if test "$DIRECT_coll" = "adapt" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"adapt\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"adapt\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components adapt" fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" ; then BUILD_ompi_coll_adapt_DSO=1 else BUILD_ompi_coll_adapt_DSO=0 fi if test "$BUILD_ompi_coll_adapt_DSO" = "1"; then MCA_BUILD_ompi_coll_adapt_DSO_TRUE= MCA_BUILD_ompi_coll_adapt_DSO_FALSE='#' else MCA_BUILD_ompi_coll_adapt_DSO_TRUE='#' MCA_BUILD_ompi_coll_adapt_DSO_FALSE= fi ac_config_files="$ac_config_files ompi/mca/coll/adapt/Makefile" unset compile_mode opal_show_subsubsubtitle "MCA component coll:basic (no configuration)" opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: before, should_build=1" component_path="$srcdir/ompi/mca/coll/basic" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_coll" ; then if test "$DIRECT_coll" = "basic" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_coll" = "1" then : want_component=0 fi if test "${DISABLE_coll_basic}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=1 else case e in @%:@( e) should_build=0 ;; esac fi if test ${ompi_coll_basic_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_coll" SHARED_COMPONENT="$DSO_coll_basic" STATIC_FRAMEWORK="$STATIC_coll" STATIC_COMPONENT="$STATIC_coll_basic" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_coll_basic_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component coll:basic compile mode" >&5 printf %s "checking for MCA component coll:basic compile mode... " >&6; } if test "$DIRECT_coll" = "basic" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_coll_basic_compile_mode opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" ; then # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/coll/basic/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components basic" if test "$compile_mode" = "dso" ; then dso_components="$dso_components basic" else if test "coll" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/coll/basic/lib${OMPI_LIB_NAME}mca_coll_basic.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/coll/basic/libmca_coll_basic.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_coll_basic_component;" >> $outfile.extern echo " &mca_coll_basic_component, " >> $outfile.struct static_components="$static_components basic" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component coll:basic can compile" >&5 printf %s "checking if MCA component coll:basic can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_coll" = "basic" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_coll_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** coll component basic was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_coll" = "basic" ; then as_fn_error $? "*** coll component basic was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${coll_basic_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${coll_basic_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${coll_basic_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${coll_basic_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${coll_basic_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${coll_basic_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$coll_basic_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $coll_basic_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring coll_basic_WRAPPER_EXTRA_CPPFLAGS ($coll_basic_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring coll_basic_WRAPPER_EXTRA_CPPFLAGS ($coll_basic_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component coll:basic can compile" >&5 printf %s "checking if MCA component coll:basic can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_coll" = "basic" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"basic\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"basic\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_coll" ; then if test "$DIRECT_coll" = "basic" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"basic\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"basic\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components basic" fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" ; then BUILD_ompi_coll_basic_DSO=1 else BUILD_ompi_coll_basic_DSO=0 fi if test "$BUILD_ompi_coll_basic_DSO" = "1"; then MCA_BUILD_ompi_coll_basic_DSO_TRUE= MCA_BUILD_ompi_coll_basic_DSO_FALSE='#' else MCA_BUILD_ompi_coll_basic_DSO_TRUE='#' MCA_BUILD_ompi_coll_basic_DSO_FALSE= fi ac_config_files="$ac_config_files ompi/mca/coll/basic/Makefile" unset compile_mode opal_show_subsubsubtitle "MCA component coll:han (no configuration)" opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: before, should_build=1" component_path="$srcdir/ompi/mca/coll/han" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_coll" ; then if test "$DIRECT_coll" = "han" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_coll" = "1" then : want_component=0 fi if test "${DISABLE_coll_han}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=1 else case e in @%:@( e) should_build=0 ;; esac fi if test ${ompi_coll_han_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_coll" SHARED_COMPONENT="$DSO_coll_han" STATIC_FRAMEWORK="$STATIC_coll" STATIC_COMPONENT="$STATIC_coll_han" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_coll_han_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component coll:han compile mode" >&5 printf %s "checking for MCA component coll:han compile mode... " >&6; } if test "$DIRECT_coll" = "han" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_coll_han_compile_mode opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" ; then # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/coll/han/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components han" if test "$compile_mode" = "dso" ; then dso_components="$dso_components han" else if test "coll" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/coll/han/lib${OMPI_LIB_NAME}mca_coll_han.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/coll/han/libmca_coll_han.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_coll_han_component;" >> $outfile.extern echo " &mca_coll_han_component, " >> $outfile.struct static_components="$static_components han" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component coll:han can compile" >&5 printf %s "checking if MCA component coll:han can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_coll" = "han" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_coll_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** coll component han was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_coll" = "han" ; then as_fn_error $? "*** coll component han was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${coll_han_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${coll_han_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${coll_han_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${coll_han_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${coll_han_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${coll_han_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$coll_han_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $coll_han_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring coll_han_WRAPPER_EXTRA_CPPFLAGS ($coll_han_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring coll_han_WRAPPER_EXTRA_CPPFLAGS ($coll_han_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component coll:han can compile" >&5 printf %s "checking if MCA component coll:han can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_coll" = "han" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"han\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"han\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_coll" ; then if test "$DIRECT_coll" = "han" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"han\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"han\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components han" fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" ; then BUILD_ompi_coll_han_DSO=1 else BUILD_ompi_coll_han_DSO=0 fi if test "$BUILD_ompi_coll_han_DSO" = "1"; then MCA_BUILD_ompi_coll_han_DSO_TRUE= MCA_BUILD_ompi_coll_han_DSO_FALSE='#' else MCA_BUILD_ompi_coll_han_DSO_TRUE='#' MCA_BUILD_ompi_coll_han_DSO_FALSE= fi ac_config_files="$ac_config_files ompi/mca/coll/han/Makefile" unset compile_mode opal_show_subsubsubtitle "MCA component coll:inter (no configuration)" opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: before, should_build=1" component_path="$srcdir/ompi/mca/coll/inter" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_coll" ; then if test "$DIRECT_coll" = "inter" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_coll" = "1" then : want_component=0 fi if test "${DISABLE_coll_inter}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=1 else case e in @%:@( e) should_build=0 ;; esac fi if test ${ompi_coll_inter_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_coll" SHARED_COMPONENT="$DSO_coll_inter" STATIC_FRAMEWORK="$STATIC_coll" STATIC_COMPONENT="$STATIC_coll_inter" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_coll_inter_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component coll:inter compile mode" >&5 printf %s "checking for MCA component coll:inter compile mode... " >&6; } if test "$DIRECT_coll" = "inter" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_coll_inter_compile_mode opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" ; then # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/coll/inter/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components inter" if test "$compile_mode" = "dso" ; then dso_components="$dso_components inter" else if test "coll" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/coll/inter/lib${OMPI_LIB_NAME}mca_coll_inter.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/coll/inter/libmca_coll_inter.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_coll_inter_component;" >> $outfile.extern echo " &mca_coll_inter_component, " >> $outfile.struct static_components="$static_components inter" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component coll:inter can compile" >&5 printf %s "checking if MCA component coll:inter can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_coll" = "inter" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_coll_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** coll component inter was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_coll" = "inter" ; then as_fn_error $? "*** coll component inter was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${coll_inter_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${coll_inter_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${coll_inter_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${coll_inter_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${coll_inter_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${coll_inter_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$coll_inter_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $coll_inter_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring coll_inter_WRAPPER_EXTRA_CPPFLAGS ($coll_inter_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring coll_inter_WRAPPER_EXTRA_CPPFLAGS ($coll_inter_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component coll:inter can compile" >&5 printf %s "checking if MCA component coll:inter can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_coll" = "inter" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"inter\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"inter\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_coll" ; then if test "$DIRECT_coll" = "inter" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"inter\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"inter\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components inter" fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" ; then BUILD_ompi_coll_inter_DSO=1 else BUILD_ompi_coll_inter_DSO=0 fi if test "$BUILD_ompi_coll_inter_DSO" = "1"; then MCA_BUILD_ompi_coll_inter_DSO_TRUE= MCA_BUILD_ompi_coll_inter_DSO_FALSE='#' else MCA_BUILD_ompi_coll_inter_DSO_TRUE='#' MCA_BUILD_ompi_coll_inter_DSO_FALSE= fi ac_config_files="$ac_config_files ompi/mca/coll/inter/Makefile" unset compile_mode opal_show_subsubsubtitle "MCA component coll:libnbc (no configuration)" opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: before, should_build=1" component_path="$srcdir/ompi/mca/coll/libnbc" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_coll" ; then if test "$DIRECT_coll" = "libnbc" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_coll" = "1" then : want_component=0 fi if test "${DISABLE_coll_libnbc}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=1 else case e in @%:@( e) should_build=0 ;; esac fi if test ${ompi_coll_libnbc_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_coll" SHARED_COMPONENT="$DSO_coll_libnbc" STATIC_FRAMEWORK="$STATIC_coll" STATIC_COMPONENT="$STATIC_coll_libnbc" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_coll_libnbc_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component coll:libnbc compile mode" >&5 printf %s "checking for MCA component coll:libnbc compile mode... " >&6; } if test "$DIRECT_coll" = "libnbc" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_coll_libnbc_compile_mode opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" ; then # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/coll/libnbc/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components libnbc" if test "$compile_mode" = "dso" ; then dso_components="$dso_components libnbc" else if test "coll" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/coll/libnbc/lib${OMPI_LIB_NAME}mca_coll_libnbc.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/coll/libnbc/libmca_coll_libnbc.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_coll_libnbc_component;" >> $outfile.extern echo " &mca_coll_libnbc_component, " >> $outfile.struct static_components="$static_components libnbc" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component coll:libnbc can compile" >&5 printf %s "checking if MCA component coll:libnbc can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_coll" = "libnbc" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_coll_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** coll component libnbc was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_coll" = "libnbc" ; then as_fn_error $? "*** coll component libnbc was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${coll_libnbc_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${coll_libnbc_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${coll_libnbc_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${coll_libnbc_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${coll_libnbc_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${coll_libnbc_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$coll_libnbc_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $coll_libnbc_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring coll_libnbc_WRAPPER_EXTRA_CPPFLAGS ($coll_libnbc_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring coll_libnbc_WRAPPER_EXTRA_CPPFLAGS ($coll_libnbc_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component coll:libnbc can compile" >&5 printf %s "checking if MCA component coll:libnbc can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_coll" = "libnbc" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"libnbc\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"libnbc\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_coll" ; then if test "$DIRECT_coll" = "libnbc" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"libnbc\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"libnbc\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components libnbc" fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" ; then BUILD_ompi_coll_libnbc_DSO=1 else BUILD_ompi_coll_libnbc_DSO=0 fi if test "$BUILD_ompi_coll_libnbc_DSO" = "1"; then MCA_BUILD_ompi_coll_libnbc_DSO_TRUE= MCA_BUILD_ompi_coll_libnbc_DSO_FALSE='#' else MCA_BUILD_ompi_coll_libnbc_DSO_TRUE='#' MCA_BUILD_ompi_coll_libnbc_DSO_FALSE= fi ac_config_files="$ac_config_files ompi/mca/coll/libnbc/Makefile" unset compile_mode opal_show_subsubsubtitle "MCA component coll:self (no configuration)" opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: before, should_build=1" component_path="$srcdir/ompi/mca/coll/self" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_coll" ; then if test "$DIRECT_coll" = "self" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_coll" = "1" then : want_component=0 fi if test "${DISABLE_coll_self}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=1 else case e in @%:@( e) should_build=0 ;; esac fi if test ${ompi_coll_self_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_coll" SHARED_COMPONENT="$DSO_coll_self" STATIC_FRAMEWORK="$STATIC_coll" STATIC_COMPONENT="$STATIC_coll_self" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_coll_self_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component coll:self compile mode" >&5 printf %s "checking for MCA component coll:self compile mode... " >&6; } if test "$DIRECT_coll" = "self" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_coll_self_compile_mode opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" ; then # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/coll/self/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components self" if test "$compile_mode" = "dso" ; then dso_components="$dso_components self" else if test "coll" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/coll/self/lib${OMPI_LIB_NAME}mca_coll_self.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/coll/self/libmca_coll_self.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_coll_self_component;" >> $outfile.extern echo " &mca_coll_self_component, " >> $outfile.struct static_components="$static_components self" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component coll:self can compile" >&5 printf %s "checking if MCA component coll:self can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_coll" = "self" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_coll_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** coll component self was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_coll" = "self" ; then as_fn_error $? "*** coll component self was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${coll_self_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${coll_self_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${coll_self_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${coll_self_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${coll_self_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${coll_self_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$coll_self_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $coll_self_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring coll_self_WRAPPER_EXTRA_CPPFLAGS ($coll_self_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring coll_self_WRAPPER_EXTRA_CPPFLAGS ($coll_self_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component coll:self can compile" >&5 printf %s "checking if MCA component coll:self can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_coll" = "self" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"self\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"self\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_coll" ; then if test "$DIRECT_coll" = "self" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"self\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"self\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components self" fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" ; then BUILD_ompi_coll_self_DSO=1 else BUILD_ompi_coll_self_DSO=0 fi if test "$BUILD_ompi_coll_self_DSO" = "1"; then MCA_BUILD_ompi_coll_self_DSO_TRUE= MCA_BUILD_ompi_coll_self_DSO_FALSE='#' else MCA_BUILD_ompi_coll_self_DSO_TRUE='#' MCA_BUILD_ompi_coll_self_DSO_FALSE= fi ac_config_files="$ac_config_files ompi/mca/coll/self/Makefile" unset compile_mode opal_show_subsubsubtitle "MCA component coll:sync (no configuration)" opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: before, should_build=1" component_path="$srcdir/ompi/mca/coll/sync" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_coll" ; then if test "$DIRECT_coll" = "sync" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_coll" = "1" then : want_component=0 fi if test "${DISABLE_coll_sync}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=1 else case e in @%:@( e) should_build=0 ;; esac fi if test ${ompi_coll_sync_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_coll" SHARED_COMPONENT="$DSO_coll_sync" STATIC_FRAMEWORK="$STATIC_coll" STATIC_COMPONENT="$STATIC_coll_sync" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_coll_sync_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component coll:sync compile mode" >&5 printf %s "checking for MCA component coll:sync compile mode... " >&6; } if test "$DIRECT_coll" = "sync" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_coll_sync_compile_mode opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" ; then # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/coll/sync/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components sync" if test "$compile_mode" = "dso" ; then dso_components="$dso_components sync" else if test "coll" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/coll/sync/lib${OMPI_LIB_NAME}mca_coll_sync.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/coll/sync/libmca_coll_sync.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_coll_sync_component;" >> $outfile.extern echo " &mca_coll_sync_component, " >> $outfile.struct static_components="$static_components sync" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component coll:sync can compile" >&5 printf %s "checking if MCA component coll:sync can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_coll" = "sync" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_coll_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** coll component sync was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_coll" = "sync" ; then as_fn_error $? "*** coll component sync was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${coll_sync_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${coll_sync_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${coll_sync_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${coll_sync_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${coll_sync_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${coll_sync_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$coll_sync_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $coll_sync_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring coll_sync_WRAPPER_EXTRA_CPPFLAGS ($coll_sync_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring coll_sync_WRAPPER_EXTRA_CPPFLAGS ($coll_sync_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component coll:sync can compile" >&5 printf %s "checking if MCA component coll:sync can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_coll" = "sync" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"sync\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"sync\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_coll" ; then if test "$DIRECT_coll" = "sync" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"sync\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"sync\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components sync" fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" ; then BUILD_ompi_coll_sync_DSO=1 else BUILD_ompi_coll_sync_DSO=0 fi if test "$BUILD_ompi_coll_sync_DSO" = "1"; then MCA_BUILD_ompi_coll_sync_DSO_TRUE= MCA_BUILD_ompi_coll_sync_DSO_FALSE='#' else MCA_BUILD_ompi_coll_sync_DSO_TRUE='#' MCA_BUILD_ompi_coll_sync_DSO_FALSE= fi ac_config_files="$ac_config_files ompi/mca/coll/sync/Makefile" unset compile_mode opal_show_subsubsubtitle "MCA component coll:tuned (no configuration)" opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: before, should_build=1" component_path="$srcdir/ompi/mca/coll/tuned" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_coll" ; then if test "$DIRECT_coll" = "tuned" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_coll" = "1" then : want_component=0 fi if test "${DISABLE_coll_tuned}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=1 else case e in @%:@( e) should_build=0 ;; esac fi if test ${ompi_coll_tuned_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_coll" SHARED_COMPONENT="$DSO_coll_tuned" STATIC_FRAMEWORK="$STATIC_coll" STATIC_COMPONENT="$STATIC_coll_tuned" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_coll_tuned_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component coll:tuned compile mode" >&5 printf %s "checking for MCA component coll:tuned compile mode... " >&6; } if test "$DIRECT_coll" = "tuned" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_coll_tuned_compile_mode opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" ; then # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/coll/tuned/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components tuned" if test "$compile_mode" = "dso" ; then dso_components="$dso_components tuned" else if test "coll" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/coll/tuned/lib${OMPI_LIB_NAME}mca_coll_tuned.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/coll/tuned/libmca_coll_tuned.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_coll_tuned_component;" >> $outfile.extern echo " &mca_coll_tuned_component, " >> $outfile.struct static_components="$static_components tuned" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component coll:tuned can compile" >&5 printf %s "checking if MCA component coll:tuned can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_coll" = "tuned" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_coll_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** coll component tuned was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_coll" = "tuned" ; then as_fn_error $? "*** coll component tuned was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${coll_tuned_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${coll_tuned_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${coll_tuned_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${coll_tuned_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${coll_tuned_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${coll_tuned_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$coll_tuned_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $coll_tuned_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring coll_tuned_WRAPPER_EXTRA_CPPFLAGS ($coll_tuned_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring coll_tuned_WRAPPER_EXTRA_CPPFLAGS ($coll_tuned_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component coll:tuned can compile" >&5 printf %s "checking if MCA component coll:tuned can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_coll" = "tuned" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"tuned\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"tuned\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_coll" ; then if test "$DIRECT_coll" = "tuned" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"tuned\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"tuned\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components tuned" fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" ; then BUILD_ompi_coll_tuned_DSO=1 else BUILD_ompi_coll_tuned_DSO=0 fi if test "$BUILD_ompi_coll_tuned_DSO" = "1"; then MCA_BUILD_ompi_coll_tuned_DSO_TRUE= MCA_BUILD_ompi_coll_tuned_DSO_FALSE='#' else MCA_BUILD_ompi_coll_tuned_DSO_TRUE='#' MCA_BUILD_ompi_coll_tuned_DSO_FALSE= fi ac_config_files="$ac_config_files ompi/mca/coll/tuned/Makefile" unset compile_mode # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=1 components_last_result=0 opal_show_subsubsubtitle "MCA component coll:cuda (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/ompi/mca/coll/cuda" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_coll" ; then if test "$DIRECT_coll" = "cuda" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_coll" = "1" then : want_component=0 fi if test "${DISABLE_coll_cuda}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${ompi_coll_cuda_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_coll" SHARED_COMPONENT="$DSO_coll_cuda" STATIC_FRAMEWORK="$STATIC_coll" STATIC_COMPONENT="$STATIC_coll_cuda" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_coll_cuda_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component coll:cuda compile mode" >&5 printf %s "checking for MCA component coll:cuda compile mode... " >&6; } if test "$DIRECT_coll" = "cuda" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_coll_cuda_compile_mode # try to configure the component ac_config_files="$ac_config_files ompi/mca/coll/cuda/Makefile" # make sure that CUDA-aware checks have been done # Only build if CUDA support is available if test "x$CUDA_SUPPORT" = "x1" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/coll/cuda/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components cuda" if test "$compile_mode" = "dso" ; then dso_components="$dso_components cuda" else if test "coll" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/coll/cuda/lib${OMPI_LIB_NAME}mca_coll_cuda.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/coll/cuda/libmca_coll_cuda.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_coll_cuda_component;" >> $outfile.extern echo " &mca_coll_cuda_component, " >> $outfile.struct static_components="$static_components cuda" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component coll:cuda can compile" >&5 printf %s "checking if MCA component coll:cuda can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_coll" = "cuda" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_coll_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** coll component cuda was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_coll" = "cuda" ; then as_fn_error $? "*** coll component cuda was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${coll_cuda_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${coll_cuda_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${coll_cuda_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${coll_cuda_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${coll_cuda_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${coll_cuda_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$coll_cuda_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $coll_cuda_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring coll_cuda_WRAPPER_EXTRA_CPPFLAGS ($coll_cuda_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring coll_cuda_WRAPPER_EXTRA_CPPFLAGS ($coll_cuda_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component coll:cuda can compile" >&5 printf %s "checking if MCA component coll:cuda can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_coll" = "cuda" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"cuda\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"cuda\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_coll" ; then if test "$DIRECT_coll" = "cuda" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"cuda\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"cuda\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components cuda" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_ompi_coll_cuda_DSO=1 else case e in @%:@( e) BUILD_ompi_coll_cuda_DSO=0 ;; esac fi if test "$BUILD_ompi_coll_cuda_DSO" = "1"; then MCA_BUILD_ompi_coll_cuda_DSO_TRUE= MCA_BUILD_ompi_coll_cuda_DSO_FALSE='#' else MCA_BUILD_ompi_coll_cuda_DSO_TRUE='#' MCA_BUILD_ompi_coll_cuda_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component coll:ftagree (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/ompi/mca/coll/ftagree" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_coll" ; then if test "$DIRECT_coll" = "ftagree" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_coll" = "1" then : want_component=0 fi if test "${DISABLE_coll_ftagree}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${ompi_coll_ftagree_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_coll" SHARED_COMPONENT="$DSO_coll_ftagree" STATIC_FRAMEWORK="$STATIC_coll" STATIC_COMPONENT="$STATIC_coll_ftagree" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_coll_ftagree_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component coll:ftagree compile mode" >&5 printf %s "checking for MCA component coll:ftagree compile mode... " >&6; } if test "$DIRECT_coll" = "ftagree" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_coll_ftagree_compile_mode # try to configure the component ac_config_files="$ac_config_files ompi/mca/coll/ftagree/Makefile" # If we don't want FT, don't compile this component if test "$opal_want_ft_mpi" = "1" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/coll/ftagree/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components ftagree" if test "$compile_mode" = "dso" ; then dso_components="$dso_components ftagree" else if test "coll" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/coll/ftagree/lib${OMPI_LIB_NAME}mca_coll_ftagree.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/coll/ftagree/libmca_coll_ftagree.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_coll_ftagree_component;" >> $outfile.extern echo " &mca_coll_ftagree_component, " >> $outfile.struct static_components="$static_components ftagree" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component coll:ftagree can compile" >&5 printf %s "checking if MCA component coll:ftagree can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_coll" = "ftagree" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_coll_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** coll component ftagree was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_coll" = "ftagree" ; then as_fn_error $? "*** coll component ftagree was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${coll_ftagree_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${coll_ftagree_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${coll_ftagree_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${coll_ftagree_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${coll_ftagree_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${coll_ftagree_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$coll_ftagree_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $coll_ftagree_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring coll_ftagree_WRAPPER_EXTRA_CPPFLAGS ($coll_ftagree_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring coll_ftagree_WRAPPER_EXTRA_CPPFLAGS ($coll_ftagree_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component coll:ftagree can compile" >&5 printf %s "checking if MCA component coll:ftagree can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_coll" = "ftagree" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ftagree\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ftagree\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_coll" ; then if test "$DIRECT_coll" = "ftagree" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ftagree\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ftagree\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components ftagree" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_ompi_coll_ftagree_DSO=1 else case e in @%:@( e) BUILD_ompi_coll_ftagree_DSO=0 ;; esac fi if test "$BUILD_ompi_coll_ftagree_DSO" = "1"; then MCA_BUILD_ompi_coll_ftagree_DSO_TRUE= MCA_BUILD_ompi_coll_ftagree_DSO_FALSE='#' else MCA_BUILD_ompi_coll_ftagree_DSO_TRUE='#' MCA_BUILD_ompi_coll_ftagree_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component coll:hcoll (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/ompi/mca/coll/hcoll" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_coll" ; then if test "$DIRECT_coll" = "hcoll" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_coll" = "1" then : want_component=0 fi if test "${DISABLE_coll_hcoll}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${ompi_coll_hcoll_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_coll" SHARED_COMPONENT="$DSO_coll_hcoll" STATIC_FRAMEWORK="$STATIC_coll" STATIC_COMPONENT="$STATIC_coll_hcoll" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_coll_hcoll_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component coll:hcoll compile mode" >&5 printf %s "checking for MCA component coll:hcoll compile mode... " >&6; } if test "$DIRECT_coll" = "hcoll" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_coll_hcoll_compile_mode # try to configure the component ac_config_files="$ac_config_files ompi/mca/coll/hcoll/Makefile" opal_var_scope_push ${LINENO} ompi_check_hcoll_happy CPPFLAGS_save LDFLAGS_save LIBS_save @%:@ Check whether --with-hcoll was given. if test ${with_hcoll+y} then : withval=$with_hcoll; fi # ****************************** START CHECK PACKAGE FOR hcoll ****************************** oac_var_scope_push ${LINENO} check_package_coll_hcoll_save_CPPFLAGS check_package_coll_hcoll_save_LDFLAGS check_package_coll_hcoll_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_coll_hcoll_save_CPPFLAGS="${CPPFLAGS}" check_package_coll_hcoll_save_LDFLAGS="${LDFLAGS}" check_package_coll_hcoll_save_LIBS="${LIBS}" coll_hcoll_CPPFLAGS= coll_hcoll_LDFLAGS= coll_hcoll_STATIC_LDFLAGS= coll_hcoll_LIBS= coll_hcoll_STATIC_LIBS= { coll_hcoll_PC_MODULES=; unset coll_hcoll_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_hcoll" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package hcoll disabled by user" >&5 printf "%s\n" "$as_me: Package hcoll disabled by user" >&6;} check_package_happy=0 elif test "${with_hcoll}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_hcoll}" ;; esac fi check_package_libdir= if test "${with_hcoll_libdir}" = "no" -o "${with_hcoll_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-hcoll-libdir" "$LINENO" 5 elif test -n "${with_hcoll_libdir}" then : check_package_libdir="${with_hcoll_libdir}" fi check_package_incdir= if test "${with_hcoll_incdir}" = "no" -o "${with_hcoll_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-hcoll-incdir" "$LINENO" 5 elif test -n "${with_hcoll_incdir}" then : check_package_incdir="${with_hcoll_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${hcoll_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-hcoll or --with-hcoll-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-hcoll only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hcoll pkg-config name" >&5 printf %s "checking for hcoll pkg-config name... " >&6; } if test ${oac_cv_check_package_hcoll_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_hcoll_pcfilename="hcoll" if test -n "${check_package_libdir}" then : oac_cv_check_package_hcoll_pcfilename="${check_package_libdir}/pkgconfig/hcoll.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_hcoll_pcfilename="hcoll" elif test -r "${check_package_prefix}/lib/pkgconfig/hcoll.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/hcoll.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found hcoll in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-hcoll-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_hcoll_pcfilename="${check_package_prefix}/lib/pkgconfig/hcoll.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/hcoll.pc" then : oac_cv_check_package_hcoll_pcfilename="${check_package_prefix}/lib64/pkgconfig/hcoll.pc" else case e in @%:@( e) oac_cv_check_package_hcoll_pcfilename="${check_package_prefix}/lib/pkgconfig/hcoll.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_hcoll_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_hcoll_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if hcoll pkg-config module exists" >&5 printf %s "checking if hcoll pkg-config module exists... " >&6; } if test ${oac_cv_check_package_hcoll_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_hcoll_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_hcoll_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : coll_hcoll_PC_MODULES=${oac_cv_check_package_hcoll_pcfilename} oac_cv_check_package_hcoll_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_hcoll_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_hcoll_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_hcoll_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_hcoll_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hcoll pkg-config cflags" >&5 printf %s "checking for hcoll pkg-config cflags... " >&6; } if test ${oac_cv_check_package_hcoll_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_hcoll_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_hcoll_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_hcoll_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving hcoll cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_hcoll_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_hcoll_pkg_config_cppflags" >&6; } coll_hcoll_CPPFLAGS="${oac_cv_check_package_hcoll_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hcoll pkg-config ldflags" >&5 printf %s "checking for hcoll pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_hcoll_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_hcoll_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_hcoll_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_hcoll_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving hcoll ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_hcoll_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_hcoll_pkg_config_ldflags" >&6; } coll_hcoll_LDFLAGS="${oac_cv_check_package_hcoll_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hcoll pkg-config static ldflags" >&5 printf %s "checking for hcoll pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_hcoll_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_hcoll_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_hcoll_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_hcoll_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving hcoll static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_hcoll_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_hcoll_pkg_config_static_ldflags" >&6; } coll_hcoll_STATIC_LDFLAGS="${oac_cv_check_package_hcoll_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hcoll pkg-config libs" >&5 printf %s "checking for hcoll pkg-config libs... " >&6; } if test ${oac_cv_check_package_hcoll_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_hcoll_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_hcoll_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_hcoll_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving hcoll libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_hcoll_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_hcoll_pkg_config_libs" >&6; } coll_hcoll_LIBS="${oac_cv_check_package_hcoll_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hcoll pkg-config static libs" >&5 printf %s "checking for hcoll pkg-config static libs... " >&6; } if test ${oac_cv_check_package_hcoll_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_hcoll_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_hcoll_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_hcoll_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving hcoll libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_hcoll_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_hcoll_pkg_config_static_libs" >&6; } coll_hcoll_STATIC_LIBS="${oac_cv_check_package_hcoll_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${hcoll_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-hcoll argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hcoll wrapper compiler" >&5 printf %s "checking for hcoll wrapper compiler... " >&6; } if test ${oac_cv_check_package_hcoll_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_hcoll_wrapper_compiler="hcollcc" else case e in @%:@( e) oac_cv_check_package_hcoll_wrapper_compiler="${check_package_prefix}/bin/hcollcc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_hcoll_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_hcoll_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if hcoll wrapper compiler works" >&5 printf %s "checking if hcoll wrapper compiler works... " >&6; } if test ${oac_cv_check_package_hcoll_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_hcoll_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_hcoll_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_hcoll_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_hcoll_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_hcoll_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_hcoll_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_hcoll_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hcoll wrapper compiler cppflags" >&5 printf %s "checking for hcoll wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_hcoll_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_hcoll_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_hcoll_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_hcoll_wrapper_compiler_cppflags}" then : oac_cv_check_package_hcoll_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_hcoll_wrapper_compiler_cppflags="${oac_cv_check_package_hcoll_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving hcoll cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_hcoll_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_hcoll_wrapper_compiler_cppflags" >&6; } coll_hcoll_CPPFLAGS="${oac_cv_check_package_hcoll_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hcoll wrapper compiler ldflags" >&5 printf %s "checking for hcoll wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_hcoll_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_hcoll_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_hcoll_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_hcoll_wrapper_compiler_ldflags}" then : oac_cv_check_package_hcoll_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_hcoll_wrapper_compiler_ldflags="${oac_cv_check_package_hcoll_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving hcoll ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_hcoll_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_hcoll_wrapper_compiler_ldflags" >&6; } coll_hcoll_LDFLAGS="${oac_cv_check_package_hcoll_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hcoll wrapper compiler static ldflags" >&5 printf %s "checking for hcoll wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_hcoll_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_hcoll_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_hcoll_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_hcoll_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_hcoll_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_hcoll_wrapper_compiler_static_ldflags="${oac_cv_check_package_hcoll_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving hcoll static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_hcoll_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_hcoll_wrapper_compiler_static_ldflags" >&6; } coll_hcoll_STATIC_LDFLAGS="${oac_cv_check_package_hcoll_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hcoll wrapper compiler libs" >&5 printf %s "checking for hcoll wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_hcoll_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_hcoll_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_hcoll_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_hcoll_wrapper_compiler_libs}" then : oac_cv_check_package_hcoll_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_hcoll_wrapper_compiler_libs="${oac_cv_check_package_hcoll_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving hcoll libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_hcoll_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_hcoll_wrapper_compiler_libs" >&6; } coll_hcoll_LIBS="$oac_cv_check_package_hcoll_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hcoll wrapper compiler static libs" >&5 printf %s "checking for hcoll wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_hcoll_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_hcoll_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_hcoll_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_hcoll_wrapper_compiler_static_libs}" then : oac_cv_check_package_hcoll_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_hcoll_wrapper_compiler_static_libs="${oac_cv_check_package_hcoll_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving hcoll static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_hcoll_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_hcoll_wrapper_compiler_static_libs" >&6; } coll_hcoll_STATIC_LIBS="${oac_cv_check_package_hcoll_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "hcoll/api/hcoll_api.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "hcoll" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hcoll header at ${check_package_generic_incdir}" >&5 printf %s "checking for hcoll header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 coll_hcoll_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hcoll library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for hcoll library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 coll_hcoll_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hcoll library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for hcoll library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-hcoll-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 coll_hcoll_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 coll_hcoll_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 coll_hcoll_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for hcoll in default search paths" >&5 printf "%s\n" "$as_me: Searching for hcoll in default search paths" >&6;} hcoll_CPPFLAGS= hcoll_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in hcoll ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${coll_hcoll_LIBS}" then : coll_hcoll_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) coll_hcoll_LIBS="${coll_hcoll_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${coll_hcoll_STATIC_LIBS}" then : coll_hcoll_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) coll_hcoll_STATIC_LIBS="${coll_hcoll_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hcoll cppflags" >&5 printf %s "checking for hcoll cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $coll_hcoll_CPPFLAGS" >&5 printf "%s\n" "$coll_hcoll_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hcoll ldflags" >&5 printf %s "checking for hcoll ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $coll_hcoll_LDFLAGS" >&5 printf "%s\n" "$coll_hcoll_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hcoll libs" >&5 printf %s "checking for hcoll libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $coll_hcoll_LIBS" >&5 printf "%s\n" "$coll_hcoll_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for hcoll static libs" >&5 printf %s "checking for hcoll static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $coll_hcoll_STATIC_LIBS" >&5 printf "%s\n" "$coll_hcoll_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${coll_hcoll_LDFLAGS}" then : coll_hcoll_LDFLAGS="${coll_hcoll_STATIC_LDFLAGS}" else case e in @%:@( e) coll_hcoll_LDFLAGS="${coll_hcoll_LDFLAGS} ${coll_hcoll_STATIC_LDFLAGS}" ;; esac fi if test -z "${coll_hcoll_LIBS}" then : coll_hcoll_LIBS="${coll_hcoll_STATIC_LIBS}" else case e in @%:@( e) coll_hcoll_LIBS="${coll_hcoll_LIBS} ${coll_hcoll_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "hcoll/api/hcoll_api.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${coll_hcoll_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${coll_hcoll_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${coll_hcoll_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${coll_hcoll_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${coll_hcoll_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${coll_hcoll_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "hcoll_get_version" "ac_cv_func_hcoll_get_version" if test "x$ac_cv_func_hcoll_get_version" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if hcoll requires libnl v1 or v3" >&5 printf %s "checking if hcoll requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_hcoll+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void hcoll_get_version (void); int main(int argc, char *argv[]) { hcoll_get_version (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib hcoll" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib hcoll" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_hcoll=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_hcoll" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_hcoll" >&6; } result_msg=$opal_libnl_sanity_check_cv_hcoll this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, hcoll links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, hcoll links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libhcoll (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libhcoll (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libhcoll." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libhcoll." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas hcoll requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas hcoll requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libhcoll (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libhcoll (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libhcoll." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libhcoll." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs hcoll" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas hcoll requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas hcoll requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libhcoll (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libhcoll (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libhcoll." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libhcoll." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs hcoll" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi coll_hcoll_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : coll_hcoll_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) coll_hcoll_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi ompi_check_hcoll_happy="yes" else case e in @%:@( e) if test "${with_hcoll}" = "no" then : coll_hcoll_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) coll_hcoll_SUMMARY="no (not found)" ;; esac fi { coll_hcoll_CPPFLAGS=; unset coll_hcoll_CPPFLAGS;} { coll_hcoll_LDFLAGS=; unset coll_hcoll_LDFLAGS;} { coll_hcoll_STATIC_LDFLAGS=; unset coll_hcoll_STATIC_LDFLAGS;} { coll_hcoll_LIBS=; unset coll_hcoll_LIBS;} { coll_hcoll_STATIC_LIBS=; unset coll_hcoll_STATIC_LIBS;} ompi_check_hcoll_happy="no" ;; esac fi CPPFLAGS="${check_package_coll_hcoll_save_CPPFLAGS}" LDFLAGS="${check_package_coll_hcoll_save_LDFLAGS}" LIBS="${check_package_coll_hcoll_save_LIBS}" oac_var_scope_pop check_package_coll_hcoll_save_CPPFLAGS check_package_coll_hcoll_save_LDFLAGS check_package_coll_hcoll_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR hcoll ****************************** if test "$ompi_check_hcoll_happy" = "yes" then : CPPFLAGS_save=$CPPFLAGS LDFLAGS_save=$LDFLAGS LIBS_save=$LIBS CPPFLAGS="${coll_hcoll_CPPFLAGS} ${CPPFLAGS}" LDFLAGS="${coll_hcoll_LDFLAGS} ${LDFLAGS}" LIBS="${coll_hcoll_LIBS} ${LIBS}" ac_fn_c_check_func "$LINENO" "hcoll_context_free" "ac_cv_func_hcoll_context_free" if test "x$ac_cv_func_hcoll_context_free" = xyes then : printf "%s\n" "@%:@define HAVE_HCOLL_CONTEXT_FREE 1" >>confdefs.h fi CPPFLAGS=$CPPFLAGS_save LDFLAGS=$LDFLAGS_save LIBS=$LIBS_save fi if test "$ompi_check_hcoll_happy" = "yes" && test "$enable_progress_threads" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: hcoll driver does not currently support progress threads. Disabling HCOLL." >&5 printf "%s\n" "$as_me: WARNING: hcoll driver does not currently support progress threads. Disabling HCOLL." >&2;} ompi_check_hcoll_happy="no" fi if test "$ompi_check_hcoll_happy" = "yes" then : coll_hcoll_happy="yes" else case e in @%:@( e) if test ! -z "$with_hcoll" && test "$with_hcoll" != "no" then : as_fn_error $? "HCOLL support requested but not found. Aborting" "$LINENO" 5 fi coll_hcoll_happy="no" ;; esac fi opal_var_scope_pop ompi_check_hcoll_happy CPPFLAGS_save LDFLAGS_save LIBS_save if test "$coll_hcoll_happy" = "yes" then : coll_hcoll_WRAPPER_EXTRA_LDFLAGS="$coll_hcoll_LDFLAGS" coll_hcoll_CPPFLAGS="$coll_hcoll_CPPFLAGS" coll_hcoll_WRAPPER_EXTRA_LIBS="$coll_hcoll_LIBS" should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi # substitute in the things needed to build hcoll opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/coll/hcoll/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components hcoll" if test "$compile_mode" = "dso" ; then dso_components="$dso_components hcoll" else if test "coll" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/coll/hcoll/lib${OMPI_LIB_NAME}mca_coll_hcoll.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/coll/hcoll/libmca_coll_hcoll.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_coll_hcoll_component;" >> $outfile.extern echo " &mca_coll_hcoll_component, " >> $outfile.struct static_components="$static_components hcoll" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component coll:hcoll can compile" >&5 printf %s "checking if MCA component coll:hcoll can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_coll" = "hcoll" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_coll_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** coll component hcoll was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_coll" = "hcoll" ; then as_fn_error $? "*** coll component hcoll was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${coll_hcoll_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${coll_hcoll_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${coll_hcoll_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${coll_hcoll_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${coll_hcoll_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${coll_hcoll_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$coll_hcoll_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $coll_hcoll_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring coll_hcoll_WRAPPER_EXTRA_CPPFLAGS ($coll_hcoll_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring coll_hcoll_WRAPPER_EXTRA_CPPFLAGS ($coll_hcoll_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component coll:hcoll can compile" >&5 printf %s "checking if MCA component coll:hcoll can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_coll" = "hcoll" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"hcoll\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"hcoll\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_coll" ; then if test "$DIRECT_coll" = "hcoll" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"hcoll\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"hcoll\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components hcoll" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_ompi_coll_hcoll_DSO=1 else case e in @%:@( e) BUILD_ompi_coll_hcoll_DSO=0 ;; esac fi if test "$BUILD_ompi_coll_hcoll_DSO" = "1"; then MCA_BUILD_ompi_coll_hcoll_DSO_TRUE= MCA_BUILD_ompi_coll_hcoll_DSO_FALSE='#' else MCA_BUILD_ompi_coll_hcoll_DSO_TRUE='#' MCA_BUILD_ompi_coll_hcoll_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component coll:monitoring (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/ompi/mca/coll/monitoring" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_coll" ; then if test "$DIRECT_coll" = "monitoring" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_coll" = "1" then : want_component=0 fi if test "${DISABLE_coll_monitoring}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${ompi_coll_monitoring_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_coll" SHARED_COMPONENT="$DSO_coll_monitoring" STATIC_FRAMEWORK="$STATIC_coll" STATIC_COMPONENT="$STATIC_coll_monitoring" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_coll_monitoring_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component coll:monitoring compile mode" >&5 printf %s "checking for MCA component coll:monitoring compile mode... " >&6; } if test "$DIRECT_coll" = "monitoring" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_coll_monitoring_compile_mode # try to configure the component ac_config_files="$ac_config_files ompi/mca/coll/monitoring/Makefile" should_build=$should_build opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/coll/monitoring/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components monitoring" if test "$compile_mode" = "dso" ; then dso_components="$dso_components monitoring" else if test "coll" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/coll/monitoring/lib${OMPI_LIB_NAME}mca_coll_monitoring.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/coll/monitoring/libmca_coll_monitoring.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_coll_monitoring_component;" >> $outfile.extern echo " &mca_coll_monitoring_component, " >> $outfile.struct static_components="$static_components monitoring" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component coll:monitoring can compile" >&5 printf %s "checking if MCA component coll:monitoring can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_coll" = "monitoring" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_coll_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** coll component monitoring was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_coll" = "monitoring" ; then as_fn_error $? "*** coll component monitoring was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${coll_monitoring_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${coll_monitoring_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${coll_monitoring_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${coll_monitoring_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${coll_monitoring_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${coll_monitoring_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$coll_monitoring_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $coll_monitoring_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring coll_monitoring_WRAPPER_EXTRA_CPPFLAGS ($coll_monitoring_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring coll_monitoring_WRAPPER_EXTRA_CPPFLAGS ($coll_monitoring_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component coll:monitoring can compile" >&5 printf %s "checking if MCA component coll:monitoring can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_coll" = "monitoring" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"monitoring\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"monitoring\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_coll" ; then if test "$DIRECT_coll" = "monitoring" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"monitoring\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"monitoring\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components monitoring" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_ompi_coll_monitoring_DSO=1 else case e in @%:@( e) BUILD_ompi_coll_monitoring_DSO=0 ;; esac fi if test "$BUILD_ompi_coll_monitoring_DSO" = "1"; then MCA_BUILD_ompi_coll_monitoring_DSO_TRUE= MCA_BUILD_ompi_coll_monitoring_DSO_FALSE='#' else MCA_BUILD_ompi_coll_monitoring_DSO_TRUE='#' MCA_BUILD_ompi_coll_monitoring_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component coll:portals4 (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/ompi/mca/coll/portals4" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_coll" ; then if test "$DIRECT_coll" = "portals4" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_coll" = "1" then : want_component=0 fi if test "${DISABLE_coll_portals4}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${ompi_coll_portals4_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_coll" SHARED_COMPONENT="$DSO_coll_portals4" STATIC_FRAMEWORK="$STATIC_coll" STATIC_COMPONENT="$STATIC_coll_portals4" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_coll_portals4_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component coll:portals4 compile mode" >&5 printf %s "checking for MCA component coll:portals4 compile mode... " >&6; } if test "$DIRECT_coll" = "portals4" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_coll_portals4_compile_mode # try to configure the component ac_config_files="$ac_config_files ompi/mca/coll/portals4/Makefile" opal_var_scope_push ${LINENO} ompi_check_portals4_happy max_md_size max_va_size @%:@ Check whether --with-portals4 was given. if test ${with_portals4+y} then : withval=$with_portals4; fi @%:@ Check whether --with-portals4-libdir was given. if test ${with_portals4_libdir+y} then : withval=$with_portals4_libdir; fi # ****************************** START CHECK PACKAGE FOR portals4 ****************************** oac_var_scope_push ${LINENO} check_package_coll_portals4_save_CPPFLAGS check_package_coll_portals4_save_LDFLAGS check_package_coll_portals4_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_coll_portals4_save_CPPFLAGS="${CPPFLAGS}" check_package_coll_portals4_save_LDFLAGS="${LDFLAGS}" check_package_coll_portals4_save_LIBS="${LIBS}" coll_portals4_CPPFLAGS= coll_portals4_LDFLAGS= coll_portals4_STATIC_LDFLAGS= coll_portals4_LIBS= coll_portals4_STATIC_LIBS= { coll_portals4_PC_MODULES=; unset coll_portals4_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_portals4" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package portals4 disabled by user" >&5 printf "%s\n" "$as_me: Package portals4 disabled by user" >&6;} check_package_happy=0 elif test "${with_portals4}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_portals4}" ;; esac fi check_package_libdir= if test "${with_portals4_libdir}" = "no" -o "${with_portals4_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-portals4-libdir" "$LINENO" 5 elif test -n "${with_portals4_libdir}" then : check_package_libdir="${with_portals4_libdir}" fi check_package_incdir= if test "${with_portals4_incdir}" = "no" -o "${with_portals4_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-portals4-incdir" "$LINENO" 5 elif test -n "${with_portals4_incdir}" then : check_package_incdir="${with_portals4_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${portals4_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-portals4 or --with-portals4-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-portals4 only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 pkg-config name" >&5 printf %s "checking for portals4 pkg-config name... " >&6; } if test ${oac_cv_check_package_portals4_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_portals4_pcfilename="portals4" if test -n "${check_package_libdir}" then : oac_cv_check_package_portals4_pcfilename="${check_package_libdir}/pkgconfig/portals4.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_portals4_pcfilename="portals4" elif test -r "${check_package_prefix}/lib/pkgconfig/portals4.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/portals4.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found portals4 in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-portals4-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_portals4_pcfilename="${check_package_prefix}/lib/pkgconfig/portals4.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/portals4.pc" then : oac_cv_check_package_portals4_pcfilename="${check_package_prefix}/lib64/pkgconfig/portals4.pc" else case e in @%:@( e) oac_cv_check_package_portals4_pcfilename="${check_package_prefix}/lib/pkgconfig/portals4.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_portals4_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if portals4 pkg-config module exists" >&5 printf %s "checking if portals4 pkg-config module exists... " >&6; } if test ${oac_cv_check_package_portals4_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_portals4_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_portals4_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : coll_portals4_PC_MODULES=${oac_cv_check_package_portals4_pcfilename} oac_cv_check_package_portals4_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_portals4_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_portals4_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_portals4_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 pkg-config cflags" >&5 printf %s "checking for portals4 pkg-config cflags... " >&6; } if test ${oac_cv_check_package_portals4_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_portals4_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_portals4_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_portals4_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_portals4_pkg_config_cppflags" >&6; } coll_portals4_CPPFLAGS="${oac_cv_check_package_portals4_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 pkg-config ldflags" >&5 printf %s "checking for portals4 pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_portals4_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_portals4_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_portals4_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_portals4_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_portals4_pkg_config_ldflags" >&6; } coll_portals4_LDFLAGS="${oac_cv_check_package_portals4_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 pkg-config static ldflags" >&5 printf %s "checking for portals4 pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_portals4_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_portals4_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_portals4_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_portals4_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_portals4_pkg_config_static_ldflags" >&6; } coll_portals4_STATIC_LDFLAGS="${oac_cv_check_package_portals4_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 pkg-config libs" >&5 printf %s "checking for portals4 pkg-config libs... " >&6; } if test ${oac_cv_check_package_portals4_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_portals4_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_portals4_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_portals4_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_portals4_pkg_config_libs" >&6; } coll_portals4_LIBS="${oac_cv_check_package_portals4_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 pkg-config static libs" >&5 printf %s "checking for portals4 pkg-config static libs... " >&6; } if test ${oac_cv_check_package_portals4_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_portals4_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_portals4_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_portals4_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_portals4_pkg_config_static_libs" >&6; } coll_portals4_STATIC_LIBS="${oac_cv_check_package_portals4_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${portals4_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-portals4 argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 wrapper compiler" >&5 printf %s "checking for portals4 wrapper compiler... " >&6; } if test ${oac_cv_check_package_portals4_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_portals4_wrapper_compiler="portals4cc" else case e in @%:@( e) oac_cv_check_package_portals4_wrapper_compiler="${check_package_prefix}/bin/portals4cc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_portals4_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if portals4 wrapper compiler works" >&5 printf %s "checking if portals4 wrapper compiler works... " >&6; } if test ${oac_cv_check_package_portals4_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_portals4_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_portals4_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_portals4_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_portals4_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 wrapper compiler cppflags" >&5 printf %s "checking for portals4 wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_portals4_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_portals4_wrapper_compiler_cppflags}" then : oac_cv_check_package_portals4_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_portals4_wrapper_compiler_cppflags="${oac_cv_check_package_portals4_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_portals4_wrapper_compiler_cppflags" >&6; } coll_portals4_CPPFLAGS="${oac_cv_check_package_portals4_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 wrapper compiler ldflags" >&5 printf %s "checking for portals4 wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_portals4_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_portals4_wrapper_compiler_ldflags}" then : oac_cv_check_package_portals4_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_portals4_wrapper_compiler_ldflags="${oac_cv_check_package_portals4_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_portals4_wrapper_compiler_ldflags" >&6; } coll_portals4_LDFLAGS="${oac_cv_check_package_portals4_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 wrapper compiler static ldflags" >&5 printf %s "checking for portals4 wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_portals4_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_portals4_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_portals4_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_portals4_wrapper_compiler_static_ldflags="${oac_cv_check_package_portals4_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_portals4_wrapper_compiler_static_ldflags" >&6; } coll_portals4_STATIC_LDFLAGS="${oac_cv_check_package_portals4_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 wrapper compiler libs" >&5 printf %s "checking for portals4 wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_portals4_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_portals4_wrapper_compiler_libs}" then : oac_cv_check_package_portals4_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_portals4_wrapper_compiler_libs="${oac_cv_check_package_portals4_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_portals4_wrapper_compiler_libs" >&6; } coll_portals4_LIBS="$oac_cv_check_package_portals4_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 wrapper compiler static libs" >&5 printf %s "checking for portals4 wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_portals4_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_portals4_wrapper_compiler_static_libs}" then : oac_cv_check_package_portals4_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_portals4_wrapper_compiler_static_libs="${oac_cv_check_package_portals4_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_portals4_wrapper_compiler_static_libs" >&6; } coll_portals4_STATIC_LIBS="${oac_cv_check_package_portals4_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "portals4.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "portals" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 header at ${check_package_generic_incdir}" >&5 printf %s "checking for portals4 header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 coll_portals4_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for portals4 library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 coll_portals4_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for portals4 library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-portals4-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 coll_portals4_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 coll_portals4_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 coll_portals4_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for portals4 in default search paths" >&5 printf "%s\n" "$as_me: Searching for portals4 in default search paths" >&6;} portals4_CPPFLAGS= portals4_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in portals ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${coll_portals4_LIBS}" then : coll_portals4_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) coll_portals4_LIBS="${coll_portals4_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${coll_portals4_STATIC_LIBS}" then : coll_portals4_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) coll_portals4_STATIC_LIBS="${coll_portals4_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 cppflags" >&5 printf %s "checking for portals4 cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $coll_portals4_CPPFLAGS" >&5 printf "%s\n" "$coll_portals4_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 ldflags" >&5 printf %s "checking for portals4 ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $coll_portals4_LDFLAGS" >&5 printf "%s\n" "$coll_portals4_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 libs" >&5 printf %s "checking for portals4 libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $coll_portals4_LIBS" >&5 printf "%s\n" "$coll_portals4_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 static libs" >&5 printf %s "checking for portals4 static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $coll_portals4_STATIC_LIBS" >&5 printf "%s\n" "$coll_portals4_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${coll_portals4_LDFLAGS}" then : coll_portals4_LDFLAGS="${coll_portals4_STATIC_LDFLAGS}" else case e in @%:@( e) coll_portals4_LDFLAGS="${coll_portals4_LDFLAGS} ${coll_portals4_STATIC_LDFLAGS}" ;; esac fi if test -z "${coll_portals4_LIBS}" then : coll_portals4_LIBS="${coll_portals4_STATIC_LIBS}" else case e in @%:@( e) coll_portals4_LIBS="${coll_portals4_LIBS} ${coll_portals4_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "portals4.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${coll_portals4_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${coll_portals4_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${coll_portals4_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${coll_portals4_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${coll_portals4_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${coll_portals4_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "PtlLEAppend" "ac_cv_func_PtlLEAppend" if test "x$ac_cv_func_PtlLEAppend" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if portals4 requires libnl v1 or v3" >&5 printf %s "checking if portals4 requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_portals4+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void PtlLEAppend (void); int main(int argc, char *argv[]) { PtlLEAppend (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib portals4" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib portals4" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_portals4=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_portals4" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_portals4" >&6; } result_msg=$opal_libnl_sanity_check_cv_portals4 this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, portals4 links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, portals4 links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libportals4 (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libportals4 (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libportals4." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libportals4." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas portals4 requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas portals4 requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libportals4 (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libportals4 (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libportals4." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libportals4." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs portals4" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas portals4 requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas portals4 requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libportals4 (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libportals4 (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libportals4." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libportals4." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs portals4" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi coll_portals4_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : coll_portals4_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) coll_portals4_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi ompi_check_portals4_happy="yes" else case e in @%:@( e) if test "${with_portals4}" = "no" then : coll_portals4_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) coll_portals4_SUMMARY="no (not found)" ;; esac fi { coll_portals4_CPPFLAGS=; unset coll_portals4_CPPFLAGS;} { coll_portals4_LDFLAGS=; unset coll_portals4_LDFLAGS;} { coll_portals4_STATIC_LDFLAGS=; unset coll_portals4_STATIC_LDFLAGS;} { coll_portals4_LIBS=; unset coll_portals4_LIBS;} { coll_portals4_STATIC_LIBS=; unset coll_portals4_STATIC_LIBS;} ompi_check_portals4_happy="no" ;; esac fi CPPFLAGS="${check_package_coll_portals4_save_CPPFLAGS}" LDFLAGS="${check_package_coll_portals4_save_LDFLAGS}" LIBS="${check_package_coll_portals4_save_LIBS}" oac_var_scope_pop check_package_coll_portals4_save_CPPFLAGS check_package_coll_portals4_save_LDFLAGS check_package_coll_portals4_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR portals4 ****************************** max_md_size=0 @%:@ Check whether --with-portals4-max-md-size was given. if test ${with_portals4_max_md_size+y} then : withval=$with_portals4_max_md_size; fi if test "$with_portals4_max_md_size" = "yes" || test "$with_portals4_max_md_size" = "no" then : as_fn_error $? "--with-portals4-max-md-size requires an integer argument" "$LINENO" 5 else case e in @%:@( e) if test -n "$with_portals4_max_md_size" then : max_md_size="$with_portals4_max_md_size" fi ;; esac fi printf "%s\n" "@%:@define OPAL_PORTALS4_MAX_MD_SIZE $max_md_size" >>confdefs.h max_va_size=0 @%:@ Check whether --with-portals4-max-va-size was given. if test ${with_portals4_max_va_size+y} then : withval=$with_portals4_max_va_size; fi if test "$with_portals4_max_va_size" = "yes" || test "$with_portals4_max_va_size" = "no" then : as_fn_error $? "--with-portals4-max-va-size requires an integer argument" "$LINENO" 5 else case e in @%:@( e) if test -n "$with_portals4_max_va_size" then : max_va_size="$with_portals4_max_va_size" fi ;; esac fi printf "%s\n" "@%:@define OPAL_PORTALS4_MAX_VA_SIZE $max_va_size" >>confdefs.h if (test $max_md_size -eq 0 && test $max_va_size -ne 0 ) || (test $max_md_size -ne 0 && test $max_va_size -eq 0 ) then : as_fn_error $? "If either --with-portals4-max-md-size or --with-portals4-max-va-size is set, both must be set." "$LINENO" 5 fi if test $max_md_size -ge $max_va_size then : max_md_size=0 max_va_size=0 fi if test $max_md_size -ne 0 && test $max_va_size -ne 0 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Portals 4 address space size: $max_md_size, $max_va_size" >&5 printf "%s\n" "$as_me: Portals 4 address space size: $max_md_size, $max_va_size" >&6;} fi 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="Portals4: ${coll_portals4_SUMMARY}" oac_summary_key="TransportsPortals4" # Use the section name variable as an indicator for whether or not # the section has already been created. if test ${oac_summary_section_Transports_name+y} then : else case e in @%:@( e) oac_summary_section_Transports_name="Transports" if test -z "${oac_summary_sections}" then : oac_summary_sections="Transports" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} Transports" ;; esac fi ;; esac 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 case e in @%:@( e) eval "${oac_summary_key}=1" if test ${oac_summary_section_Transports_value+y} then : as_fn_append oac_summary_section_Transports_value "${oac_summary_newline}${oac_summary_line}" else case e in @%:@( e) oac_summary_section_Transports_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key if test "$ompi_check_portals4_happy" = "yes" then : coll_portals4_happy="yes" else case e in @%:@( e) if test ! -z "$with_portals4" && test "$with_portals4" != "no" then : as_fn_error $? "Portals4 support requested but not found. Aborting" "$LINENO" 5 fi coll_portals4_happy="no" ;; esac fi opal_var_scope_pop ompi_check_portals4_happy max_md_size max_va_size if test "$coll_portals4_happy" = "yes" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/coll/portals4/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components portals4" if test "$compile_mode" = "dso" ; then dso_components="$dso_components portals4" else if test "coll" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/coll/portals4/lib${OMPI_LIB_NAME}mca_coll_portals4.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/coll/portals4/libmca_coll_portals4.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_coll_portals4_component;" >> $outfile.extern echo " &mca_coll_portals4_component, " >> $outfile.struct static_components="$static_components portals4" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component coll:portals4 can compile" >&5 printf %s "checking if MCA component coll:portals4 can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_coll" = "portals4" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_coll_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** coll component portals4 was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_coll" = "portals4" ; then as_fn_error $? "*** coll component portals4 was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${coll_portals4_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${coll_portals4_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${coll_portals4_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${coll_portals4_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${coll_portals4_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${coll_portals4_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$coll_portals4_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $coll_portals4_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring coll_portals4_WRAPPER_EXTRA_CPPFLAGS ($coll_portals4_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring coll_portals4_WRAPPER_EXTRA_CPPFLAGS ($coll_portals4_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component coll:portals4 can compile" >&5 printf %s "checking if MCA component coll:portals4 can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_coll" = "portals4" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"portals4\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"portals4\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_coll" ; then if test "$DIRECT_coll" = "portals4" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"portals4\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"portals4\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components portals4" ;; esac fi if test "$should_build" = "1" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for index in endpoint array for tag PORTALS4" >&5 printf %s "checking for index in endpoint array for tag PORTALS4... " >&6; } if test -z "$OMPI_PROC_ENDPOINT_TAG_PORTALS4" then : OMPI_PROC_ENDPOINT_TAG_PORTALS4=$ompi_endpoint_tag_counter printf "%s\n" "@%:@define OMPI_PROC_ENDPOINT_TAG_PORTALS4 $OMPI_PROC_ENDPOINT_TAG_PORTALS4" >>confdefs.h ompi_endpoint_tag_counter=`expr $ompi_endpoint_tag_counter + 1` fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OMPI_PROC_ENDPOINT_TAG_PORTALS4" >&5 printf "%s\n" "$OMPI_PROC_ENDPOINT_TAG_PORTALS4" >&6; } fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_ompi_coll_portals4_DSO=1 else case e in @%:@( e) BUILD_ompi_coll_portals4_DSO=0 ;; esac fi if test "$BUILD_ompi_coll_portals4_DSO" = "1"; then MCA_BUILD_ompi_coll_portals4_DSO_TRUE= MCA_BUILD_ompi_coll_portals4_DSO_FALSE='#' else MCA_BUILD_ompi_coll_portals4_DSO_TRUE='#' MCA_BUILD_ompi_coll_portals4_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component coll:sm (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/ompi/mca/coll/sm" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_coll" ; then if test "$DIRECT_coll" = "sm" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_coll" = "1" then : want_component=0 fi if test "${DISABLE_coll_sm}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${ompi_coll_sm_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_coll" SHARED_COMPONENT="$DSO_coll_sm" STATIC_FRAMEWORK="$STATIC_coll" STATIC_COMPONENT="$STATIC_coll_sm" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_coll_sm_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component coll:sm compile mode" >&5 printf %s "checking for MCA component coll:sm compile mode... " >&6; } if test "$DIRECT_coll" = "sm" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_coll_sm_compile_mode # try to configure the component ac_config_files="$ac_config_files ompi/mca/coll/sm/Makefile" opal_var_scope_push ${LINENO} component_compile_mode dependency_compile_mode if test ${ompi_coll_sm_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_coll" SHARED_COMPONENT="$DSO_coll_sm" STATIC_FRAMEWORK="$STATIC_coll" STATIC_COMPONENT="$STATIC_coll_sm" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_coll_sm_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component coll:sm compile mode" >&5 printf %s "checking for MCA component coll:sm compile mode... " >&6; } if test "$DIRECT_coll" = "sm" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi component_compile_mode=$ompi_coll_sm_compile_mode if test ${opal_common_sm_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_common" SHARED_COMPONENT="$DSO_common_sm" STATIC_FRAMEWORK="$STATIC_common" STATIC_COMPONENT="$STATIC_common_sm" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_common_sm_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component common:sm compile mode" >&5 printf %s "checking for MCA component common:sm compile mode... " >&6; } if test "$DIRECT_common" = "sm" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi dependency_compile_mode=$opal_common_sm_compile_mode if test "${component_compile_mode}" = "static" -a "${dependency_compile_mode}" = "dso" then : as_fn_error $? "Component coll:sm is set to build as a static component, but its dependency common:sm is set to build as a dynamic component. This configuration is not supported. Please either build common:sm as a static component or build coll:sm as a dynamic component." "$LINENO" 5 fi opal_var_scope_pop component_compile_mode dependency_compile_mode should_build=$should_build opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/coll/sm/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components sm" if test "$compile_mode" = "dso" ; then dso_components="$dso_components sm" else if test "coll" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/coll/sm/lib${OMPI_LIB_NAME}mca_coll_sm.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/coll/sm/libmca_coll_sm.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_coll_sm_component;" >> $outfile.extern echo " &mca_coll_sm_component, " >> $outfile.struct static_components="$static_components sm" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component coll:sm can compile" >&5 printf %s "checking if MCA component coll:sm can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_coll" = "sm" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_coll_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** coll component sm was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_coll" = "sm" ; then as_fn_error $? "*** coll component sm was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${coll_sm_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${coll_sm_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${coll_sm_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${coll_sm_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${coll_sm_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${coll_sm_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$coll_sm_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $coll_sm_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring coll_sm_WRAPPER_EXTRA_CPPFLAGS ($coll_sm_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring coll_sm_WRAPPER_EXTRA_CPPFLAGS ($coll_sm_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component coll:sm can compile" >&5 printf %s "checking if MCA component coll:sm can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_coll" = "sm" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"sm\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"sm\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_coll" ; then if test "$DIRECT_coll" = "sm" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"sm\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"sm\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components sm" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_ompi_coll_sm_DSO=1 else case e in @%:@( e) BUILD_ompi_coll_sm_DSO=0 ;; esac fi if test "$BUILD_ompi_coll_sm_DSO" = "1"; then MCA_BUILD_ompi_coll_sm_DSO_TRUE= MCA_BUILD_ompi_coll_sm_DSO_FALSE='#' else MCA_BUILD_ompi_coll_sm_DSO_TRUE='#' MCA_BUILD_ompi_coll_sm_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component coll:ucc (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/ompi/mca/coll/ucc" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_coll" ; then if test "$DIRECT_coll" = "ucc" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_coll" = "1" then : want_component=0 fi if test "${DISABLE_coll_ucc}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${ompi_coll_ucc_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_coll" SHARED_COMPONENT="$DSO_coll_ucc" STATIC_FRAMEWORK="$STATIC_coll" STATIC_COMPONENT="$STATIC_coll_ucc" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_coll_ucc_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component coll:ucc compile mode" >&5 printf %s "checking for MCA component coll:ucc compile mode... " >&6; } if test "$DIRECT_coll" = "ucc" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_coll_ucc_compile_mode # try to configure the component ac_config_files="$ac_config_files ompi/mca/coll/ucc/Makefile" opal_var_scope_push ${LINENO} ompi_check_ucc_happy CPPFLAGS_save LDFLAGS_save LIBS_save @%:@ Check whether --with-ucc was given. if test ${with_ucc+y} then : withval=$with_ucc; fi # ****************************** START CHECK PACKAGE FOR ucc ****************************** oac_var_scope_push ${LINENO} check_package_coll_ucc_save_CPPFLAGS check_package_coll_ucc_save_LDFLAGS check_package_coll_ucc_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_coll_ucc_save_CPPFLAGS="${CPPFLAGS}" check_package_coll_ucc_save_LDFLAGS="${LDFLAGS}" check_package_coll_ucc_save_LIBS="${LIBS}" coll_ucc_CPPFLAGS= coll_ucc_LDFLAGS= coll_ucc_STATIC_LDFLAGS= coll_ucc_LIBS= coll_ucc_STATIC_LIBS= { coll_ucc_PC_MODULES=; unset coll_ucc_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_ucc" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package ucc disabled by user" >&5 printf "%s\n" "$as_me: Package ucc disabled by user" >&6;} check_package_happy=0 elif test "${with_ucc}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_ucc}" ;; esac fi check_package_libdir= if test "${with_ucc_libdir}" = "no" -o "${with_ucc_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-ucc-libdir" "$LINENO" 5 elif test -n "${with_ucc_libdir}" then : check_package_libdir="${with_ucc_libdir}" fi check_package_incdir= if test "${with_ucc_incdir}" = "no" -o "${with_ucc_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-ucc-incdir" "$LINENO" 5 elif test -n "${with_ucc_incdir}" then : check_package_incdir="${with_ucc_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${ucc_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-ucc or --with-ucc-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-ucc only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucc pkg-config name" >&5 printf %s "checking for ucc pkg-config name... " >&6; } if test ${oac_cv_check_package_ucc_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_ucc_pcfilename="ucc" if test -n "${check_package_libdir}" then : oac_cv_check_package_ucc_pcfilename="${check_package_libdir}/pkgconfig/ucc.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_ucc_pcfilename="ucc" elif test -r "${check_package_prefix}/lib/pkgconfig/ucc.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/ucc.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found ucc in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-ucc-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_ucc_pcfilename="${check_package_prefix}/lib/pkgconfig/ucc.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/ucc.pc" then : oac_cv_check_package_ucc_pcfilename="${check_package_prefix}/lib64/pkgconfig/ucc.pc" else case e in @%:@( e) oac_cv_check_package_ucc_pcfilename="${check_package_prefix}/lib/pkgconfig/ucc.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucc_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_ucc_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ucc pkg-config module exists" >&5 printf %s "checking if ucc pkg-config module exists... " >&6; } if test ${oac_cv_check_package_ucc_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_ucc_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_ucc_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : coll_ucc_PC_MODULES=${oac_cv_check_package_ucc_pcfilename} oac_cv_check_package_ucc_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_ucc_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucc_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_ucc_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_ucc_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucc pkg-config cflags" >&5 printf %s "checking for ucc pkg-config cflags... " >&6; } if test ${oac_cv_check_package_ucc_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_ucc_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_ucc_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucc_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucc cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucc_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_ucc_pkg_config_cppflags" >&6; } coll_ucc_CPPFLAGS="${oac_cv_check_package_ucc_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucc pkg-config ldflags" >&5 printf %s "checking for ucc pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_ucc_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_ucc_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_ucc_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucc_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucc ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucc_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ucc_pkg_config_ldflags" >&6; } coll_ucc_LDFLAGS="${oac_cv_check_package_ucc_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucc pkg-config static ldflags" >&5 printf %s "checking for ucc pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_ucc_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_ucc_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_ucc_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucc_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucc static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucc_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ucc_pkg_config_static_ldflags" >&6; } coll_ucc_STATIC_LDFLAGS="${oac_cv_check_package_ucc_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucc pkg-config libs" >&5 printf %s "checking for ucc pkg-config libs... " >&6; } if test ${oac_cv_check_package_ucc_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_ucc_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_ucc_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucc_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucc libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucc_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_ucc_pkg_config_libs" >&6; } coll_ucc_LIBS="${oac_cv_check_package_ucc_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucc pkg-config static libs" >&5 printf %s "checking for ucc pkg-config static libs... " >&6; } if test ${oac_cv_check_package_ucc_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_ucc_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_ucc_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucc_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucc libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucc_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_ucc_pkg_config_static_libs" >&6; } coll_ucc_STATIC_LIBS="${oac_cv_check_package_ucc_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${ucc_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-ucc argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucc wrapper compiler" >&5 printf %s "checking for ucc wrapper compiler... " >&6; } if test ${oac_cv_check_package_ucc_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_ucc_wrapper_compiler="ucccc" else case e in @%:@( e) oac_cv_check_package_ucc_wrapper_compiler="${check_package_prefix}/bin/ucccc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucc_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_ucc_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ucc wrapper compiler works" >&5 printf %s "checking if ucc wrapper compiler works... " >&6; } if test ${oac_cv_check_package_ucc_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucc_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucc_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_ucc_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_ucc_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucc_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_ucc_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_ucc_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucc wrapper compiler cppflags" >&5 printf %s "checking for ucc wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_ucc_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucc_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucc_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucc_wrapper_compiler_cppflags}" then : oac_cv_check_package_ucc_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucc_wrapper_compiler_cppflags="${oac_cv_check_package_ucc_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucc cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucc_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_ucc_wrapper_compiler_cppflags" >&6; } coll_ucc_CPPFLAGS="${oac_cv_check_package_ucc_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucc wrapper compiler ldflags" >&5 printf %s "checking for ucc wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_ucc_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucc_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucc_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucc_wrapper_compiler_ldflags}" then : oac_cv_check_package_ucc_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucc_wrapper_compiler_ldflags="${oac_cv_check_package_ucc_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucc ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucc_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ucc_wrapper_compiler_ldflags" >&6; } coll_ucc_LDFLAGS="${oac_cv_check_package_ucc_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucc wrapper compiler static ldflags" >&5 printf %s "checking for ucc wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_ucc_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucc_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucc_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucc_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_ucc_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucc_wrapper_compiler_static_ldflags="${oac_cv_check_package_ucc_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucc static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucc_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ucc_wrapper_compiler_static_ldflags" >&6; } coll_ucc_STATIC_LDFLAGS="${oac_cv_check_package_ucc_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucc wrapper compiler libs" >&5 printf %s "checking for ucc wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_ucc_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucc_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucc_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucc_wrapper_compiler_libs}" then : oac_cv_check_package_ucc_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucc_wrapper_compiler_libs="${oac_cv_check_package_ucc_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucc libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucc_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_ucc_wrapper_compiler_libs" >&6; } coll_ucc_LIBS="$oac_cv_check_package_ucc_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucc wrapper compiler static libs" >&5 printf %s "checking for ucc wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_ucc_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucc_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucc_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucc_wrapper_compiler_static_libs}" then : oac_cv_check_package_ucc_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucc_wrapper_compiler_static_libs="${oac_cv_check_package_ucc_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucc static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucc_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_ucc_wrapper_compiler_static_libs" >&6; } coll_ucc_STATIC_LIBS="${oac_cv_check_package_ucc_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "ucc/api/ucc.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "ucc" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucc header at ${check_package_generic_incdir}" >&5 printf %s "checking for ucc header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 coll_ucc_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucc library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for ucc library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 coll_ucc_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucc library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for ucc library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-ucc-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 coll_ucc_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 coll_ucc_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 coll_ucc_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for ucc in default search paths" >&5 printf "%s\n" "$as_me: Searching for ucc in default search paths" >&6;} ucc_CPPFLAGS= ucc_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in ucc ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${coll_ucc_LIBS}" then : coll_ucc_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) coll_ucc_LIBS="${coll_ucc_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${coll_ucc_STATIC_LIBS}" then : coll_ucc_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) coll_ucc_STATIC_LIBS="${coll_ucc_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucc cppflags" >&5 printf %s "checking for ucc cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $coll_ucc_CPPFLAGS" >&5 printf "%s\n" "$coll_ucc_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucc ldflags" >&5 printf %s "checking for ucc ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $coll_ucc_LDFLAGS" >&5 printf "%s\n" "$coll_ucc_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucc libs" >&5 printf %s "checking for ucc libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $coll_ucc_LIBS" >&5 printf "%s\n" "$coll_ucc_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucc static libs" >&5 printf %s "checking for ucc static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $coll_ucc_STATIC_LIBS" >&5 printf "%s\n" "$coll_ucc_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${coll_ucc_LDFLAGS}" then : coll_ucc_LDFLAGS="${coll_ucc_STATIC_LDFLAGS}" else case e in @%:@( e) coll_ucc_LDFLAGS="${coll_ucc_LDFLAGS} ${coll_ucc_STATIC_LDFLAGS}" ;; esac fi if test -z "${coll_ucc_LIBS}" then : coll_ucc_LIBS="${coll_ucc_STATIC_LIBS}" else case e in @%:@( e) coll_ucc_LIBS="${coll_ucc_LIBS} ${coll_ucc_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "ucc/api/ucc.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${coll_ucc_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${coll_ucc_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${coll_ucc_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${coll_ucc_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${coll_ucc_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${coll_ucc_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "ucc_init_version" "ac_cv_func_ucc_init_version" if test "x$ac_cv_func_ucc_init_version" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ucc requires libnl v1 or v3" >&5 printf %s "checking if ucc requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_ucc+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void ucc_init_version (void); int main(int argc, char *argv[]) { ucc_init_version (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib ucc" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib ucc" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_ucc=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_ucc" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_ucc" >&6; } result_msg=$opal_libnl_sanity_check_cv_ucc this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, ucc links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, ucc links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libucc (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libucc (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libucc." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libucc." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas ucc requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas ucc requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libucc (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libucc (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libucc." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libucc." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs ucc" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas ucc requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas ucc requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libucc (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libucc (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libucc." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libucc." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs ucc" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi coll_ucc_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : coll_ucc_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) coll_ucc_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi ompi_check_ucc_happy="yes" else case e in @%:@( e) if test "${with_ucc}" = "no" then : coll_ucc_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) coll_ucc_SUMMARY="no (not found)" ;; esac fi { coll_ucc_CPPFLAGS=; unset coll_ucc_CPPFLAGS;} { coll_ucc_LDFLAGS=; unset coll_ucc_LDFLAGS;} { coll_ucc_STATIC_LDFLAGS=; unset coll_ucc_STATIC_LDFLAGS;} { coll_ucc_LIBS=; unset coll_ucc_LIBS;} { coll_ucc_STATIC_LIBS=; unset coll_ucc_STATIC_LIBS;} ompi_check_ucc_happy="no" ;; esac fi CPPFLAGS="${check_package_coll_ucc_save_CPPFLAGS}" LDFLAGS="${check_package_coll_ucc_save_LDFLAGS}" LIBS="${check_package_coll_ucc_save_LIBS}" oac_var_scope_pop check_package_coll_ucc_save_CPPFLAGS check_package_coll_ucc_save_LDFLAGS check_package_coll_ucc_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR ucc ****************************** if test "$ompi_check_ucc_happy" = "yes" then : CPPFLAGS_save=$CPPFLAGS LDFLAGS_save=$LDFLAGS LIBS_save=$LIBS CPPFLAGS="${coll_ucc_CPPFLAGS} ${CPPFLAGS}" LDFLAGS="${coll_ucc_LDFLAGS} ${LDFLAGS}" LIBS="${coll_ucc_LIBS} ${LIBS}" ac_fn_c_check_func "$LINENO" "ucc_comm_free" "ac_cv_func_ucc_comm_free" if test "x$ac_cv_func_ucc_comm_free" = xyes then : printf "%s\n" "@%:@define HAVE_UCC_COMM_FREE 1" >>confdefs.h fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if UCC supports float128 and float32(64,128)_complex datatypes" >&5 printf %s "checking if UCC supports float128 and float32(64,128)_complex datatypes... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { ucc_datatype_t dt = UCC_DT_FLOAT32_COMPLEX; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : flag=1 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } else case e in @%:@( e) flag=0 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext printf "%s\n" "@%:@define UCC_HAVE_COMPLEX_AND_FLOAT128_DT $flag" >>confdefs.h CPPFLAGS=$CPPFLAGS_save LDFLAGS=$LDFLAGS_save LIBS=$LIBS_save fi if test "$ompi_check_ucc_happy" = "yes" && test "$enable_progress_threads" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ucc driver does not currently support progress threads. Disabling UCC." >&5 printf "%s\n" "$as_me: WARNING: ucc driver does not currently support progress threads. Disabling UCC." >&2;} ompi_check_ucc_happy="no" fi if test "$ompi_check_ucc_happy" = "yes" then : coll_ucc_happy="yes" else case e in @%:@( e) if test ! -z "$with_ucc" && test "$with_ucc" != "no" then : as_fn_error $? "UCC support requested but not found. Aborting" "$LINENO" 5 fi coll_ucc_happy="no" ;; esac fi opal_var_scope_pop ompi_check_ucc_happy CPPFLAGS_save LDFLAGS_save LIBS_save if test "$coll_ucc_happy" = "yes" then : coll_ucc_WRAPPER_EXTRA_LDFLAGS="$coll_ucc_LDFLAGS" coll_ucc_CPPFLAGS="$coll_ucc_CPPFLAGS" coll_ucc_WRAPPER_EXTRA_LIBS="$coll_ucc_LIBS" should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi 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="Open UCC: $coll_ucc_happy" oac_summary_key="MiscellaneousOpen_UCC" # 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 case e in @%:@( e) oac_summary_section_Miscellaneous_name="Miscellaneous" if test -z "${oac_summary_sections}" then : oac_summary_sections="Miscellaneous" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} Miscellaneous" ;; esac fi ;; esac 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 case e in @%:@( e) 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 case e in @%:@( e) oac_summary_section_Miscellaneous_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key # substitute in the things needed to build ucc opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/coll/ucc/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components ucc" if test "$compile_mode" = "dso" ; then dso_components="$dso_components ucc" else if test "coll" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/coll/ucc/lib${OMPI_LIB_NAME}mca_coll_ucc.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/coll/ucc/libmca_coll_ucc.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_coll_ucc_component;" >> $outfile.extern echo " &mca_coll_ucc_component, " >> $outfile.struct static_components="$static_components ucc" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component coll:ucc can compile" >&5 printf %s "checking if MCA component coll:ucc can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_coll" = "ucc" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_coll_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** coll component ucc was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_coll" = "ucc" ; then as_fn_error $? "*** coll component ucc was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${coll_ucc_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${coll_ucc_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${coll_ucc_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${coll_ucc_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${coll_ucc_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${coll_ucc_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$coll_ucc_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $coll_ucc_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring coll_ucc_WRAPPER_EXTRA_CPPFLAGS ($coll_ucc_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring coll_ucc_WRAPPER_EXTRA_CPPFLAGS ($coll_ucc_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component coll:ucc can compile" >&5 printf %s "checking if MCA component coll:ucc can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_coll" = "ucc" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ucc\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ucc\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_coll" ; then if test "$DIRECT_coll" = "ucc" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ucc\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ucc\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components ucc" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_ompi_coll_ucc_DSO=1 else case e in @%:@( e) BUILD_ompi_coll_ucc_DSO=0 ;; esac fi if test "$BUILD_ompi_coll_ucc_DSO" = "1"; then MCA_BUILD_ompi_coll_ucc_DSO_TRUE= MCA_BUILD_ompi_coll_ucc_DSO_FALSE='#' else MCA_BUILD_ompi_coll_ucc_DSO_TRUE='#' MCA_BUILD_ompi_coll_ucc_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test ${DIRECT_coll+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for coll framework" >&5 printf %s "checking if direct-selection component exists for coll framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_coll" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_coll requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_coll" >&5 printf "%s\n" "$DIRECT_coll" >&6; } fi MCA_ompi_coll_ALL_COMPONENTS="$all_components" MCA_ompi_coll_STATIC_COMPONENTS="$static_components" MCA_ompi_coll_DSO_COMPONENTS="$dso_components" MCA_ompi_coll_STATIC_LTLIBS="$static_ltlibs" MCA_ompi_coll_ALL_SUBDIRS= for item in $all_components ; do MCA_ompi_coll_ALL_SUBDIRS="$MCA_ompi_coll_ALL_SUBDIRS mca/coll/$item" done MCA_ompi_coll_STATIC_SUBDIRS= for item in $static_components ; do MCA_ompi_coll_STATIC_SUBDIRS="$MCA_ompi_coll_STATIC_SUBDIRS mca/coll/$item" done MCA_ompi_coll_DSO_SUBDIRS= for item in $dso_components ; do MCA_ompi_coll_DSO_SUBDIRS="$MCA_ompi_coll_DSO_SUBDIRS mca/coll/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "coll" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real MCA_ompi_FRAMEWORKS="$MCA_ompi_FRAMEWORKS fbtl" MCA_ompi_FRAMEWORKS_SUBDIRS="$MCA_ompi_FRAMEWORKS_SUBDIRS mca/fbtl" MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_ompi_fbtl_ALL_SUBDIRS)" MCA_ompi_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_ompi_fbtl_DSO_SUBDIRS)" MCA_ompi_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_ompi_fbtl_STATIC_SUBDIRS)" mca_ompi_framework_base_lib="mca/fbtl/libmca_fbtl.la" MCA_ompi_FRAMEWORK_LIBS="$MCA_ompi_FRAMEWORK_LIBS ${mca_ompi_framework_base_lib} \$(MCA_ompi_fbtl_STATIC_LTLIBS)" opal_var_scope_push ${LINENO} want_io_ompio if test "$enable_io_ompio" != "no" then : want_io_ompio=1 else case e in @%:@( e) want_io_ompio=0 ;; esac fi opal_show_subsubtitle "Configuring MCA framework fbtl" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=ompi/mca/fbtl/base as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files ompi/mca/fbtl/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework fbtl" >&5 printf %s "checking for no configure components in framework fbtl... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework fbtl" >&5 printf %s "checking for m4 configure components in framework fbtl... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ime, posix, pvfs2" >&5 printf "%s\n" "ime, posix, pvfs2" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=$want_io_ompio components_last_result=0 opal_show_subsubsubtitle "MCA component fbtl:ime (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/ompi/mca/fbtl/ime" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_fbtl" ; then if test "$DIRECT_fbtl" = "ime" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_fbtl" = "1" then : want_component=0 fi if test "${DISABLE_fbtl_ime}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${ompi_fbtl_ime_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_fbtl" SHARED_COMPONENT="$DSO_fbtl_ime" STATIC_FRAMEWORK="$STATIC_fbtl" STATIC_COMPONENT="$STATIC_fbtl_ime" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_fbtl_ime_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component fbtl:ime compile mode" >&5 printf %s "checking for MCA component fbtl:ime compile mode... " >&6; } if test "$DIRECT_fbtl" = "ime" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_fbtl_ime_compile_mode # try to configure the component ac_config_files="$ac_config_files ompi/mca/fbtl/ime/Makefile" opal_var_scope_push ${LINENO} ompi_check_ime_happy # Get some configuration information @%:@ Check whether --with-ime was given. if test ${with_ime+y} then : withval=$with_ime; fi # ****************************** START CHECK PACKAGE FOR ime ****************************** oac_var_scope_push ${LINENO} check_package_fbtl_ime_save_CPPFLAGS check_package_fbtl_ime_save_LDFLAGS check_package_fbtl_ime_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_fbtl_ime_save_CPPFLAGS="${CPPFLAGS}" check_package_fbtl_ime_save_LDFLAGS="${LDFLAGS}" check_package_fbtl_ime_save_LIBS="${LIBS}" fbtl_ime_CPPFLAGS= fbtl_ime_LDFLAGS= fbtl_ime_STATIC_LDFLAGS= fbtl_ime_LIBS= fbtl_ime_STATIC_LIBS= { fbtl_ime_PC_MODULES=; unset fbtl_ime_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_ime" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package ime disabled by user" >&5 printf "%s\n" "$as_me: Package ime disabled by user" >&6;} check_package_happy=0 elif test "${with_ime}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_ime}" ;; esac fi check_package_libdir= if test "${with_ime_libdir}" = "no" -o "${with_ime_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-ime-libdir" "$LINENO" 5 elif test -n "${with_ime_libdir}" then : check_package_libdir="${with_ime_libdir}" fi check_package_incdir= if test "${with_ime_incdir}" = "no" -o "${with_ime_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-ime-incdir" "$LINENO" 5 elif test -n "${with_ime_incdir}" then : check_package_incdir="${with_ime_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${ime_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-ime or --with-ime-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-ime only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ime pkg-config name" >&5 printf %s "checking for ime pkg-config name... " >&6; } if test ${oac_cv_check_package_ime_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_ime_pcfilename="ime" if test -n "${check_package_libdir}" then : oac_cv_check_package_ime_pcfilename="${check_package_libdir}/pkgconfig/ime.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_ime_pcfilename="ime" elif test -r "${check_package_prefix}/lib/pkgconfig/ime.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/ime.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found ime in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-ime-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_ime_pcfilename="${check_package_prefix}/lib/pkgconfig/ime.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/ime.pc" then : oac_cv_check_package_ime_pcfilename="${check_package_prefix}/lib64/pkgconfig/ime.pc" else case e in @%:@( e) oac_cv_check_package_ime_pcfilename="${check_package_prefix}/lib/pkgconfig/ime.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ime_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_ime_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ime pkg-config module exists" >&5 printf %s "checking if ime pkg-config module exists... " >&6; } if test ${oac_cv_check_package_ime_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_ime_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_ime_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : fbtl_ime_PC_MODULES=${oac_cv_check_package_ime_pcfilename} oac_cv_check_package_ime_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_ime_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ime_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_ime_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_ime_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ime pkg-config cflags" >&5 printf %s "checking for ime pkg-config cflags... " >&6; } if test ${oac_cv_check_package_ime_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_ime_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_ime_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ime_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ime cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ime_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_ime_pkg_config_cppflags" >&6; } fbtl_ime_CPPFLAGS="${oac_cv_check_package_ime_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ime pkg-config ldflags" >&5 printf %s "checking for ime pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_ime_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_ime_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_ime_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ime_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ime ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ime_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ime_pkg_config_ldflags" >&6; } fbtl_ime_LDFLAGS="${oac_cv_check_package_ime_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ime pkg-config static ldflags" >&5 printf %s "checking for ime pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_ime_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_ime_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_ime_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ime_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ime static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ime_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ime_pkg_config_static_ldflags" >&6; } fbtl_ime_STATIC_LDFLAGS="${oac_cv_check_package_ime_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ime pkg-config libs" >&5 printf %s "checking for ime pkg-config libs... " >&6; } if test ${oac_cv_check_package_ime_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_ime_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_ime_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ime_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ime libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ime_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_ime_pkg_config_libs" >&6; } fbtl_ime_LIBS="${oac_cv_check_package_ime_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ime pkg-config static libs" >&5 printf %s "checking for ime pkg-config static libs... " >&6; } if test ${oac_cv_check_package_ime_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_ime_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_ime_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ime_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ime libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ime_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_ime_pkg_config_static_libs" >&6; } fbtl_ime_STATIC_LIBS="${oac_cv_check_package_ime_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${ime_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-ime argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ime wrapper compiler" >&5 printf %s "checking for ime wrapper compiler... " >&6; } if test ${oac_cv_check_package_ime_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_ime_wrapper_compiler="imecc" else case e in @%:@( e) oac_cv_check_package_ime_wrapper_compiler="${check_package_prefix}/bin/imecc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ime_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_ime_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ime wrapper compiler works" >&5 printf %s "checking if ime wrapper compiler works... " >&6; } if test ${oac_cv_check_package_ime_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ime_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ime_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_ime_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_ime_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ime_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_ime_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_ime_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ime wrapper compiler cppflags" >&5 printf %s "checking for ime wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_ime_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ime_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ime_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ime_wrapper_compiler_cppflags}" then : oac_cv_check_package_ime_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ime_wrapper_compiler_cppflags="${oac_cv_check_package_ime_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ime cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ime_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_ime_wrapper_compiler_cppflags" >&6; } fbtl_ime_CPPFLAGS="${oac_cv_check_package_ime_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ime wrapper compiler ldflags" >&5 printf %s "checking for ime wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_ime_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ime_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ime_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ime_wrapper_compiler_ldflags}" then : oac_cv_check_package_ime_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ime_wrapper_compiler_ldflags="${oac_cv_check_package_ime_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ime ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ime_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ime_wrapper_compiler_ldflags" >&6; } fbtl_ime_LDFLAGS="${oac_cv_check_package_ime_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ime wrapper compiler static ldflags" >&5 printf %s "checking for ime wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_ime_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ime_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ime_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ime_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_ime_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ime_wrapper_compiler_static_ldflags="${oac_cv_check_package_ime_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ime static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ime_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ime_wrapper_compiler_static_ldflags" >&6; } fbtl_ime_STATIC_LDFLAGS="${oac_cv_check_package_ime_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ime wrapper compiler libs" >&5 printf %s "checking for ime wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_ime_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ime_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ime_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ime_wrapper_compiler_libs}" then : oac_cv_check_package_ime_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ime_wrapper_compiler_libs="${oac_cv_check_package_ime_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ime libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ime_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_ime_wrapper_compiler_libs" >&6; } fbtl_ime_LIBS="$oac_cv_check_package_ime_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ime wrapper compiler static libs" >&5 printf %s "checking for ime wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_ime_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ime_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ime_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ime_wrapper_compiler_static_libs}" then : oac_cv_check_package_ime_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ime_wrapper_compiler_static_libs="${oac_cv_check_package_ime_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ime static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ime_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_ime_wrapper_compiler_static_libs" >&6; } fbtl_ime_STATIC_LIBS="${oac_cv_check_package_ime_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "ime_native.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "im_client" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ime header at ${check_package_generic_incdir}" >&5 printf %s "checking for ime header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 fbtl_ime_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ime library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for ime library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 fbtl_ime_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ime library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for ime library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-ime-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 fbtl_ime_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 fbtl_ime_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 fbtl_ime_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for ime in default search paths" >&5 printf "%s\n" "$as_me: Searching for ime in default search paths" >&6;} ime_CPPFLAGS= ime_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in im_client ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${fbtl_ime_LIBS}" then : fbtl_ime_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) fbtl_ime_LIBS="${fbtl_ime_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${fbtl_ime_STATIC_LIBS}" then : fbtl_ime_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) fbtl_ime_STATIC_LIBS="${fbtl_ime_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ime cppflags" >&5 printf %s "checking for ime cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fbtl_ime_CPPFLAGS" >&5 printf "%s\n" "$fbtl_ime_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ime ldflags" >&5 printf %s "checking for ime ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fbtl_ime_LDFLAGS" >&5 printf "%s\n" "$fbtl_ime_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ime libs" >&5 printf %s "checking for ime libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fbtl_ime_LIBS" >&5 printf "%s\n" "$fbtl_ime_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ime static libs" >&5 printf %s "checking for ime static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fbtl_ime_STATIC_LIBS" >&5 printf "%s\n" "$fbtl_ime_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${fbtl_ime_LDFLAGS}" then : fbtl_ime_LDFLAGS="${fbtl_ime_STATIC_LDFLAGS}" else case e in @%:@( e) fbtl_ime_LDFLAGS="${fbtl_ime_LDFLAGS} ${fbtl_ime_STATIC_LDFLAGS}" ;; esac fi if test -z "${fbtl_ime_LIBS}" then : fbtl_ime_LIBS="${fbtl_ime_STATIC_LIBS}" else case e in @%:@( e) fbtl_ime_LIBS="${fbtl_ime_LIBS} ${fbtl_ime_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "ime_native.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${fbtl_ime_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${fbtl_ime_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${fbtl_ime_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${fbtl_ime_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${fbtl_ime_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${fbtl_ime_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "ime_client_native2_init" "ac_cv_func_ime_client_native2_init" if test "x$ac_cv_func_ime_client_native2_init" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ime requires libnl v1 or v3" >&5 printf %s "checking if ime requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_ime+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void ime_client_native2_init (void); int main(int argc, char *argv[]) { ime_client_native2_init (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib ime" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib ime" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_ime=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_ime" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_ime" >&6; } result_msg=$opal_libnl_sanity_check_cv_ime this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, ime links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, ime links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libime (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libime (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libime." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libime." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas ime requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas ime requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libime (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libime (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libime." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libime." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs ime" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas ime requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas ime requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libime (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libime (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libime." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libime." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs ime" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi fbtl_ime_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : fbtl_ime_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) fbtl_ime_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi ompi_check_ime_happy="yes" else case e in @%:@( e) if test "${with_ime}" = "no" then : fbtl_ime_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) fbtl_ime_SUMMARY="no (not found)" ;; esac fi { fbtl_ime_CPPFLAGS=; unset fbtl_ime_CPPFLAGS;} { fbtl_ime_LDFLAGS=; unset fbtl_ime_LDFLAGS;} { fbtl_ime_STATIC_LDFLAGS=; unset fbtl_ime_STATIC_LDFLAGS;} { fbtl_ime_LIBS=; unset fbtl_ime_LIBS;} { fbtl_ime_STATIC_LIBS=; unset fbtl_ime_STATIC_LIBS;} ompi_check_ime_happy="no" ;; esac fi CPPFLAGS="${check_package_fbtl_ime_save_CPPFLAGS}" LDFLAGS="${check_package_fbtl_ime_save_LDFLAGS}" LIBS="${check_package_fbtl_ime_save_LIBS}" oac_var_scope_pop check_package_fbtl_ime_save_CPPFLAGS check_package_fbtl_ime_save_LDFLAGS check_package_fbtl_ime_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR ime ****************************** if test "$ompi_check_ime_happy" = "yes" then : fbtl_ime_happy="yes" else case e in @%:@( e) if test ! -z "$with_ime" && test "$with_ime" != "no" then : as_fn_error $? "IME support requested but not found. Aborting" "$LINENO" 5 fi fbtl_ime_happy="no" ;; esac fi opal_var_scope_pop ompi_check_ime_happy if test "$fbtl_ime_happy" = "yes" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi # substitute in the things needed to build ime opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/fbtl/ime/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components ime" if test "$compile_mode" = "dso" ; then dso_components="$dso_components ime" else if test "fbtl" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/fbtl/ime/lib${OMPI_LIB_NAME}mca_fbtl_ime.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/fbtl/ime/libmca_fbtl_ime.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_fbtl_ime_component;" >> $outfile.extern echo " &mca_fbtl_ime_component, " >> $outfile.struct static_components="$static_components ime" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component fbtl:ime can compile" >&5 printf %s "checking if MCA component fbtl:ime can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_fbtl" = "ime" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_fbtl_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** fbtl component ime was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_fbtl" = "ime" ; then as_fn_error $? "*** fbtl component ime was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${fbtl_ime_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${fbtl_ime_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${fbtl_ime_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${fbtl_ime_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${fbtl_ime_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${fbtl_ime_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$fbtl_ime_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $fbtl_ime_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring fbtl_ime_WRAPPER_EXTRA_CPPFLAGS ($fbtl_ime_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring fbtl_ime_WRAPPER_EXTRA_CPPFLAGS ($fbtl_ime_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component fbtl:ime can compile" >&5 printf %s "checking if MCA component fbtl:ime can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_fbtl" = "ime" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ime\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ime\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_fbtl" ; then if test "$DIRECT_fbtl" = "ime" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ime\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ime\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components ime" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_ompi_fbtl_ime_DSO=1 else case e in @%:@( e) BUILD_ompi_fbtl_ime_DSO=0 ;; esac fi if test "$BUILD_ompi_fbtl_ime_DSO" = "1"; then MCA_BUILD_ompi_fbtl_ime_DSO_TRUE= MCA_BUILD_ompi_fbtl_ime_DSO_FALSE='#' else MCA_BUILD_ompi_fbtl_ime_DSO_TRUE='#' MCA_BUILD_ompi_fbtl_ime_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component fbtl:posix (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/ompi/mca/fbtl/posix" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_fbtl" ; then if test "$DIRECT_fbtl" = "posix" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_fbtl" = "1" then : want_component=0 fi if test "${DISABLE_fbtl_posix}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${ompi_fbtl_posix_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_fbtl" SHARED_COMPONENT="$DSO_fbtl_posix" STATIC_FRAMEWORK="$STATIC_fbtl" STATIC_COMPONENT="$STATIC_fbtl_posix" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_fbtl_posix_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component fbtl:posix compile mode" >&5 printf %s "checking for MCA component fbtl:posix compile mode... " >&6; } if test "$DIRECT_fbtl" = "posix" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_fbtl_posix_compile_mode # try to configure the component ac_config_files="$ac_config_files ompi/mca/fbtl/posix/Makefile" fbtl_posix_happy=no ac_fn_c_check_header_compile "$LINENO" "aio.h" "ac_cv_header_aio_h" "$ac_includes_default" if test "x$ac_cv_header_aio_h" = xyes then : opal_var_scope_push ${LINENO} LIBS_save add LIBS_save=$LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing aio_write" >&5 printf %s "checking for library containing aio_write... " >&6; } if test ${ac_cv_search_aio_write+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* 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. The 'extern "C"' is for builds by C++ compilers; although this is not generally supported in C code supporting it here has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif char aio_write (void); int main (void) { return aio_write (); ; return 0; } _ACEOF for ac_lib in '' rt do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO" then : ac_cv_search_aio_write=$ac_res fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext if test ${ac_cv_search_aio_write+y} then : break fi done if test ${ac_cv_search_aio_write+y} then : else case e in @%:@( e) ac_cv_search_aio_write=no ;; esac fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_aio_write" >&5 printf "%s\n" "$ac_cv_search_aio_write" >&6; } ac_res=$ac_cv_search_aio_write if test "$ac_res" != no then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" # Found it! See if anything was added to LIBS add=`printf '%s\n' "$LIBS" | sed -e "s/$LIBS_save$//"` if test -n "$add" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $add; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${fbtl_posix_LIBS}; 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 "${fbtl_posix_LIBS}" then : fbtl_posix_LIBS="$oac_list_arg" else case e in @%:@( e) fbtl_posix_LIBS="${fbtl_posix_LIBS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi fbtl_posix_have_aio_write=1 fbtl_posix_happy="yes" else case e in @%:@( e) fbtl_posix_have_aio_write=0 ;; esac fi printf "%s\n" "@%:@define OPAL_HAVE_FBTL_POSIX $fbtl_posix_have_aio_write" >>confdefs.h opal_var_scope_pop LIBS_save add fi ac_fn_c_check_func "$LINENO" "pwritev" "ac_cv_func_pwritev" if test "x$ac_cv_func_pwritev" = xyes then : printf "%s\n" "@%:@define HAVE_PWRITEV 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "preadv" "ac_cv_func_preadv" if test "x$ac_cv_func_preadv" = xyes then : printf "%s\n" "@%:@define HAVE_PREADV 1" >>confdefs.h fi if test "$fbtl_posix_happy" = "yes" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/fbtl/posix/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components posix" if test "$compile_mode" = "dso" ; then dso_components="$dso_components posix" else if test "fbtl" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/fbtl/posix/lib${OMPI_LIB_NAME}mca_fbtl_posix.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/fbtl/posix/libmca_fbtl_posix.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_fbtl_posix_component;" >> $outfile.extern echo " &mca_fbtl_posix_component, " >> $outfile.struct static_components="$static_components posix" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component fbtl:posix can compile" >&5 printf %s "checking if MCA component fbtl:posix can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_fbtl" = "posix" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_fbtl_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** fbtl component posix was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_fbtl" = "posix" ; then as_fn_error $? "*** fbtl component posix was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${fbtl_posix_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${fbtl_posix_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${fbtl_posix_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${fbtl_posix_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${fbtl_posix_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${fbtl_posix_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$fbtl_posix_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $fbtl_posix_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring fbtl_posix_WRAPPER_EXTRA_CPPFLAGS ($fbtl_posix_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring fbtl_posix_WRAPPER_EXTRA_CPPFLAGS ($fbtl_posix_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component fbtl:posix can compile" >&5 printf %s "checking if MCA component fbtl:posix can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_fbtl" = "posix" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"posix\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"posix\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_fbtl" ; then if test "$DIRECT_fbtl" = "posix" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"posix\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"posix\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components posix" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_ompi_fbtl_posix_DSO=1 else case e in @%:@( e) BUILD_ompi_fbtl_posix_DSO=0 ;; esac fi if test "$BUILD_ompi_fbtl_posix_DSO" = "1"; then MCA_BUILD_ompi_fbtl_posix_DSO_TRUE= MCA_BUILD_ompi_fbtl_posix_DSO_FALSE='#' else MCA_BUILD_ompi_fbtl_posix_DSO_TRUE='#' MCA_BUILD_ompi_fbtl_posix_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component fbtl:pvfs2 (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/ompi/mca/fbtl/pvfs2" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_fbtl" ; then if test "$DIRECT_fbtl" = "pvfs2" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_fbtl" = "1" then : want_component=0 fi if test "${DISABLE_fbtl_pvfs2}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${ompi_fbtl_pvfs2_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_fbtl" SHARED_COMPONENT="$DSO_fbtl_pvfs2" STATIC_FRAMEWORK="$STATIC_fbtl" STATIC_COMPONENT="$STATIC_fbtl_pvfs2" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_fbtl_pvfs2_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component fbtl:pvfs2 compile mode" >&5 printf %s "checking for MCA component fbtl:pvfs2 compile mode... " >&6; } if test "$DIRECT_fbtl" = "pvfs2" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_fbtl_pvfs2_compile_mode # try to configure the component ac_config_files="$ac_config_files ompi/mca/fbtl/pvfs2/Makefile" opal_var_scope_push ${LINENO} ompi_check_pvfs2_happy # Get some configuration information @%:@ Check whether --with-pvfs2 was given. if test ${with_pvfs2+y} then : withval=$with_pvfs2; fi # ****************************** START CHECK PACKAGE FOR pvfs2 ****************************** oac_var_scope_push ${LINENO} check_package_fbtl_pvfs2_save_CPPFLAGS check_package_fbtl_pvfs2_save_LDFLAGS check_package_fbtl_pvfs2_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_fbtl_pvfs2_save_CPPFLAGS="${CPPFLAGS}" check_package_fbtl_pvfs2_save_LDFLAGS="${LDFLAGS}" check_package_fbtl_pvfs2_save_LIBS="${LIBS}" fbtl_pvfs2_CPPFLAGS= fbtl_pvfs2_LDFLAGS= fbtl_pvfs2_STATIC_LDFLAGS= fbtl_pvfs2_LIBS= fbtl_pvfs2_STATIC_LIBS= { fbtl_pvfs2_PC_MODULES=; unset fbtl_pvfs2_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_pvfs2" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package pvfs2 disabled by user" >&5 printf "%s\n" "$as_me: Package pvfs2 disabled by user" >&6;} check_package_happy=0 elif test "${with_pvfs2}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_pvfs2}" ;; esac fi check_package_libdir= if test "${with_pvfs2_libdir}" = "no" -o "${with_pvfs2_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-pvfs2-libdir" "$LINENO" 5 elif test -n "${with_pvfs2_libdir}" then : check_package_libdir="${with_pvfs2_libdir}" fi check_package_incdir= if test "${with_pvfs2_incdir}" = "no" -o "${with_pvfs2_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-pvfs2-incdir" "$LINENO" 5 elif test -n "${with_pvfs2_incdir}" then : check_package_incdir="${with_pvfs2_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${pvfs2_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-pvfs2 or --with-pvfs2-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-pvfs2 only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pvfs2 pkg-config name" >&5 printf %s "checking for pvfs2 pkg-config name... " >&6; } if test ${oac_cv_check_package_pvfs2_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_pvfs2_pcfilename="pvfs2" if test -n "${check_package_libdir}" then : oac_cv_check_package_pvfs2_pcfilename="${check_package_libdir}/pkgconfig/pvfs2.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_pvfs2_pcfilename="pvfs2" elif test -r "${check_package_prefix}/lib/pkgconfig/pvfs2.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/pvfs2.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found pvfs2 in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-pvfs2-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_pvfs2_pcfilename="${check_package_prefix}/lib/pkgconfig/pvfs2.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/pvfs2.pc" then : oac_cv_check_package_pvfs2_pcfilename="${check_package_prefix}/lib64/pkgconfig/pvfs2.pc" else case e in @%:@( e) oac_cv_check_package_pvfs2_pcfilename="${check_package_prefix}/lib/pkgconfig/pvfs2.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pvfs2_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_pvfs2_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if pvfs2 pkg-config module exists" >&5 printf %s "checking if pvfs2 pkg-config module exists... " >&6; } if test ${oac_cv_check_package_pvfs2_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_pvfs2_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_pvfs2_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : fbtl_pvfs2_PC_MODULES=${oac_cv_check_package_pvfs2_pcfilename} oac_cv_check_package_pvfs2_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_pvfs2_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pvfs2_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_pvfs2_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_pvfs2_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pvfs2 pkg-config cflags" >&5 printf %s "checking for pvfs2 pkg-config cflags... " >&6; } if test ${oac_cv_check_package_pvfs2_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_pvfs2_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_pvfs2_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_pvfs2_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving pvfs2 cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pvfs2_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_pvfs2_pkg_config_cppflags" >&6; } fbtl_pvfs2_CPPFLAGS="${oac_cv_check_package_pvfs2_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pvfs2 pkg-config ldflags" >&5 printf %s "checking for pvfs2 pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_pvfs2_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_pvfs2_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_pvfs2_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_pvfs2_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving pvfs2 ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pvfs2_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_pvfs2_pkg_config_ldflags" >&6; } fbtl_pvfs2_LDFLAGS="${oac_cv_check_package_pvfs2_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pvfs2 pkg-config static ldflags" >&5 printf %s "checking for pvfs2 pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_pvfs2_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_pvfs2_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_pvfs2_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_pvfs2_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving pvfs2 static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pvfs2_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_pvfs2_pkg_config_static_ldflags" >&6; } fbtl_pvfs2_STATIC_LDFLAGS="${oac_cv_check_package_pvfs2_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pvfs2 pkg-config libs" >&5 printf %s "checking for pvfs2 pkg-config libs... " >&6; } if test ${oac_cv_check_package_pvfs2_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_pvfs2_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_pvfs2_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_pvfs2_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving pvfs2 libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pvfs2_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_pvfs2_pkg_config_libs" >&6; } fbtl_pvfs2_LIBS="${oac_cv_check_package_pvfs2_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pvfs2 pkg-config static libs" >&5 printf %s "checking for pvfs2 pkg-config static libs... " >&6; } if test ${oac_cv_check_package_pvfs2_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_pvfs2_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_pvfs2_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_pvfs2_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving pvfs2 libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pvfs2_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_pvfs2_pkg_config_static_libs" >&6; } fbtl_pvfs2_STATIC_LIBS="${oac_cv_check_package_pvfs2_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${pvfs2_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-pvfs2 argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pvfs2 wrapper compiler" >&5 printf %s "checking for pvfs2 wrapper compiler... " >&6; } if test ${oac_cv_check_package_pvfs2_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_pvfs2_wrapper_compiler="pvfs2cc" else case e in @%:@( e) oac_cv_check_package_pvfs2_wrapper_compiler="${check_package_prefix}/bin/pvfs2cc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pvfs2_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_pvfs2_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if pvfs2 wrapper compiler works" >&5 printf %s "checking if pvfs2 wrapper compiler works... " >&6; } if test ${oac_cv_check_package_pvfs2_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_pvfs2_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_pvfs2_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_pvfs2_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_pvfs2_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pvfs2_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_pvfs2_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_pvfs2_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pvfs2 wrapper compiler cppflags" >&5 printf %s "checking for pvfs2 wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_pvfs2_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_pvfs2_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_pvfs2_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_pvfs2_wrapper_compiler_cppflags}" then : oac_cv_check_package_pvfs2_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_pvfs2_wrapper_compiler_cppflags="${oac_cv_check_package_pvfs2_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving pvfs2 cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pvfs2_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_pvfs2_wrapper_compiler_cppflags" >&6; } fbtl_pvfs2_CPPFLAGS="${oac_cv_check_package_pvfs2_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pvfs2 wrapper compiler ldflags" >&5 printf %s "checking for pvfs2 wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_pvfs2_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_pvfs2_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_pvfs2_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_pvfs2_wrapper_compiler_ldflags}" then : oac_cv_check_package_pvfs2_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_pvfs2_wrapper_compiler_ldflags="${oac_cv_check_package_pvfs2_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving pvfs2 ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pvfs2_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_pvfs2_wrapper_compiler_ldflags" >&6; } fbtl_pvfs2_LDFLAGS="${oac_cv_check_package_pvfs2_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pvfs2 wrapper compiler static ldflags" >&5 printf %s "checking for pvfs2 wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_pvfs2_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_pvfs2_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_pvfs2_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_pvfs2_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_pvfs2_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_pvfs2_wrapper_compiler_static_ldflags="${oac_cv_check_package_pvfs2_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving pvfs2 static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pvfs2_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_pvfs2_wrapper_compiler_static_ldflags" >&6; } fbtl_pvfs2_STATIC_LDFLAGS="${oac_cv_check_package_pvfs2_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pvfs2 wrapper compiler libs" >&5 printf %s "checking for pvfs2 wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_pvfs2_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_pvfs2_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_pvfs2_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_pvfs2_wrapper_compiler_libs}" then : oac_cv_check_package_pvfs2_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_pvfs2_wrapper_compiler_libs="${oac_cv_check_package_pvfs2_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving pvfs2 libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pvfs2_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_pvfs2_wrapper_compiler_libs" >&6; } fbtl_pvfs2_LIBS="$oac_cv_check_package_pvfs2_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pvfs2 wrapper compiler static libs" >&5 printf %s "checking for pvfs2 wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_pvfs2_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_pvfs2_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_pvfs2_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_pvfs2_wrapper_compiler_static_libs}" then : oac_cv_check_package_pvfs2_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_pvfs2_wrapper_compiler_static_libs="${oac_cv_check_package_pvfs2_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving pvfs2 static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pvfs2_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_pvfs2_wrapper_compiler_static_libs" >&6; } fbtl_pvfs2_STATIC_LIBS="${oac_cv_check_package_pvfs2_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "pvfs2.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "pvfs2" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pvfs2 header at ${check_package_generic_incdir}" >&5 printf %s "checking for pvfs2 header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 fbtl_pvfs2_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pvfs2 library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for pvfs2 library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 fbtl_pvfs2_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pvfs2 library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for pvfs2 library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-pvfs2-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 fbtl_pvfs2_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 fbtl_pvfs2_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 fbtl_pvfs2_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for pvfs2 in default search paths" >&5 printf "%s\n" "$as_me: Searching for pvfs2 in default search paths" >&6;} pvfs2_CPPFLAGS= pvfs2_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in pvfs2 ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${fbtl_pvfs2_LIBS}" then : fbtl_pvfs2_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) fbtl_pvfs2_LIBS="${fbtl_pvfs2_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${fbtl_pvfs2_STATIC_LIBS}" then : fbtl_pvfs2_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) fbtl_pvfs2_STATIC_LIBS="${fbtl_pvfs2_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pvfs2 cppflags" >&5 printf %s "checking for pvfs2 cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fbtl_pvfs2_CPPFLAGS" >&5 printf "%s\n" "$fbtl_pvfs2_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pvfs2 ldflags" >&5 printf %s "checking for pvfs2 ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fbtl_pvfs2_LDFLAGS" >&5 printf "%s\n" "$fbtl_pvfs2_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pvfs2 libs" >&5 printf %s "checking for pvfs2 libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fbtl_pvfs2_LIBS" >&5 printf "%s\n" "$fbtl_pvfs2_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pvfs2 static libs" >&5 printf %s "checking for pvfs2 static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fbtl_pvfs2_STATIC_LIBS" >&5 printf "%s\n" "$fbtl_pvfs2_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${fbtl_pvfs2_LDFLAGS}" then : fbtl_pvfs2_LDFLAGS="${fbtl_pvfs2_STATIC_LDFLAGS}" else case e in @%:@( e) fbtl_pvfs2_LDFLAGS="${fbtl_pvfs2_LDFLAGS} ${fbtl_pvfs2_STATIC_LDFLAGS}" ;; esac fi if test -z "${fbtl_pvfs2_LIBS}" then : fbtl_pvfs2_LIBS="${fbtl_pvfs2_STATIC_LIBS}" else case e in @%:@( e) fbtl_pvfs2_LIBS="${fbtl_pvfs2_LIBS} ${fbtl_pvfs2_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "pvfs2.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${fbtl_pvfs2_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${fbtl_pvfs2_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${fbtl_pvfs2_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${fbtl_pvfs2_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${fbtl_pvfs2_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${fbtl_pvfs2_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "PVFS_util_resolve" "ac_cv_func_PVFS_util_resolve" if test "x$ac_cv_func_PVFS_util_resolve" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if pvfs2 requires libnl v1 or v3" >&5 printf %s "checking if pvfs2 requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_pvfs2+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void PVFS_util_resolve (void); int main(int argc, char *argv[]) { PVFS_util_resolve (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib pvfs2" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib pvfs2" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_pvfs2=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_pvfs2" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_pvfs2" >&6; } result_msg=$opal_libnl_sanity_check_cv_pvfs2 this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, pvfs2 links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, pvfs2 links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libpvfs2 (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libpvfs2 (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libpvfs2." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libpvfs2." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas pvfs2 requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas pvfs2 requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libpvfs2 (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libpvfs2 (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libpvfs2." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libpvfs2." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs pvfs2" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas pvfs2 requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas pvfs2 requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libpvfs2 (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libpvfs2 (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libpvfs2." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libpvfs2." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs pvfs2" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi fbtl_pvfs2_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : fbtl_pvfs2_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) fbtl_pvfs2_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi ompi_check_pvfs2_happy="yes" else case e in @%:@( e) if test "${with_pvfs2}" = "no" then : fbtl_pvfs2_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) fbtl_pvfs2_SUMMARY="no (not found)" ;; esac fi { fbtl_pvfs2_CPPFLAGS=; unset fbtl_pvfs2_CPPFLAGS;} { fbtl_pvfs2_LDFLAGS=; unset fbtl_pvfs2_LDFLAGS;} { fbtl_pvfs2_STATIC_LDFLAGS=; unset fbtl_pvfs2_STATIC_LDFLAGS;} { fbtl_pvfs2_LIBS=; unset fbtl_pvfs2_LIBS;} { fbtl_pvfs2_STATIC_LIBS=; unset fbtl_pvfs2_STATIC_LIBS;} ompi_check_pvfs2_happy="no" ;; esac fi CPPFLAGS="${check_package_fbtl_pvfs2_save_CPPFLAGS}" LDFLAGS="${check_package_fbtl_pvfs2_save_LDFLAGS}" LIBS="${check_package_fbtl_pvfs2_save_LIBS}" oac_var_scope_pop check_package_fbtl_pvfs2_save_CPPFLAGS check_package_fbtl_pvfs2_save_LDFLAGS check_package_fbtl_pvfs2_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR pvfs2 ****************************** if test "$ompi_check_pvfs2_happy" = "yes" then : fbtl_pvfs2_happy="yes" else case e in @%:@( e) if test ! -z "$with_pvfs2" && test "$with_pvfs2" != "no" then : as_fn_error $? "PVFS2 support requested but not found. Aborting" "$LINENO" 5 fi fbtl_pvfs2_happy="no" ;; esac fi opal_var_scope_pop ompi_check_pvfs2_happy if test "$fbtl_pvfs2_happy" = "yes" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi # substitute in the things needed to build pvfs2 opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/fbtl/pvfs2/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components pvfs2" if test "$compile_mode" = "dso" ; then dso_components="$dso_components pvfs2" else if test "fbtl" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/fbtl/pvfs2/lib${OMPI_LIB_NAME}mca_fbtl_pvfs2.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/fbtl/pvfs2/libmca_fbtl_pvfs2.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_fbtl_pvfs2_component;" >> $outfile.extern echo " &mca_fbtl_pvfs2_component, " >> $outfile.struct static_components="$static_components pvfs2" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component fbtl:pvfs2 can compile" >&5 printf %s "checking if MCA component fbtl:pvfs2 can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_fbtl" = "pvfs2" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_fbtl_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** fbtl component pvfs2 was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_fbtl" = "pvfs2" ; then as_fn_error $? "*** fbtl component pvfs2 was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${fbtl_pvfs2_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${fbtl_pvfs2_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${fbtl_pvfs2_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${fbtl_pvfs2_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${fbtl_pvfs2_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${fbtl_pvfs2_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$fbtl_pvfs2_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $fbtl_pvfs2_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring fbtl_pvfs2_WRAPPER_EXTRA_CPPFLAGS ($fbtl_pvfs2_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring fbtl_pvfs2_WRAPPER_EXTRA_CPPFLAGS ($fbtl_pvfs2_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component fbtl:pvfs2 can compile" >&5 printf %s "checking if MCA component fbtl:pvfs2 can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_fbtl" = "pvfs2" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"pvfs2\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"pvfs2\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_fbtl" ; then if test "$DIRECT_fbtl" = "pvfs2" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"pvfs2\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"pvfs2\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components pvfs2" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_ompi_fbtl_pvfs2_DSO=1 else case e in @%:@( e) BUILD_ompi_fbtl_pvfs2_DSO=0 ;; esac fi if test "$BUILD_ompi_fbtl_pvfs2_DSO" = "1"; then MCA_BUILD_ompi_fbtl_pvfs2_DSO_TRUE= MCA_BUILD_ompi_fbtl_pvfs2_DSO_FALSE='#' else MCA_BUILD_ompi_fbtl_pvfs2_DSO_TRUE='#' MCA_BUILD_ompi_fbtl_pvfs2_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test ${DIRECT_fbtl+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for fbtl framework" >&5 printf %s "checking if direct-selection component exists for fbtl framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_fbtl" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_fbtl requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_fbtl" >&5 printf "%s\n" "$DIRECT_fbtl" >&6; } fi MCA_ompi_fbtl_ALL_COMPONENTS="$all_components" MCA_ompi_fbtl_STATIC_COMPONENTS="$static_components" MCA_ompi_fbtl_DSO_COMPONENTS="$dso_components" MCA_ompi_fbtl_STATIC_LTLIBS="$static_ltlibs" MCA_ompi_fbtl_ALL_SUBDIRS= for item in $all_components ; do MCA_ompi_fbtl_ALL_SUBDIRS="$MCA_ompi_fbtl_ALL_SUBDIRS mca/fbtl/$item" done MCA_ompi_fbtl_STATIC_SUBDIRS= for item in $static_components ; do MCA_ompi_fbtl_STATIC_SUBDIRS="$MCA_ompi_fbtl_STATIC_SUBDIRS mca/fbtl/$item" done MCA_ompi_fbtl_DSO_SUBDIRS= for item in $dso_components ; do MCA_ompi_fbtl_DSO_SUBDIRS="$MCA_ompi_fbtl_DSO_SUBDIRS mca/fbtl/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "fbtl" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real opal_var_scope_pop want_io_ompio MCA_ompi_FRAMEWORKS="$MCA_ompi_FRAMEWORKS fcoll" MCA_ompi_FRAMEWORKS_SUBDIRS="$MCA_ompi_FRAMEWORKS_SUBDIRS mca/fcoll" MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_ompi_fcoll_ALL_SUBDIRS)" MCA_ompi_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_ompi_fcoll_DSO_SUBDIRS)" MCA_ompi_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_ompi_fcoll_STATIC_SUBDIRS)" mca_ompi_framework_base_lib="mca/fcoll/libmca_fcoll.la" MCA_ompi_FRAMEWORK_LIBS="$MCA_ompi_FRAMEWORK_LIBS ${mca_ompi_framework_base_lib} \$(MCA_ompi_fcoll_STATIC_LTLIBS)" opal_var_scope_push ${LINENO} want_io_ompio if test "$enable_io_ompio" != "no" then : want_io_ompio=1 else case e in @%:@( e) want_io_ompio=0 ;; esac fi opal_show_subsubtitle "Configuring MCA framework fcoll" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=ompi/mca/fcoll/base as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files ompi/mca/fcoll/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework fcoll" >&5 printf %s "checking for no configure components in framework fcoll... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: dynamic, dynamic_gen2, individual, vulcan" >&5 printf "%s\n" "dynamic, dynamic_gen2, individual, vulcan" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework fcoll" >&5 printf %s "checking for m4 configure components in framework fcoll... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components opal_show_subsubsubtitle "MCA component fcoll:dynamic (no configuration)" opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: before, should_build=$want_io_ompio" component_path="$srcdir/ompi/mca/fcoll/dynamic" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_fcoll" ; then if test "$DIRECT_fcoll" = "dynamic" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_fcoll" = "1" then : want_component=0 fi if test "${DISABLE_fcoll_dynamic}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$want_io_ompio else case e in @%:@( e) should_build=0 ;; esac fi if test ${ompi_fcoll_dynamic_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_fcoll" SHARED_COMPONENT="$DSO_fcoll_dynamic" STATIC_FRAMEWORK="$STATIC_fcoll" STATIC_COMPONENT="$STATIC_fcoll_dynamic" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_fcoll_dynamic_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component fcoll:dynamic compile mode" >&5 printf %s "checking for MCA component fcoll:dynamic compile mode... " >&6; } if test "$DIRECT_fcoll" = "dynamic" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_fcoll_dynamic_compile_mode opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" ; then # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/fcoll/dynamic/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components dynamic" if test "$compile_mode" = "dso" ; then dso_components="$dso_components dynamic" else if test "fcoll" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/fcoll/dynamic/lib${OMPI_LIB_NAME}mca_fcoll_dynamic.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/fcoll/dynamic/libmca_fcoll_dynamic.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_fcoll_dynamic_component;" >> $outfile.extern echo " &mca_fcoll_dynamic_component, " >> $outfile.struct static_components="$static_components dynamic" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component fcoll:dynamic can compile" >&5 printf %s "checking if MCA component fcoll:dynamic can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_fcoll" = "dynamic" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_fcoll_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** fcoll component dynamic was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_fcoll" = "dynamic" ; then as_fn_error $? "*** fcoll component dynamic was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${fcoll_dynamic_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${fcoll_dynamic_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${fcoll_dynamic_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${fcoll_dynamic_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${fcoll_dynamic_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${fcoll_dynamic_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$fcoll_dynamic_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $fcoll_dynamic_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring fcoll_dynamic_WRAPPER_EXTRA_CPPFLAGS ($fcoll_dynamic_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring fcoll_dynamic_WRAPPER_EXTRA_CPPFLAGS ($fcoll_dynamic_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component fcoll:dynamic can compile" >&5 printf %s "checking if MCA component fcoll:dynamic can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_fcoll" = "dynamic" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"dynamic\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"dynamic\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_fcoll" ; then if test "$DIRECT_fcoll" = "dynamic" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"dynamic\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"dynamic\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components dynamic" fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" ; then BUILD_ompi_fcoll_dynamic_DSO=1 else BUILD_ompi_fcoll_dynamic_DSO=0 fi if test "$BUILD_ompi_fcoll_dynamic_DSO" = "1"; then MCA_BUILD_ompi_fcoll_dynamic_DSO_TRUE= MCA_BUILD_ompi_fcoll_dynamic_DSO_FALSE='#' else MCA_BUILD_ompi_fcoll_dynamic_DSO_TRUE='#' MCA_BUILD_ompi_fcoll_dynamic_DSO_FALSE= fi ac_config_files="$ac_config_files ompi/mca/fcoll/dynamic/Makefile" unset compile_mode opal_show_subsubsubtitle "MCA component fcoll:dynamic_gen2 (no configuration)" opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: before, should_build=$want_io_ompio" component_path="$srcdir/ompi/mca/fcoll/dynamic_gen2" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_fcoll" ; then if test "$DIRECT_fcoll" = "dynamic_gen2" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_fcoll" = "1" then : want_component=0 fi if test "${DISABLE_fcoll_dynamic_gen2}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$want_io_ompio else case e in @%:@( e) should_build=0 ;; esac fi if test ${ompi_fcoll_dynamic_gen2_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_fcoll" SHARED_COMPONENT="$DSO_fcoll_dynamic_gen2" STATIC_FRAMEWORK="$STATIC_fcoll" STATIC_COMPONENT="$STATIC_fcoll_dynamic_gen2" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_fcoll_dynamic_gen2_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component fcoll:dynamic_gen2 compile mode" >&5 printf %s "checking for MCA component fcoll:dynamic_gen2 compile mode... " >&6; } if test "$DIRECT_fcoll" = "dynamic_gen2" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_fcoll_dynamic_gen2_compile_mode opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" ; then # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/fcoll/dynamic_gen2/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components dynamic_gen2" if test "$compile_mode" = "dso" ; then dso_components="$dso_components dynamic_gen2" else if test "fcoll" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/fcoll/dynamic_gen2/lib${OMPI_LIB_NAME}mca_fcoll_dynamic_gen2.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/fcoll/dynamic_gen2/libmca_fcoll_dynamic_gen2.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_fcoll_dynamic_gen2_component;" >> $outfile.extern echo " &mca_fcoll_dynamic_gen2_component, " >> $outfile.struct static_components="$static_components dynamic_gen2" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component fcoll:dynamic_gen2 can compile" >&5 printf %s "checking if MCA component fcoll:dynamic_gen2 can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_fcoll" = "dynamic_gen2" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_fcoll_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** fcoll component dynamic_gen2 was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_fcoll" = "dynamic_gen2" ; then as_fn_error $? "*** fcoll component dynamic_gen2 was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${fcoll_dynamic_gen2_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${fcoll_dynamic_gen2_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${fcoll_dynamic_gen2_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${fcoll_dynamic_gen2_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${fcoll_dynamic_gen2_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${fcoll_dynamic_gen2_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$fcoll_dynamic_gen2_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $fcoll_dynamic_gen2_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring fcoll_dynamic_gen2_WRAPPER_EXTRA_CPPFLAGS ($fcoll_dynamic_gen2_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring fcoll_dynamic_gen2_WRAPPER_EXTRA_CPPFLAGS ($fcoll_dynamic_gen2_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component fcoll:dynamic_gen2 can compile" >&5 printf %s "checking if MCA component fcoll:dynamic_gen2 can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_fcoll" = "dynamic_gen2" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"dynamic_gen2\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"dynamic_gen2\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_fcoll" ; then if test "$DIRECT_fcoll" = "dynamic_gen2" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"dynamic_gen2\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"dynamic_gen2\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components dynamic_gen2" fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" ; then BUILD_ompi_fcoll_dynamic_gen2_DSO=1 else BUILD_ompi_fcoll_dynamic_gen2_DSO=0 fi if test "$BUILD_ompi_fcoll_dynamic_gen2_DSO" = "1"; then MCA_BUILD_ompi_fcoll_dynamic_gen2_DSO_TRUE= MCA_BUILD_ompi_fcoll_dynamic_gen2_DSO_FALSE='#' else MCA_BUILD_ompi_fcoll_dynamic_gen2_DSO_TRUE='#' MCA_BUILD_ompi_fcoll_dynamic_gen2_DSO_FALSE= fi ac_config_files="$ac_config_files ompi/mca/fcoll/dynamic_gen2/Makefile" unset compile_mode opal_show_subsubsubtitle "MCA component fcoll:individual (no configuration)" opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: before, should_build=$want_io_ompio" component_path="$srcdir/ompi/mca/fcoll/individual" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_fcoll" ; then if test "$DIRECT_fcoll" = "individual" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_fcoll" = "1" then : want_component=0 fi if test "${DISABLE_fcoll_individual}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$want_io_ompio else case e in @%:@( e) should_build=0 ;; esac fi if test ${ompi_fcoll_individual_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_fcoll" SHARED_COMPONENT="$DSO_fcoll_individual" STATIC_FRAMEWORK="$STATIC_fcoll" STATIC_COMPONENT="$STATIC_fcoll_individual" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_fcoll_individual_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component fcoll:individual compile mode" >&5 printf %s "checking for MCA component fcoll:individual compile mode... " >&6; } if test "$DIRECT_fcoll" = "individual" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_fcoll_individual_compile_mode opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" ; then # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/fcoll/individual/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components individual" if test "$compile_mode" = "dso" ; then dso_components="$dso_components individual" else if test "fcoll" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/fcoll/individual/lib${OMPI_LIB_NAME}mca_fcoll_individual.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/fcoll/individual/libmca_fcoll_individual.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_fcoll_individual_component;" >> $outfile.extern echo " &mca_fcoll_individual_component, " >> $outfile.struct static_components="$static_components individual" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component fcoll:individual can compile" >&5 printf %s "checking if MCA component fcoll:individual can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_fcoll" = "individual" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_fcoll_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** fcoll component individual was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_fcoll" = "individual" ; then as_fn_error $? "*** fcoll component individual was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${fcoll_individual_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${fcoll_individual_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${fcoll_individual_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${fcoll_individual_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${fcoll_individual_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${fcoll_individual_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$fcoll_individual_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $fcoll_individual_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring fcoll_individual_WRAPPER_EXTRA_CPPFLAGS ($fcoll_individual_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring fcoll_individual_WRAPPER_EXTRA_CPPFLAGS ($fcoll_individual_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component fcoll:individual can compile" >&5 printf %s "checking if MCA component fcoll:individual can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_fcoll" = "individual" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"individual\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"individual\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_fcoll" ; then if test "$DIRECT_fcoll" = "individual" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"individual\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"individual\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components individual" fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" ; then BUILD_ompi_fcoll_individual_DSO=1 else BUILD_ompi_fcoll_individual_DSO=0 fi if test "$BUILD_ompi_fcoll_individual_DSO" = "1"; then MCA_BUILD_ompi_fcoll_individual_DSO_TRUE= MCA_BUILD_ompi_fcoll_individual_DSO_FALSE='#' else MCA_BUILD_ompi_fcoll_individual_DSO_TRUE='#' MCA_BUILD_ompi_fcoll_individual_DSO_FALSE= fi ac_config_files="$ac_config_files ompi/mca/fcoll/individual/Makefile" unset compile_mode opal_show_subsubsubtitle "MCA component fcoll:vulcan (no configuration)" opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: before, should_build=$want_io_ompio" component_path="$srcdir/ompi/mca/fcoll/vulcan" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_fcoll" ; then if test "$DIRECT_fcoll" = "vulcan" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_fcoll" = "1" then : want_component=0 fi if test "${DISABLE_fcoll_vulcan}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$want_io_ompio else case e in @%:@( e) should_build=0 ;; esac fi if test ${ompi_fcoll_vulcan_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_fcoll" SHARED_COMPONENT="$DSO_fcoll_vulcan" STATIC_FRAMEWORK="$STATIC_fcoll" STATIC_COMPONENT="$STATIC_fcoll_vulcan" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_fcoll_vulcan_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component fcoll:vulcan compile mode" >&5 printf %s "checking for MCA component fcoll:vulcan compile mode... " >&6; } if test "$DIRECT_fcoll" = "vulcan" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_fcoll_vulcan_compile_mode opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" ; then # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/fcoll/vulcan/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components vulcan" if test "$compile_mode" = "dso" ; then dso_components="$dso_components vulcan" else if test "fcoll" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/fcoll/vulcan/lib${OMPI_LIB_NAME}mca_fcoll_vulcan.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/fcoll/vulcan/libmca_fcoll_vulcan.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_fcoll_vulcan_component;" >> $outfile.extern echo " &mca_fcoll_vulcan_component, " >> $outfile.struct static_components="$static_components vulcan" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component fcoll:vulcan can compile" >&5 printf %s "checking if MCA component fcoll:vulcan can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_fcoll" = "vulcan" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_fcoll_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** fcoll component vulcan was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_fcoll" = "vulcan" ; then as_fn_error $? "*** fcoll component vulcan was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${fcoll_vulcan_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${fcoll_vulcan_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${fcoll_vulcan_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${fcoll_vulcan_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${fcoll_vulcan_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${fcoll_vulcan_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$fcoll_vulcan_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $fcoll_vulcan_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring fcoll_vulcan_WRAPPER_EXTRA_CPPFLAGS ($fcoll_vulcan_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring fcoll_vulcan_WRAPPER_EXTRA_CPPFLAGS ($fcoll_vulcan_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component fcoll:vulcan can compile" >&5 printf %s "checking if MCA component fcoll:vulcan can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_fcoll" = "vulcan" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"vulcan\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"vulcan\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_fcoll" ; then if test "$DIRECT_fcoll" = "vulcan" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"vulcan\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"vulcan\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components vulcan" fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" ; then BUILD_ompi_fcoll_vulcan_DSO=1 else BUILD_ompi_fcoll_vulcan_DSO=0 fi if test "$BUILD_ompi_fcoll_vulcan_DSO" = "1"; then MCA_BUILD_ompi_fcoll_vulcan_DSO_TRUE= MCA_BUILD_ompi_fcoll_vulcan_DSO_FALSE='#' else MCA_BUILD_ompi_fcoll_vulcan_DSO_TRUE='#' MCA_BUILD_ompi_fcoll_vulcan_DSO_FALSE= fi ac_config_files="$ac_config_files ompi/mca/fcoll/vulcan/Makefile" unset compile_mode # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=$want_io_ompio components_last_result=0 if test ${DIRECT_fcoll+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for fcoll framework" >&5 printf %s "checking if direct-selection component exists for fcoll framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_fcoll" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_fcoll requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_fcoll" >&5 printf "%s\n" "$DIRECT_fcoll" >&6; } fi MCA_ompi_fcoll_ALL_COMPONENTS="$all_components" MCA_ompi_fcoll_STATIC_COMPONENTS="$static_components" MCA_ompi_fcoll_DSO_COMPONENTS="$dso_components" MCA_ompi_fcoll_STATIC_LTLIBS="$static_ltlibs" MCA_ompi_fcoll_ALL_SUBDIRS= for item in $all_components ; do MCA_ompi_fcoll_ALL_SUBDIRS="$MCA_ompi_fcoll_ALL_SUBDIRS mca/fcoll/$item" done MCA_ompi_fcoll_STATIC_SUBDIRS= for item in $static_components ; do MCA_ompi_fcoll_STATIC_SUBDIRS="$MCA_ompi_fcoll_STATIC_SUBDIRS mca/fcoll/$item" done MCA_ompi_fcoll_DSO_SUBDIRS= for item in $dso_components ; do MCA_ompi_fcoll_DSO_SUBDIRS="$MCA_ompi_fcoll_DSO_SUBDIRS mca/fcoll/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "fcoll" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real opal_var_scope_pop want_io_ompio MCA_ompi_FRAMEWORKS="$MCA_ompi_FRAMEWORKS fs" MCA_ompi_FRAMEWORKS_SUBDIRS="$MCA_ompi_FRAMEWORKS_SUBDIRS mca/fs" MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_ompi_fs_ALL_SUBDIRS)" MCA_ompi_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_ompi_fs_DSO_SUBDIRS)" MCA_ompi_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_ompi_fs_STATIC_SUBDIRS)" mca_ompi_framework_base_lib="mca/fs/libmca_fs.la" MCA_ompi_FRAMEWORK_LIBS="$MCA_ompi_FRAMEWORK_LIBS ${mca_ompi_framework_base_lib} \$(MCA_ompi_fs_STATIC_LTLIBS)" opal_var_scope_push ${LINENO} want_io_ompio if test "$enable_io_ompio" != "no" then : want_io_ompio=1 else case e in @%:@( e) want_io_ompio=0 ;; esac fi opal_show_subsubtitle "Configuring MCA framework fs" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=ompi/mca/fs/base as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files ompi/mca/fs/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework fs" >&5 printf %s "checking for no configure components in framework fs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework fs" >&5 printf %s "checking for m4 configure components in framework fs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: gpfs, ime, lustre, pvfs2, ufs" >&5 printf "%s\n" "gpfs, ime, lustre, pvfs2, ufs" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=$want_io_ompio components_last_result=0 opal_show_subsubsubtitle "MCA component fs:gpfs (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/ompi/mca/fs/gpfs" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_fs" ; then if test "$DIRECT_fs" = "gpfs" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_fs" = "1" then : want_component=0 fi if test "${DISABLE_fs_gpfs}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${ompi_fs_gpfs_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_fs" SHARED_COMPONENT="$DSO_fs_gpfs" STATIC_FRAMEWORK="$STATIC_fs" STATIC_COMPONENT="$STATIC_fs_gpfs" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_fs_gpfs_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component fs:gpfs compile mode" >&5 printf %s "checking for MCA component fs:gpfs compile mode... " >&6; } if test "$DIRECT_fs" = "gpfs" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_fs_gpfs_compile_mode # try to configure the component opal_var_scope_push ${LINENO} fs_gpfs_happy ac_config_files="$ac_config_files ompi/mca/fs/gpfs/Makefile" opal_var_scope_push ${LINENO} ompi_check_gpfs_happy # Get some configuration information @%:@ Check whether --with-gpfs was given. if test ${with_gpfs+y} then : withval=$with_gpfs; fi # Add correct -I and -L flags # ****************************** START CHECK PACKAGE FOR gpfs ****************************** oac_var_scope_push ${LINENO} check_package_fs_gpfs_save_CPPFLAGS check_package_fs_gpfs_save_LDFLAGS check_package_fs_gpfs_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_fs_gpfs_save_CPPFLAGS="${CPPFLAGS}" check_package_fs_gpfs_save_LDFLAGS="${LDFLAGS}" check_package_fs_gpfs_save_LIBS="${LIBS}" fs_gpfs_CPPFLAGS= fs_gpfs_LDFLAGS= fs_gpfs_STATIC_LDFLAGS= fs_gpfs_LIBS= fs_gpfs_STATIC_LIBS= { fs_gpfs_PC_MODULES=; unset fs_gpfs_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_gpfs" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package gpfs disabled by user" >&5 printf "%s\n" "$as_me: Package gpfs disabled by user" >&6;} check_package_happy=0 elif test "${with_gpfs}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_gpfs}" ;; esac fi check_package_libdir= if test "${with_gpfs_libdir}" = "no" -o "${with_gpfs_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-gpfs-libdir" "$LINENO" 5 elif test -n "${with_gpfs_libdir}" then : check_package_libdir="${with_gpfs_libdir}" fi check_package_incdir= if test "${with_gpfs_incdir}" = "no" -o "${with_gpfs_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-gpfs-incdir" "$LINENO" 5 elif test -n "${with_gpfs_incdir}" then : check_package_incdir="${with_gpfs_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${gpfs_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-gpfs or --with-gpfs-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-gpfs only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gpfs pkg-config name" >&5 printf %s "checking for gpfs pkg-config name... " >&6; } if test ${oac_cv_check_package_gpfs_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_gpfs_pcfilename="gpfs" if test -n "${check_package_libdir}" then : oac_cv_check_package_gpfs_pcfilename="${check_package_libdir}/pkgconfig/gpfs.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_gpfs_pcfilename="gpfs" elif test -r "${check_package_prefix}/lib/pkgconfig/gpfs.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/gpfs.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found gpfs in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-gpfs-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_gpfs_pcfilename="${check_package_prefix}/lib/pkgconfig/gpfs.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/gpfs.pc" then : oac_cv_check_package_gpfs_pcfilename="${check_package_prefix}/lib64/pkgconfig/gpfs.pc" else case e in @%:@( e) oac_cv_check_package_gpfs_pcfilename="${check_package_prefix}/lib/pkgconfig/gpfs.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_gpfs_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_gpfs_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if gpfs pkg-config module exists" >&5 printf %s "checking if gpfs pkg-config module exists... " >&6; } if test ${oac_cv_check_package_gpfs_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_gpfs_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_gpfs_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : fs_gpfs_PC_MODULES=${oac_cv_check_package_gpfs_pcfilename} oac_cv_check_package_gpfs_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_gpfs_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_gpfs_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_gpfs_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_gpfs_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gpfs pkg-config cflags" >&5 printf %s "checking for gpfs pkg-config cflags... " >&6; } if test ${oac_cv_check_package_gpfs_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_gpfs_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_gpfs_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_gpfs_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving gpfs cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_gpfs_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_gpfs_pkg_config_cppflags" >&6; } fs_gpfs_CPPFLAGS="${oac_cv_check_package_gpfs_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gpfs pkg-config ldflags" >&5 printf %s "checking for gpfs pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_gpfs_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_gpfs_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_gpfs_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_gpfs_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving gpfs ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_gpfs_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_gpfs_pkg_config_ldflags" >&6; } fs_gpfs_LDFLAGS="${oac_cv_check_package_gpfs_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gpfs pkg-config static ldflags" >&5 printf %s "checking for gpfs pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_gpfs_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_gpfs_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_gpfs_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_gpfs_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving gpfs static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_gpfs_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_gpfs_pkg_config_static_ldflags" >&6; } fs_gpfs_STATIC_LDFLAGS="${oac_cv_check_package_gpfs_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gpfs pkg-config libs" >&5 printf %s "checking for gpfs pkg-config libs... " >&6; } if test ${oac_cv_check_package_gpfs_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_gpfs_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_gpfs_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_gpfs_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving gpfs libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_gpfs_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_gpfs_pkg_config_libs" >&6; } fs_gpfs_LIBS="${oac_cv_check_package_gpfs_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gpfs pkg-config static libs" >&5 printf %s "checking for gpfs pkg-config static libs... " >&6; } if test ${oac_cv_check_package_gpfs_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_gpfs_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_gpfs_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_gpfs_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving gpfs libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_gpfs_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_gpfs_pkg_config_static_libs" >&6; } fs_gpfs_STATIC_LIBS="${oac_cv_check_package_gpfs_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${gpfs_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-gpfs argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gpfs wrapper compiler" >&5 printf %s "checking for gpfs wrapper compiler... " >&6; } if test ${oac_cv_check_package_gpfs_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_gpfs_wrapper_compiler="gpfscc" else case e in @%:@( e) oac_cv_check_package_gpfs_wrapper_compiler="${check_package_prefix}/bin/gpfscc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_gpfs_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_gpfs_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if gpfs wrapper compiler works" >&5 printf %s "checking if gpfs wrapper compiler works... " >&6; } if test ${oac_cv_check_package_gpfs_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_gpfs_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_gpfs_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_gpfs_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_gpfs_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_gpfs_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_gpfs_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_gpfs_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gpfs wrapper compiler cppflags" >&5 printf %s "checking for gpfs wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_gpfs_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_gpfs_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_gpfs_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_gpfs_wrapper_compiler_cppflags}" then : oac_cv_check_package_gpfs_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_gpfs_wrapper_compiler_cppflags="${oac_cv_check_package_gpfs_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving gpfs cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_gpfs_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_gpfs_wrapper_compiler_cppflags" >&6; } fs_gpfs_CPPFLAGS="${oac_cv_check_package_gpfs_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gpfs wrapper compiler ldflags" >&5 printf %s "checking for gpfs wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_gpfs_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_gpfs_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_gpfs_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_gpfs_wrapper_compiler_ldflags}" then : oac_cv_check_package_gpfs_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_gpfs_wrapper_compiler_ldflags="${oac_cv_check_package_gpfs_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving gpfs ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_gpfs_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_gpfs_wrapper_compiler_ldflags" >&6; } fs_gpfs_LDFLAGS="${oac_cv_check_package_gpfs_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gpfs wrapper compiler static ldflags" >&5 printf %s "checking for gpfs wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_gpfs_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_gpfs_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_gpfs_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_gpfs_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_gpfs_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_gpfs_wrapper_compiler_static_ldflags="${oac_cv_check_package_gpfs_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving gpfs static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_gpfs_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_gpfs_wrapper_compiler_static_ldflags" >&6; } fs_gpfs_STATIC_LDFLAGS="${oac_cv_check_package_gpfs_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gpfs wrapper compiler libs" >&5 printf %s "checking for gpfs wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_gpfs_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_gpfs_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_gpfs_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_gpfs_wrapper_compiler_libs}" then : oac_cv_check_package_gpfs_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_gpfs_wrapper_compiler_libs="${oac_cv_check_package_gpfs_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving gpfs libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_gpfs_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_gpfs_wrapper_compiler_libs" >&6; } fs_gpfs_LIBS="$oac_cv_check_package_gpfs_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gpfs wrapper compiler static libs" >&5 printf %s "checking for gpfs wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_gpfs_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_gpfs_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_gpfs_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_gpfs_wrapper_compiler_static_libs}" then : oac_cv_check_package_gpfs_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_gpfs_wrapper_compiler_static_libs="${oac_cv_check_package_gpfs_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving gpfs static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_gpfs_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_gpfs_wrapper_compiler_static_libs" >&6; } fs_gpfs_STATIC_LIBS="${oac_cv_check_package_gpfs_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "gpfs.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "gpfs" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gpfs header at ${check_package_generic_incdir}" >&5 printf %s "checking for gpfs header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 fs_gpfs_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gpfs library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for gpfs library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 fs_gpfs_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gpfs library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for gpfs library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-gpfs-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 fs_gpfs_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 fs_gpfs_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 fs_gpfs_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for gpfs in default search paths" >&5 printf "%s\n" "$as_me: Searching for gpfs in default search paths" >&6;} gpfs_CPPFLAGS= gpfs_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in gpfs ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${fs_gpfs_LIBS}" then : fs_gpfs_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) fs_gpfs_LIBS="${fs_gpfs_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${fs_gpfs_STATIC_LIBS}" then : fs_gpfs_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) fs_gpfs_STATIC_LIBS="${fs_gpfs_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gpfs cppflags" >&5 printf %s "checking for gpfs cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fs_gpfs_CPPFLAGS" >&5 printf "%s\n" "$fs_gpfs_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gpfs ldflags" >&5 printf %s "checking for gpfs ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fs_gpfs_LDFLAGS" >&5 printf "%s\n" "$fs_gpfs_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gpfs libs" >&5 printf %s "checking for gpfs libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fs_gpfs_LIBS" >&5 printf "%s\n" "$fs_gpfs_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gpfs static libs" >&5 printf %s "checking for gpfs static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fs_gpfs_STATIC_LIBS" >&5 printf "%s\n" "$fs_gpfs_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${fs_gpfs_LDFLAGS}" then : fs_gpfs_LDFLAGS="${fs_gpfs_STATIC_LDFLAGS}" else case e in @%:@( e) fs_gpfs_LDFLAGS="${fs_gpfs_LDFLAGS} ${fs_gpfs_STATIC_LDFLAGS}" ;; esac fi if test -z "${fs_gpfs_LIBS}" then : fs_gpfs_LIBS="${fs_gpfs_STATIC_LIBS}" else case e in @%:@( e) fs_gpfs_LIBS="${fs_gpfs_LIBS} ${fs_gpfs_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "gpfs.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${fs_gpfs_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${fs_gpfs_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${fs_gpfs_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${fs_gpfs_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${fs_gpfs_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${fs_gpfs_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "gpfs_lib_init" "ac_cv_func_gpfs_lib_init" if test "x$ac_cv_func_gpfs_lib_init" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if gpfs requires libnl v1 or v3" >&5 printf %s "checking if gpfs requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_gpfs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void gpfs_lib_init (void); int main(int argc, char *argv[]) { gpfs_lib_init (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib gpfs" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib gpfs" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_gpfs=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_gpfs" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_gpfs" >&6; } result_msg=$opal_libnl_sanity_check_cv_gpfs this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, gpfs links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, gpfs links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libgpfs (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libgpfs (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libgpfs." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libgpfs." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas gpfs requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas gpfs requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libgpfs (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libgpfs (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libgpfs." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libgpfs." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs gpfs" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas gpfs requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas gpfs requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libgpfs (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libgpfs (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libgpfs." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libgpfs." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs gpfs" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi fs_gpfs_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : fs_gpfs_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) fs_gpfs_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi ompi_check_gpfs_happy="yes" else case e in @%:@( e) if test "${with_gpfs}" = "no" then : fs_gpfs_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) fs_gpfs_SUMMARY="no (not found)" ;; esac fi { fs_gpfs_CPPFLAGS=; unset fs_gpfs_CPPFLAGS;} { fs_gpfs_LDFLAGS=; unset fs_gpfs_LDFLAGS;} { fs_gpfs_STATIC_LDFLAGS=; unset fs_gpfs_STATIC_LDFLAGS;} { fs_gpfs_LIBS=; unset fs_gpfs_LIBS;} { fs_gpfs_STATIC_LIBS=; unset fs_gpfs_STATIC_LIBS;} ompi_check_gpfs_happy="no" ;; esac fi CPPFLAGS="${check_package_fs_gpfs_save_CPPFLAGS}" LDFLAGS="${check_package_fs_gpfs_save_LDFLAGS}" LIBS="${check_package_fs_gpfs_save_LIBS}" oac_var_scope_pop check_package_fs_gpfs_save_CPPFLAGS check_package_fs_gpfs_save_LDFLAGS check_package_fs_gpfs_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR gpfs ****************************** 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="IBM Spectrum Scale/GPFS: ${fs_gpfs_SUMMARY}" oac_summary_key="OMPIO_File_SystemsIBM_Spectrum_Scale_GPFS" # Use the section name variable as an indicator for whether or not # the section has already been created. if test ${oac_summary_section_OMPIO_File_Systems_name+y} then : else case e in @%:@( e) oac_summary_section_OMPIO_File_Systems_name="OMPIO File Systems" if test -z "${oac_summary_sections}" then : oac_summary_sections="OMPIO_File_Systems" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} OMPIO_File_Systems" ;; esac fi ;; esac 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 case e in @%:@( e) eval "${oac_summary_key}=1" if test ${oac_summary_section_OMPIO_File_Systems_value+y} then : as_fn_append oac_summary_section_OMPIO_File_Systems_value "${oac_summary_newline}${oac_summary_line}" else case e in @%:@( e) oac_summary_section_OMPIO_File_Systems_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key if test "$ompi_check_gpfs_happy" = "yes" then : fs_gpfs_happy="yes" else case e in @%:@( e) if test ! -z "$with_gpfs" && test "$with_gpfs" != "no" then : as_fn_error $? "GPFS support requested but not found. Aborting" "$LINENO" 5 fi fs_gpfs_happy="no" ;; esac fi opal_var_scope_pop ompi_check_gpfs_happy if test "$fs_gpfs_happy" = "yes" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi # substitute in the things needed to build gpfs opal_var_scope_pop fs_gpfs_happy opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/fs/gpfs/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components gpfs" if test "$compile_mode" = "dso" ; then dso_components="$dso_components gpfs" else if test "fs" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/fs/gpfs/lib${OMPI_LIB_NAME}mca_fs_gpfs.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/fs/gpfs/libmca_fs_gpfs.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_fs_gpfs_component;" >> $outfile.extern echo " &mca_fs_gpfs_component, " >> $outfile.struct static_components="$static_components gpfs" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component fs:gpfs can compile" >&5 printf %s "checking if MCA component fs:gpfs can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_fs" = "gpfs" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_fs_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** fs component gpfs was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_fs" = "gpfs" ; then as_fn_error $? "*** fs component gpfs was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${fs_gpfs_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${fs_gpfs_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${fs_gpfs_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${fs_gpfs_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${fs_gpfs_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${fs_gpfs_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$fs_gpfs_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $fs_gpfs_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring fs_gpfs_WRAPPER_EXTRA_CPPFLAGS ($fs_gpfs_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring fs_gpfs_WRAPPER_EXTRA_CPPFLAGS ($fs_gpfs_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component fs:gpfs can compile" >&5 printf %s "checking if MCA component fs:gpfs can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_fs" = "gpfs" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"gpfs\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"gpfs\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_fs" ; then if test "$DIRECT_fs" = "gpfs" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"gpfs\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"gpfs\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components gpfs" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_ompi_fs_gpfs_DSO=1 else case e in @%:@( e) BUILD_ompi_fs_gpfs_DSO=0 ;; esac fi if test "$BUILD_ompi_fs_gpfs_DSO" = "1"; then MCA_BUILD_ompi_fs_gpfs_DSO_TRUE= MCA_BUILD_ompi_fs_gpfs_DSO_FALSE='#' else MCA_BUILD_ompi_fs_gpfs_DSO_TRUE='#' MCA_BUILD_ompi_fs_gpfs_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component fs:ime (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/ompi/mca/fs/ime" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_fs" ; then if test "$DIRECT_fs" = "ime" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_fs" = "1" then : want_component=0 fi if test "${DISABLE_fs_ime}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${ompi_fs_ime_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_fs" SHARED_COMPONENT="$DSO_fs_ime" STATIC_FRAMEWORK="$STATIC_fs" STATIC_COMPONENT="$STATIC_fs_ime" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_fs_ime_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component fs:ime compile mode" >&5 printf %s "checking for MCA component fs:ime compile mode... " >&6; } if test "$DIRECT_fs" = "ime" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_fs_ime_compile_mode # try to configure the component ac_config_files="$ac_config_files ompi/mca/fs/ime/Makefile" opal_var_scope_push ${LINENO} ompi_check_ime_happy # Get some configuration information @%:@ Check whether --with-ime was given. if test ${with_ime+y} then : withval=$with_ime; fi # ****************************** START CHECK PACKAGE FOR ime ****************************** oac_var_scope_push ${LINENO} check_package_fs_ime_save_CPPFLAGS check_package_fs_ime_save_LDFLAGS check_package_fs_ime_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_fs_ime_save_CPPFLAGS="${CPPFLAGS}" check_package_fs_ime_save_LDFLAGS="${LDFLAGS}" check_package_fs_ime_save_LIBS="${LIBS}" fs_ime_CPPFLAGS= fs_ime_LDFLAGS= fs_ime_STATIC_LDFLAGS= fs_ime_LIBS= fs_ime_STATIC_LIBS= { fs_ime_PC_MODULES=; unset fs_ime_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_ime" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package ime disabled by user" >&5 printf "%s\n" "$as_me: Package ime disabled by user" >&6;} check_package_happy=0 elif test "${with_ime}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_ime}" ;; esac fi check_package_libdir= if test "${with_ime_libdir}" = "no" -o "${with_ime_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-ime-libdir" "$LINENO" 5 elif test -n "${with_ime_libdir}" then : check_package_libdir="${with_ime_libdir}" fi check_package_incdir= if test "${with_ime_incdir}" = "no" -o "${with_ime_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-ime-incdir" "$LINENO" 5 elif test -n "${with_ime_incdir}" then : check_package_incdir="${with_ime_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${ime_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-ime or --with-ime-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-ime only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ime pkg-config name" >&5 printf %s "checking for ime pkg-config name... " >&6; } if test ${oac_cv_check_package_ime_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_ime_pcfilename="ime" if test -n "${check_package_libdir}" then : oac_cv_check_package_ime_pcfilename="${check_package_libdir}/pkgconfig/ime.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_ime_pcfilename="ime" elif test -r "${check_package_prefix}/lib/pkgconfig/ime.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/ime.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found ime in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-ime-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_ime_pcfilename="${check_package_prefix}/lib/pkgconfig/ime.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/ime.pc" then : oac_cv_check_package_ime_pcfilename="${check_package_prefix}/lib64/pkgconfig/ime.pc" else case e in @%:@( e) oac_cv_check_package_ime_pcfilename="${check_package_prefix}/lib/pkgconfig/ime.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ime_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_ime_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ime pkg-config module exists" >&5 printf %s "checking if ime pkg-config module exists... " >&6; } if test ${oac_cv_check_package_ime_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_ime_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_ime_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : fs_ime_PC_MODULES=${oac_cv_check_package_ime_pcfilename} oac_cv_check_package_ime_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_ime_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ime_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_ime_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_ime_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ime pkg-config cflags" >&5 printf %s "checking for ime pkg-config cflags... " >&6; } if test ${oac_cv_check_package_ime_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_ime_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_ime_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ime_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ime cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ime_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_ime_pkg_config_cppflags" >&6; } fs_ime_CPPFLAGS="${oac_cv_check_package_ime_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ime pkg-config ldflags" >&5 printf %s "checking for ime pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_ime_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_ime_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_ime_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ime_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ime ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ime_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ime_pkg_config_ldflags" >&6; } fs_ime_LDFLAGS="${oac_cv_check_package_ime_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ime pkg-config static ldflags" >&5 printf %s "checking for ime pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_ime_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_ime_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_ime_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ime_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ime static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ime_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ime_pkg_config_static_ldflags" >&6; } fs_ime_STATIC_LDFLAGS="${oac_cv_check_package_ime_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ime pkg-config libs" >&5 printf %s "checking for ime pkg-config libs... " >&6; } if test ${oac_cv_check_package_ime_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_ime_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_ime_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ime_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ime libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ime_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_ime_pkg_config_libs" >&6; } fs_ime_LIBS="${oac_cv_check_package_ime_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ime pkg-config static libs" >&5 printf %s "checking for ime pkg-config static libs... " >&6; } if test ${oac_cv_check_package_ime_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_ime_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_ime_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ime_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ime libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ime_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_ime_pkg_config_static_libs" >&6; } fs_ime_STATIC_LIBS="${oac_cv_check_package_ime_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${ime_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-ime argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ime wrapper compiler" >&5 printf %s "checking for ime wrapper compiler... " >&6; } if test ${oac_cv_check_package_ime_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_ime_wrapper_compiler="imecc" else case e in @%:@( e) oac_cv_check_package_ime_wrapper_compiler="${check_package_prefix}/bin/imecc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ime_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_ime_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ime wrapper compiler works" >&5 printf %s "checking if ime wrapper compiler works... " >&6; } if test ${oac_cv_check_package_ime_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ime_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ime_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_ime_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_ime_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ime_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_ime_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_ime_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ime wrapper compiler cppflags" >&5 printf %s "checking for ime wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_ime_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ime_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ime_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ime_wrapper_compiler_cppflags}" then : oac_cv_check_package_ime_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ime_wrapper_compiler_cppflags="${oac_cv_check_package_ime_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ime cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ime_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_ime_wrapper_compiler_cppflags" >&6; } fs_ime_CPPFLAGS="${oac_cv_check_package_ime_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ime wrapper compiler ldflags" >&5 printf %s "checking for ime wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_ime_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ime_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ime_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ime_wrapper_compiler_ldflags}" then : oac_cv_check_package_ime_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ime_wrapper_compiler_ldflags="${oac_cv_check_package_ime_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ime ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ime_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ime_wrapper_compiler_ldflags" >&6; } fs_ime_LDFLAGS="${oac_cv_check_package_ime_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ime wrapper compiler static ldflags" >&5 printf %s "checking for ime wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_ime_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ime_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ime_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ime_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_ime_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ime_wrapper_compiler_static_ldflags="${oac_cv_check_package_ime_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ime static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ime_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ime_wrapper_compiler_static_ldflags" >&6; } fs_ime_STATIC_LDFLAGS="${oac_cv_check_package_ime_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ime wrapper compiler libs" >&5 printf %s "checking for ime wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_ime_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ime_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ime_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ime_wrapper_compiler_libs}" then : oac_cv_check_package_ime_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ime_wrapper_compiler_libs="${oac_cv_check_package_ime_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ime libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ime_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_ime_wrapper_compiler_libs" >&6; } fs_ime_LIBS="$oac_cv_check_package_ime_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ime wrapper compiler static libs" >&5 printf %s "checking for ime wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_ime_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ime_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ime_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ime_wrapper_compiler_static_libs}" then : oac_cv_check_package_ime_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ime_wrapper_compiler_static_libs="${oac_cv_check_package_ime_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ime static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ime_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_ime_wrapper_compiler_static_libs" >&6; } fs_ime_STATIC_LIBS="${oac_cv_check_package_ime_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "ime_native.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "im_client" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ime header at ${check_package_generic_incdir}" >&5 printf %s "checking for ime header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 fs_ime_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ime library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for ime library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 fs_ime_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ime library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for ime library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-ime-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 fs_ime_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 fs_ime_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 fs_ime_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for ime in default search paths" >&5 printf "%s\n" "$as_me: Searching for ime in default search paths" >&6;} ime_CPPFLAGS= ime_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in im_client ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${fs_ime_LIBS}" then : fs_ime_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) fs_ime_LIBS="${fs_ime_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${fs_ime_STATIC_LIBS}" then : fs_ime_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) fs_ime_STATIC_LIBS="${fs_ime_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ime cppflags" >&5 printf %s "checking for ime cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fs_ime_CPPFLAGS" >&5 printf "%s\n" "$fs_ime_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ime ldflags" >&5 printf %s "checking for ime ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fs_ime_LDFLAGS" >&5 printf "%s\n" "$fs_ime_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ime libs" >&5 printf %s "checking for ime libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fs_ime_LIBS" >&5 printf "%s\n" "$fs_ime_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ime static libs" >&5 printf %s "checking for ime static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fs_ime_STATIC_LIBS" >&5 printf "%s\n" "$fs_ime_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${fs_ime_LDFLAGS}" then : fs_ime_LDFLAGS="${fs_ime_STATIC_LDFLAGS}" else case e in @%:@( e) fs_ime_LDFLAGS="${fs_ime_LDFLAGS} ${fs_ime_STATIC_LDFLAGS}" ;; esac fi if test -z "${fs_ime_LIBS}" then : fs_ime_LIBS="${fs_ime_STATIC_LIBS}" else case e in @%:@( e) fs_ime_LIBS="${fs_ime_LIBS} ${fs_ime_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "ime_native.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${fs_ime_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${fs_ime_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${fs_ime_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${fs_ime_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${fs_ime_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${fs_ime_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "ime_client_native2_init" "ac_cv_func_ime_client_native2_init" if test "x$ac_cv_func_ime_client_native2_init" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ime requires libnl v1 or v3" >&5 printf %s "checking if ime requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_ime+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void ime_client_native2_init (void); int main(int argc, char *argv[]) { ime_client_native2_init (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib ime" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib ime" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_ime=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_ime" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_ime" >&6; } result_msg=$opal_libnl_sanity_check_cv_ime this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, ime links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, ime links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libime (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libime (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libime." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libime." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas ime requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas ime requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libime (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libime (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libime." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libime." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs ime" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas ime requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas ime requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libime (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libime (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libime." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libime." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs ime" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi fs_ime_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : fs_ime_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) fs_ime_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi ompi_check_ime_happy="yes" else case e in @%:@( e) if test "${with_ime}" = "no" then : fs_ime_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) fs_ime_SUMMARY="no (not found)" ;; esac fi { fs_ime_CPPFLAGS=; unset fs_ime_CPPFLAGS;} { fs_ime_LDFLAGS=; unset fs_ime_LDFLAGS;} { fs_ime_STATIC_LDFLAGS=; unset fs_ime_STATIC_LDFLAGS;} { fs_ime_LIBS=; unset fs_ime_LIBS;} { fs_ime_STATIC_LIBS=; unset fs_ime_STATIC_LIBS;} ompi_check_ime_happy="no" ;; esac fi CPPFLAGS="${check_package_fs_ime_save_CPPFLAGS}" LDFLAGS="${check_package_fs_ime_save_LDFLAGS}" LIBS="${check_package_fs_ime_save_LIBS}" oac_var_scope_pop check_package_fs_ime_save_CPPFLAGS check_package_fs_ime_save_LDFLAGS check_package_fs_ime_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR ime ****************************** if test "$ompi_check_ime_happy" = "yes" then : fs_ime_happy="yes" else case e in @%:@( e) if test ! -z "$with_ime" && test "$with_ime" != "no" then : as_fn_error $? "IME support requested but not found. Aborting" "$LINENO" 5 fi fs_ime_happy="no" ;; esac fi opal_var_scope_pop ompi_check_ime_happy 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="DDN Infinite Memory Engine: $fs_ime_happy" oac_summary_key="OMPIO_File_SystemsDDN_Infinite_Memory_Engine" # Use the section name variable as an indicator for whether or not # the section has already been created. if test ${oac_summary_section_OMPIO_File_Systems_name+y} then : else case e in @%:@( e) oac_summary_section_OMPIO_File_Systems_name="OMPIO File Systems" if test -z "${oac_summary_sections}" then : oac_summary_sections="OMPIO_File_Systems" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} OMPIO_File_Systems" ;; esac fi ;; esac 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 case e in @%:@( e) eval "${oac_summary_key}=1" if test ${oac_summary_section_OMPIO_File_Systems_value+y} then : as_fn_append oac_summary_section_OMPIO_File_Systems_value "${oac_summary_newline}${oac_summary_line}" else case e in @%:@( e) oac_summary_section_OMPIO_File_Systems_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key if test "$fs_ime_happy" = "yes" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi # substitute in the things needed to build ime opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/fs/ime/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components ime" if test "$compile_mode" = "dso" ; then dso_components="$dso_components ime" else if test "fs" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/fs/ime/lib${OMPI_LIB_NAME}mca_fs_ime.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/fs/ime/libmca_fs_ime.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_fs_ime_component;" >> $outfile.extern echo " &mca_fs_ime_component, " >> $outfile.struct static_components="$static_components ime" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component fs:ime can compile" >&5 printf %s "checking if MCA component fs:ime can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_fs" = "ime" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_fs_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** fs component ime was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_fs" = "ime" ; then as_fn_error $? "*** fs component ime was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${fs_ime_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${fs_ime_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${fs_ime_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${fs_ime_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${fs_ime_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${fs_ime_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$fs_ime_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $fs_ime_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring fs_ime_WRAPPER_EXTRA_CPPFLAGS ($fs_ime_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring fs_ime_WRAPPER_EXTRA_CPPFLAGS ($fs_ime_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component fs:ime can compile" >&5 printf %s "checking if MCA component fs:ime can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_fs" = "ime" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ime\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ime\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_fs" ; then if test "$DIRECT_fs" = "ime" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ime\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ime\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components ime" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_ompi_fs_ime_DSO=1 else case e in @%:@( e) BUILD_ompi_fs_ime_DSO=0 ;; esac fi if test "$BUILD_ompi_fs_ime_DSO" = "1"; then MCA_BUILD_ompi_fs_ime_DSO_TRUE= MCA_BUILD_ompi_fs_ime_DSO_FALSE='#' else MCA_BUILD_ompi_fs_ime_DSO_TRUE='#' MCA_BUILD_ompi_fs_ime_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component fs:lustre (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/ompi/mca/fs/lustre" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_fs" ; then if test "$DIRECT_fs" = "lustre" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_fs" = "1" then : want_component=0 fi if test "${DISABLE_fs_lustre}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${ompi_fs_lustre_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_fs" SHARED_COMPONENT="$DSO_fs_lustre" STATIC_FRAMEWORK="$STATIC_fs" STATIC_COMPONENT="$STATIC_fs_lustre" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_fs_lustre_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component fs:lustre compile mode" >&5 printf %s "checking for MCA component fs:lustre compile mode... " >&6; } if test "$DIRECT_fs" = "lustre" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_fs_lustre_compile_mode # try to configure the component opal_var_scope_push ${LINENO} fs_lustre_happy ac_config_files="$ac_config_files ompi/mca/fs/lustre/Makefile" opal_var_scope_push ${LINENO} ompi_check_lustre_happy # Get some configuration information @%:@ Check whether --with-lustre was given. if test ${with_lustre+y} then : withval=$with_lustre; fi # ****************************** START CHECK PACKAGE FOR lustre ****************************** oac_var_scope_push ${LINENO} check_package_fs_lustre_save_CPPFLAGS check_package_fs_lustre_save_LDFLAGS check_package_fs_lustre_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_fs_lustre_save_CPPFLAGS="${CPPFLAGS}" check_package_fs_lustre_save_LDFLAGS="${LDFLAGS}" check_package_fs_lustre_save_LIBS="${LIBS}" fs_lustre_CPPFLAGS= fs_lustre_LDFLAGS= fs_lustre_STATIC_LDFLAGS= fs_lustre_LIBS= fs_lustre_STATIC_LIBS= { fs_lustre_PC_MODULES=; unset fs_lustre_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_lustre" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package lustre disabled by user" >&5 printf "%s\n" "$as_me: Package lustre disabled by user" >&6;} check_package_happy=0 elif test "${with_lustre}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_lustre}" ;; esac fi check_package_libdir= if test "${with_lustre_libdir}" = "no" -o "${with_lustre_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-lustre-libdir" "$LINENO" 5 elif test -n "${with_lustre_libdir}" then : check_package_libdir="${with_lustre_libdir}" fi check_package_incdir= if test "${with_lustre_incdir}" = "no" -o "${with_lustre_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-lustre-incdir" "$LINENO" 5 elif test -n "${with_lustre_incdir}" then : check_package_incdir="${with_lustre_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${lustre_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-lustre or --with-lustre-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-lustre only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lustre pkg-config name" >&5 printf %s "checking for lustre pkg-config name... " >&6; } if test ${oac_cv_check_package_lustre_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_lustre_pcfilename="lustre" if test -n "${check_package_libdir}" then : oac_cv_check_package_lustre_pcfilename="${check_package_libdir}/pkgconfig/lustre.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_lustre_pcfilename="lustre" elif test -r "${check_package_prefix}/lib/pkgconfig/lustre.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/lustre.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found lustre in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-lustre-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_lustre_pcfilename="${check_package_prefix}/lib/pkgconfig/lustre.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/lustre.pc" then : oac_cv_check_package_lustre_pcfilename="${check_package_prefix}/lib64/pkgconfig/lustre.pc" else case e in @%:@( e) oac_cv_check_package_lustre_pcfilename="${check_package_prefix}/lib/pkgconfig/lustre.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_lustre_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_lustre_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if lustre pkg-config module exists" >&5 printf %s "checking if lustre pkg-config module exists... " >&6; } if test ${oac_cv_check_package_lustre_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_lustre_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_lustre_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : fs_lustre_PC_MODULES=${oac_cv_check_package_lustre_pcfilename} oac_cv_check_package_lustre_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_lustre_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_lustre_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_lustre_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_lustre_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lustre pkg-config cflags" >&5 printf %s "checking for lustre pkg-config cflags... " >&6; } if test ${oac_cv_check_package_lustre_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_lustre_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_lustre_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_lustre_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving lustre cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_lustre_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_lustre_pkg_config_cppflags" >&6; } fs_lustre_CPPFLAGS="${oac_cv_check_package_lustre_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lustre pkg-config ldflags" >&5 printf %s "checking for lustre pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_lustre_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_lustre_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_lustre_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_lustre_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving lustre ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_lustre_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_lustre_pkg_config_ldflags" >&6; } fs_lustre_LDFLAGS="${oac_cv_check_package_lustre_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lustre pkg-config static ldflags" >&5 printf %s "checking for lustre pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_lustre_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_lustre_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_lustre_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_lustre_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving lustre static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_lustre_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_lustre_pkg_config_static_ldflags" >&6; } fs_lustre_STATIC_LDFLAGS="${oac_cv_check_package_lustre_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lustre pkg-config libs" >&5 printf %s "checking for lustre pkg-config libs... " >&6; } if test ${oac_cv_check_package_lustre_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_lustre_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_lustre_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_lustre_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving lustre libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_lustre_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_lustre_pkg_config_libs" >&6; } fs_lustre_LIBS="${oac_cv_check_package_lustre_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lustre pkg-config static libs" >&5 printf %s "checking for lustre pkg-config static libs... " >&6; } if test ${oac_cv_check_package_lustre_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_lustre_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_lustre_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_lustre_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving lustre libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_lustre_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_lustre_pkg_config_static_libs" >&6; } fs_lustre_STATIC_LIBS="${oac_cv_check_package_lustre_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${lustre_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-lustre argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lustre wrapper compiler" >&5 printf %s "checking for lustre wrapper compiler... " >&6; } if test ${oac_cv_check_package_lustre_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_lustre_wrapper_compiler="lustrecc" else case e in @%:@( e) oac_cv_check_package_lustre_wrapper_compiler="${check_package_prefix}/bin/lustrecc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_lustre_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_lustre_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if lustre wrapper compiler works" >&5 printf %s "checking if lustre wrapper compiler works... " >&6; } if test ${oac_cv_check_package_lustre_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_lustre_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_lustre_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_lustre_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_lustre_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_lustre_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_lustre_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_lustre_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lustre wrapper compiler cppflags" >&5 printf %s "checking for lustre wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_lustre_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_lustre_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_lustre_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_lustre_wrapper_compiler_cppflags}" then : oac_cv_check_package_lustre_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_lustre_wrapper_compiler_cppflags="${oac_cv_check_package_lustre_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving lustre cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_lustre_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_lustre_wrapper_compiler_cppflags" >&6; } fs_lustre_CPPFLAGS="${oac_cv_check_package_lustre_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lustre wrapper compiler ldflags" >&5 printf %s "checking for lustre wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_lustre_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_lustre_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_lustre_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_lustre_wrapper_compiler_ldflags}" then : oac_cv_check_package_lustre_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_lustre_wrapper_compiler_ldflags="${oac_cv_check_package_lustre_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving lustre ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_lustre_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_lustre_wrapper_compiler_ldflags" >&6; } fs_lustre_LDFLAGS="${oac_cv_check_package_lustre_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lustre wrapper compiler static ldflags" >&5 printf %s "checking for lustre wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_lustre_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_lustre_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_lustre_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_lustre_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_lustre_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_lustre_wrapper_compiler_static_ldflags="${oac_cv_check_package_lustre_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving lustre static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_lustre_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_lustre_wrapper_compiler_static_ldflags" >&6; } fs_lustre_STATIC_LDFLAGS="${oac_cv_check_package_lustre_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lustre wrapper compiler libs" >&5 printf %s "checking for lustre wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_lustre_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_lustre_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_lustre_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_lustre_wrapper_compiler_libs}" then : oac_cv_check_package_lustre_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_lustre_wrapper_compiler_libs="${oac_cv_check_package_lustre_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving lustre libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_lustre_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_lustre_wrapper_compiler_libs" >&6; } fs_lustre_LIBS="$oac_cv_check_package_lustre_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lustre wrapper compiler static libs" >&5 printf %s "checking for lustre wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_lustre_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_lustre_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_lustre_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_lustre_wrapper_compiler_static_libs}" then : oac_cv_check_package_lustre_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_lustre_wrapper_compiler_static_libs="${oac_cv_check_package_lustre_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving lustre static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_lustre_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_lustre_wrapper_compiler_static_libs" >&6; } fs_lustre_STATIC_LIBS="${oac_cv_check_package_lustre_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "lustre/lustreapi.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "lustreapi" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lustre header at ${check_package_generic_incdir}" >&5 printf %s "checking for lustre header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 fs_lustre_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lustre library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for lustre library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 fs_lustre_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lustre library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for lustre library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-lustre-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 fs_lustre_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 fs_lustre_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 fs_lustre_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for lustre in default search paths" >&5 printf "%s\n" "$as_me: Searching for lustre in default search paths" >&6;} lustre_CPPFLAGS= lustre_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in lustreapi ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${fs_lustre_LIBS}" then : fs_lustre_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) fs_lustre_LIBS="${fs_lustre_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${fs_lustre_STATIC_LIBS}" then : fs_lustre_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) fs_lustre_STATIC_LIBS="${fs_lustre_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lustre cppflags" >&5 printf %s "checking for lustre cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fs_lustre_CPPFLAGS" >&5 printf "%s\n" "$fs_lustre_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lustre ldflags" >&5 printf %s "checking for lustre ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fs_lustre_LDFLAGS" >&5 printf "%s\n" "$fs_lustre_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lustre libs" >&5 printf %s "checking for lustre libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fs_lustre_LIBS" >&5 printf "%s\n" "$fs_lustre_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lustre static libs" >&5 printf %s "checking for lustre static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fs_lustre_STATIC_LIBS" >&5 printf "%s\n" "$fs_lustre_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${fs_lustre_LDFLAGS}" then : fs_lustre_LDFLAGS="${fs_lustre_STATIC_LDFLAGS}" else case e in @%:@( e) fs_lustre_LDFLAGS="${fs_lustre_LDFLAGS} ${fs_lustre_STATIC_LDFLAGS}" ;; esac fi if test -z "${fs_lustre_LIBS}" then : fs_lustre_LIBS="${fs_lustre_STATIC_LIBS}" else case e in @%:@( e) fs_lustre_LIBS="${fs_lustre_LIBS} ${fs_lustre_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "lustre/lustreapi.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${fs_lustre_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${fs_lustre_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${fs_lustre_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${fs_lustre_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${fs_lustre_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${fs_lustre_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "llapi_file_create" "ac_cv_func_llapi_file_create" if test "x$ac_cv_func_llapi_file_create" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if lustre requires libnl v1 or v3" >&5 printf %s "checking if lustre requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_lustre+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void llapi_file_create (void); int main(int argc, char *argv[]) { llapi_file_create (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib lustre" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib lustre" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_lustre=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_lustre" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_lustre" >&6; } result_msg=$opal_libnl_sanity_check_cv_lustre this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, lustre links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, lustre links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in liblustre (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in liblustre (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using liblustre." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using liblustre." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas lustre requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas lustre requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in liblustre (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in liblustre (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using liblustre." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using liblustre." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs lustre" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas lustre requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas lustre requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in liblustre (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in liblustre (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using liblustre." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using liblustre." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs lustre" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi fs_lustre_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : fs_lustre_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) fs_lustre_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi ompi_check_lustre_happy="yes" else case e in @%:@( e) if test "${with_lustre}" = "no" then : fs_lustre_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) fs_lustre_SUMMARY="no (not found)" ;; esac fi { fs_lustre_CPPFLAGS=; unset fs_lustre_CPPFLAGS;} { fs_lustre_LDFLAGS=; unset fs_lustre_LDFLAGS;} { fs_lustre_STATIC_LDFLAGS=; unset fs_lustre_STATIC_LDFLAGS;} { fs_lustre_LIBS=; unset fs_lustre_LIBS;} { fs_lustre_STATIC_LIBS=; unset fs_lustre_STATIC_LIBS;} ompi_check_lustre_happy="no" ;; esac fi CPPFLAGS="${check_package_fs_lustre_save_CPPFLAGS}" LDFLAGS="${check_package_fs_lustre_save_LDFLAGS}" LIBS="${check_package_fs_lustre_save_LIBS}" oac_var_scope_pop check_package_fs_lustre_save_CPPFLAGS check_package_fs_lustre_save_LDFLAGS check_package_fs_lustre_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR lustre ****************************** if test "$ompi_check_lustre_happy" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for required lustre data structures" >&5 printf %s "checking for required lustre data structures... " >&6; } if test ${ompi_check_lustre_cv_ost_data_v1+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) ompi_check_lustre_cv_ost_data_v1=yes cat > conftest.c <&5 $CC $CFLAGS ${fs_lustre_CPPFLAGS} -c conftest.c 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : else case e in @%:@( e) ompi_check_lustre_cv_ost_data_v1=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} rm -f conftest.c conftest.o ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_check_lustre_cv_ost_data_v1" >&5 printf "%s\n" "$ompi_check_lustre_cv_ost_data_v1" >&6; } if test "${ompi_check_lustre_cv_ost_data_v1}" = "no" then : ompi_check_lustre_happy=no fs_lustre_SUMMARY="no" fi fi 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="Lustre: ${fs_lustre_SUMMARY}" oac_summary_key="OMPIO_File_SystemsLustre" # Use the section name variable as an indicator for whether or not # the section has already been created. if test ${oac_summary_section_OMPIO_File_Systems_name+y} then : else case e in @%:@( e) oac_summary_section_OMPIO_File_Systems_name="OMPIO File Systems" if test -z "${oac_summary_sections}" then : oac_summary_sections="OMPIO_File_Systems" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} OMPIO_File_Systems" ;; esac fi ;; esac 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 case e in @%:@( e) eval "${oac_summary_key}=1" if test ${oac_summary_section_OMPIO_File_Systems_value+y} then : as_fn_append oac_summary_section_OMPIO_File_Systems_value "${oac_summary_newline}${oac_summary_line}" else case e in @%:@( e) oac_summary_section_OMPIO_File_Systems_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key if test "$ompi_check_lustre_happy" = "yes" then : fs_lustre_happy="yes" else case e in @%:@( e) if test -n "$with_lustre" && test "$with_lustre" != "no" then : as_fn_error $? "Lustre support requested but not found. Aborting" "$LINENO" 5 fi fs_lustre_happy="no" ;; esac fi opal_var_scope_pop ompi_check_lustre_happy if test "$fs_lustre_happy" = "yes" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi # substitute in the things needed to build lustre opal_var_scope_pop fs_lustre_happy opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/fs/lustre/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components lustre" if test "$compile_mode" = "dso" ; then dso_components="$dso_components lustre" else if test "fs" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/fs/lustre/lib${OMPI_LIB_NAME}mca_fs_lustre.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/fs/lustre/libmca_fs_lustre.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_fs_lustre_component;" >> $outfile.extern echo " &mca_fs_lustre_component, " >> $outfile.struct static_components="$static_components lustre" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component fs:lustre can compile" >&5 printf %s "checking if MCA component fs:lustre can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_fs" = "lustre" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_fs_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** fs component lustre was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_fs" = "lustre" ; then as_fn_error $? "*** fs component lustre was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${fs_lustre_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${fs_lustre_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${fs_lustre_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${fs_lustre_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${fs_lustre_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${fs_lustre_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$fs_lustre_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $fs_lustre_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring fs_lustre_WRAPPER_EXTRA_CPPFLAGS ($fs_lustre_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring fs_lustre_WRAPPER_EXTRA_CPPFLAGS ($fs_lustre_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component fs:lustre can compile" >&5 printf %s "checking if MCA component fs:lustre can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_fs" = "lustre" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"lustre\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"lustre\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_fs" ; then if test "$DIRECT_fs" = "lustre" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"lustre\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"lustre\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components lustre" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_ompi_fs_lustre_DSO=1 else case e in @%:@( e) BUILD_ompi_fs_lustre_DSO=0 ;; esac fi if test "$BUILD_ompi_fs_lustre_DSO" = "1"; then MCA_BUILD_ompi_fs_lustre_DSO_TRUE= MCA_BUILD_ompi_fs_lustre_DSO_FALSE='#' else MCA_BUILD_ompi_fs_lustre_DSO_TRUE='#' MCA_BUILD_ompi_fs_lustre_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component fs:pvfs2 (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/ompi/mca/fs/pvfs2" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_fs" ; then if test "$DIRECT_fs" = "pvfs2" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_fs" = "1" then : want_component=0 fi if test "${DISABLE_fs_pvfs2}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${ompi_fs_pvfs2_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_fs" SHARED_COMPONENT="$DSO_fs_pvfs2" STATIC_FRAMEWORK="$STATIC_fs" STATIC_COMPONENT="$STATIC_fs_pvfs2" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_fs_pvfs2_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component fs:pvfs2 compile mode" >&5 printf %s "checking for MCA component fs:pvfs2 compile mode... " >&6; } if test "$DIRECT_fs" = "pvfs2" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_fs_pvfs2_compile_mode # try to configure the component ac_config_files="$ac_config_files ompi/mca/fs/pvfs2/Makefile" opal_var_scope_push ${LINENO} ompi_check_pvfs2_happy # Get some configuration information @%:@ Check whether --with-pvfs2 was given. if test ${with_pvfs2+y} then : withval=$with_pvfs2; fi # ****************************** START CHECK PACKAGE FOR pvfs2 ****************************** oac_var_scope_push ${LINENO} check_package_fs_pvfs2_save_CPPFLAGS check_package_fs_pvfs2_save_LDFLAGS check_package_fs_pvfs2_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_fs_pvfs2_save_CPPFLAGS="${CPPFLAGS}" check_package_fs_pvfs2_save_LDFLAGS="${LDFLAGS}" check_package_fs_pvfs2_save_LIBS="${LIBS}" fs_pvfs2_CPPFLAGS= fs_pvfs2_LDFLAGS= fs_pvfs2_STATIC_LDFLAGS= fs_pvfs2_LIBS= fs_pvfs2_STATIC_LIBS= { fs_pvfs2_PC_MODULES=; unset fs_pvfs2_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_pvfs2" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package pvfs2 disabled by user" >&5 printf "%s\n" "$as_me: Package pvfs2 disabled by user" >&6;} check_package_happy=0 elif test "${with_pvfs2}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_pvfs2}" ;; esac fi check_package_libdir= if test "${with_pvfs2_libdir}" = "no" -o "${with_pvfs2_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-pvfs2-libdir" "$LINENO" 5 elif test -n "${with_pvfs2_libdir}" then : check_package_libdir="${with_pvfs2_libdir}" fi check_package_incdir= if test "${with_pvfs2_incdir}" = "no" -o "${with_pvfs2_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-pvfs2-incdir" "$LINENO" 5 elif test -n "${with_pvfs2_incdir}" then : check_package_incdir="${with_pvfs2_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${pvfs2_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-pvfs2 or --with-pvfs2-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-pvfs2 only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pvfs2 pkg-config name" >&5 printf %s "checking for pvfs2 pkg-config name... " >&6; } if test ${oac_cv_check_package_pvfs2_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_pvfs2_pcfilename="pvfs2" if test -n "${check_package_libdir}" then : oac_cv_check_package_pvfs2_pcfilename="${check_package_libdir}/pkgconfig/pvfs2.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_pvfs2_pcfilename="pvfs2" elif test -r "${check_package_prefix}/lib/pkgconfig/pvfs2.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/pvfs2.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found pvfs2 in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-pvfs2-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_pvfs2_pcfilename="${check_package_prefix}/lib/pkgconfig/pvfs2.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/pvfs2.pc" then : oac_cv_check_package_pvfs2_pcfilename="${check_package_prefix}/lib64/pkgconfig/pvfs2.pc" else case e in @%:@( e) oac_cv_check_package_pvfs2_pcfilename="${check_package_prefix}/lib/pkgconfig/pvfs2.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pvfs2_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_pvfs2_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if pvfs2 pkg-config module exists" >&5 printf %s "checking if pvfs2 pkg-config module exists... " >&6; } if test ${oac_cv_check_package_pvfs2_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_pvfs2_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_pvfs2_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : fs_pvfs2_PC_MODULES=${oac_cv_check_package_pvfs2_pcfilename} oac_cv_check_package_pvfs2_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_pvfs2_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pvfs2_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_pvfs2_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_pvfs2_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pvfs2 pkg-config cflags" >&5 printf %s "checking for pvfs2 pkg-config cflags... " >&6; } if test ${oac_cv_check_package_pvfs2_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_pvfs2_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_pvfs2_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_pvfs2_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving pvfs2 cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pvfs2_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_pvfs2_pkg_config_cppflags" >&6; } fs_pvfs2_CPPFLAGS="${oac_cv_check_package_pvfs2_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pvfs2 pkg-config ldflags" >&5 printf %s "checking for pvfs2 pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_pvfs2_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_pvfs2_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_pvfs2_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_pvfs2_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving pvfs2 ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pvfs2_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_pvfs2_pkg_config_ldflags" >&6; } fs_pvfs2_LDFLAGS="${oac_cv_check_package_pvfs2_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pvfs2 pkg-config static ldflags" >&5 printf %s "checking for pvfs2 pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_pvfs2_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_pvfs2_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_pvfs2_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_pvfs2_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving pvfs2 static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pvfs2_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_pvfs2_pkg_config_static_ldflags" >&6; } fs_pvfs2_STATIC_LDFLAGS="${oac_cv_check_package_pvfs2_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pvfs2 pkg-config libs" >&5 printf %s "checking for pvfs2 pkg-config libs... " >&6; } if test ${oac_cv_check_package_pvfs2_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_pvfs2_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_pvfs2_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_pvfs2_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving pvfs2 libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pvfs2_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_pvfs2_pkg_config_libs" >&6; } fs_pvfs2_LIBS="${oac_cv_check_package_pvfs2_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pvfs2 pkg-config static libs" >&5 printf %s "checking for pvfs2 pkg-config static libs... " >&6; } if test ${oac_cv_check_package_pvfs2_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_pvfs2_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_pvfs2_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_pvfs2_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving pvfs2 libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pvfs2_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_pvfs2_pkg_config_static_libs" >&6; } fs_pvfs2_STATIC_LIBS="${oac_cv_check_package_pvfs2_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${pvfs2_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-pvfs2 argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pvfs2 wrapper compiler" >&5 printf %s "checking for pvfs2 wrapper compiler... " >&6; } if test ${oac_cv_check_package_pvfs2_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_pvfs2_wrapper_compiler="pvfs2cc" else case e in @%:@( e) oac_cv_check_package_pvfs2_wrapper_compiler="${check_package_prefix}/bin/pvfs2cc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pvfs2_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_pvfs2_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if pvfs2 wrapper compiler works" >&5 printf %s "checking if pvfs2 wrapper compiler works... " >&6; } if test ${oac_cv_check_package_pvfs2_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_pvfs2_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_pvfs2_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_pvfs2_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_pvfs2_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pvfs2_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_pvfs2_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_pvfs2_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pvfs2 wrapper compiler cppflags" >&5 printf %s "checking for pvfs2 wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_pvfs2_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_pvfs2_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_pvfs2_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_pvfs2_wrapper_compiler_cppflags}" then : oac_cv_check_package_pvfs2_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_pvfs2_wrapper_compiler_cppflags="${oac_cv_check_package_pvfs2_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving pvfs2 cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pvfs2_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_pvfs2_wrapper_compiler_cppflags" >&6; } fs_pvfs2_CPPFLAGS="${oac_cv_check_package_pvfs2_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pvfs2 wrapper compiler ldflags" >&5 printf %s "checking for pvfs2 wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_pvfs2_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_pvfs2_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_pvfs2_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_pvfs2_wrapper_compiler_ldflags}" then : oac_cv_check_package_pvfs2_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_pvfs2_wrapper_compiler_ldflags="${oac_cv_check_package_pvfs2_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving pvfs2 ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pvfs2_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_pvfs2_wrapper_compiler_ldflags" >&6; } fs_pvfs2_LDFLAGS="${oac_cv_check_package_pvfs2_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pvfs2 wrapper compiler static ldflags" >&5 printf %s "checking for pvfs2 wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_pvfs2_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_pvfs2_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_pvfs2_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_pvfs2_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_pvfs2_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_pvfs2_wrapper_compiler_static_ldflags="${oac_cv_check_package_pvfs2_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving pvfs2 static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pvfs2_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_pvfs2_wrapper_compiler_static_ldflags" >&6; } fs_pvfs2_STATIC_LDFLAGS="${oac_cv_check_package_pvfs2_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pvfs2 wrapper compiler libs" >&5 printf %s "checking for pvfs2 wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_pvfs2_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_pvfs2_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_pvfs2_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_pvfs2_wrapper_compiler_libs}" then : oac_cv_check_package_pvfs2_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_pvfs2_wrapper_compiler_libs="${oac_cv_check_package_pvfs2_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving pvfs2 libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pvfs2_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_pvfs2_wrapper_compiler_libs" >&6; } fs_pvfs2_LIBS="$oac_cv_check_package_pvfs2_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pvfs2 wrapper compiler static libs" >&5 printf %s "checking for pvfs2 wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_pvfs2_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_pvfs2_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_pvfs2_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_pvfs2_wrapper_compiler_static_libs}" then : oac_cv_check_package_pvfs2_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_pvfs2_wrapper_compiler_static_libs="${oac_cv_check_package_pvfs2_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving pvfs2 static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_pvfs2_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_pvfs2_wrapper_compiler_static_libs" >&6; } fs_pvfs2_STATIC_LIBS="${oac_cv_check_package_pvfs2_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "pvfs2.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "pvfs2" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pvfs2 header at ${check_package_generic_incdir}" >&5 printf %s "checking for pvfs2 header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 fs_pvfs2_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pvfs2 library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for pvfs2 library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 fs_pvfs2_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pvfs2 library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for pvfs2 library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-pvfs2-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 fs_pvfs2_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 fs_pvfs2_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 fs_pvfs2_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for pvfs2 in default search paths" >&5 printf "%s\n" "$as_me: Searching for pvfs2 in default search paths" >&6;} pvfs2_CPPFLAGS= pvfs2_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in pvfs2 ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${fs_pvfs2_LIBS}" then : fs_pvfs2_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) fs_pvfs2_LIBS="${fs_pvfs2_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${fs_pvfs2_STATIC_LIBS}" then : fs_pvfs2_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) fs_pvfs2_STATIC_LIBS="${fs_pvfs2_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pvfs2 cppflags" >&5 printf %s "checking for pvfs2 cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fs_pvfs2_CPPFLAGS" >&5 printf "%s\n" "$fs_pvfs2_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pvfs2 ldflags" >&5 printf %s "checking for pvfs2 ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fs_pvfs2_LDFLAGS" >&5 printf "%s\n" "$fs_pvfs2_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pvfs2 libs" >&5 printf %s "checking for pvfs2 libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fs_pvfs2_LIBS" >&5 printf "%s\n" "$fs_pvfs2_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pvfs2 static libs" >&5 printf %s "checking for pvfs2 static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fs_pvfs2_STATIC_LIBS" >&5 printf "%s\n" "$fs_pvfs2_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${fs_pvfs2_LDFLAGS}" then : fs_pvfs2_LDFLAGS="${fs_pvfs2_STATIC_LDFLAGS}" else case e in @%:@( e) fs_pvfs2_LDFLAGS="${fs_pvfs2_LDFLAGS} ${fs_pvfs2_STATIC_LDFLAGS}" ;; esac fi if test -z "${fs_pvfs2_LIBS}" then : fs_pvfs2_LIBS="${fs_pvfs2_STATIC_LIBS}" else case e in @%:@( e) fs_pvfs2_LIBS="${fs_pvfs2_LIBS} ${fs_pvfs2_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "pvfs2.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${fs_pvfs2_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${fs_pvfs2_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${fs_pvfs2_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${fs_pvfs2_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${fs_pvfs2_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${fs_pvfs2_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "PVFS_util_resolve" "ac_cv_func_PVFS_util_resolve" if test "x$ac_cv_func_PVFS_util_resolve" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if pvfs2 requires libnl v1 or v3" >&5 printf %s "checking if pvfs2 requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_pvfs2+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void PVFS_util_resolve (void); int main(int argc, char *argv[]) { PVFS_util_resolve (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib pvfs2" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib pvfs2" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_pvfs2=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_pvfs2" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_pvfs2" >&6; } result_msg=$opal_libnl_sanity_check_cv_pvfs2 this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, pvfs2 links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, pvfs2 links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libpvfs2 (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libpvfs2 (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libpvfs2." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libpvfs2." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas pvfs2 requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas pvfs2 requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libpvfs2 (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libpvfs2 (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libpvfs2." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libpvfs2." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs pvfs2" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas pvfs2 requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas pvfs2 requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libpvfs2 (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libpvfs2 (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libpvfs2." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libpvfs2." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs pvfs2" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi fs_pvfs2_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : fs_pvfs2_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) fs_pvfs2_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi ompi_check_pvfs2_happy="yes" else case e in @%:@( e) if test "${with_pvfs2}" = "no" then : fs_pvfs2_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) fs_pvfs2_SUMMARY="no (not found)" ;; esac fi { fs_pvfs2_CPPFLAGS=; unset fs_pvfs2_CPPFLAGS;} { fs_pvfs2_LDFLAGS=; unset fs_pvfs2_LDFLAGS;} { fs_pvfs2_STATIC_LDFLAGS=; unset fs_pvfs2_STATIC_LDFLAGS;} { fs_pvfs2_LIBS=; unset fs_pvfs2_LIBS;} { fs_pvfs2_STATIC_LIBS=; unset fs_pvfs2_STATIC_LIBS;} ompi_check_pvfs2_happy="no" ;; esac fi CPPFLAGS="${check_package_fs_pvfs2_save_CPPFLAGS}" LDFLAGS="${check_package_fs_pvfs2_save_LDFLAGS}" LIBS="${check_package_fs_pvfs2_save_LIBS}" oac_var_scope_pop check_package_fs_pvfs2_save_CPPFLAGS check_package_fs_pvfs2_save_LDFLAGS check_package_fs_pvfs2_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR pvfs2 ****************************** if test "$ompi_check_pvfs2_happy" = "yes" then : fs_pvfs2_happy="yes" else case e in @%:@( e) if test ! -z "$with_pvfs2" && test "$with_pvfs2" != "no" then : as_fn_error $? "PVFS2 support requested but not found. Aborting" "$LINENO" 5 fi fs_pvfs2_happy="no" ;; esac fi opal_var_scope_pop ompi_check_pvfs2_happy 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="PVFS2/OrangeFS: $fs_pvfs2_happy" oac_summary_key="OMPIO_File_SystemsPVFS2_OrangeFS" # Use the section name variable as an indicator for whether or not # the section has already been created. if test ${oac_summary_section_OMPIO_File_Systems_name+y} then : else case e in @%:@( e) oac_summary_section_OMPIO_File_Systems_name="OMPIO File Systems" if test -z "${oac_summary_sections}" then : oac_summary_sections="OMPIO_File_Systems" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} OMPIO_File_Systems" ;; esac fi ;; esac 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 case e in @%:@( e) eval "${oac_summary_key}=1" if test ${oac_summary_section_OMPIO_File_Systems_value+y} then : as_fn_append oac_summary_section_OMPIO_File_Systems_value "${oac_summary_newline}${oac_summary_line}" else case e in @%:@( e) oac_summary_section_OMPIO_File_Systems_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key if test "$fs_pvfs2_happy" = "yes" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi # AC_CHECK_HEADERS([pvfs2.h], [], # [AC_CHECK_HEADERS([pvfs2.h], [], [should_build=0], # [AC_INCLUDES_DEFAULT])], # [AC_INCLUDES_DEFAULT]) # substitute in the things needed to build pvfs2 opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/fs/pvfs2/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components pvfs2" if test "$compile_mode" = "dso" ; then dso_components="$dso_components pvfs2" else if test "fs" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/fs/pvfs2/lib${OMPI_LIB_NAME}mca_fs_pvfs2.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/fs/pvfs2/libmca_fs_pvfs2.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_fs_pvfs2_component;" >> $outfile.extern echo " &mca_fs_pvfs2_component, " >> $outfile.struct static_components="$static_components pvfs2" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component fs:pvfs2 can compile" >&5 printf %s "checking if MCA component fs:pvfs2 can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_fs" = "pvfs2" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_fs_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** fs component pvfs2 was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_fs" = "pvfs2" ; then as_fn_error $? "*** fs component pvfs2 was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${fs_pvfs2_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${fs_pvfs2_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${fs_pvfs2_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${fs_pvfs2_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${fs_pvfs2_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${fs_pvfs2_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$fs_pvfs2_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $fs_pvfs2_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring fs_pvfs2_WRAPPER_EXTRA_CPPFLAGS ($fs_pvfs2_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring fs_pvfs2_WRAPPER_EXTRA_CPPFLAGS ($fs_pvfs2_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component fs:pvfs2 can compile" >&5 printf %s "checking if MCA component fs:pvfs2 can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_fs" = "pvfs2" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"pvfs2\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"pvfs2\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_fs" ; then if test "$DIRECT_fs" = "pvfs2" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"pvfs2\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"pvfs2\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components pvfs2" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_ompi_fs_pvfs2_DSO=1 else case e in @%:@( e) BUILD_ompi_fs_pvfs2_DSO=0 ;; esac fi if test "$BUILD_ompi_fs_pvfs2_DSO" = "1"; then MCA_BUILD_ompi_fs_pvfs2_DSO_TRUE= MCA_BUILD_ompi_fs_pvfs2_DSO_FALSE='#' else MCA_BUILD_ompi_fs_pvfs2_DSO_TRUE='#' MCA_BUILD_ompi_fs_pvfs2_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component fs:ufs (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/ompi/mca/fs/ufs" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_fs" ; then if test "$DIRECT_fs" = "ufs" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_fs" = "1" then : want_component=0 fi if test "${DISABLE_fs_ufs}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${ompi_fs_ufs_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_fs" SHARED_COMPONENT="$DSO_fs_ufs" STATIC_FRAMEWORK="$STATIC_fs" STATIC_COMPONENT="$STATIC_fs_ufs" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_fs_ufs_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component fs:ufs compile mode" >&5 printf %s "checking for MCA component fs:ufs compile mode... " >&6; } if test "$DIRECT_fs" = "ufs" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_fs_ufs_compile_mode # try to configure the component ac_config_files="$ac_config_files ompi/mca/fs/ufs/Makefile" 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="Generic Unix FS: yes" oac_summary_key="OMPIO_File_SystemsGeneric_Unix_FS" # Use the section name variable as an indicator for whether or not # the section has already been created. if test ${oac_summary_section_OMPIO_File_Systems_name+y} then : else case e in @%:@( e) oac_summary_section_OMPIO_File_Systems_name="OMPIO File Systems" if test -z "${oac_summary_sections}" then : oac_summary_sections="OMPIO_File_Systems" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} OMPIO_File_Systems" ;; esac fi ;; esac 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 case e in @%:@( e) eval "${oac_summary_key}=1" if test ${oac_summary_section_OMPIO_File_Systems_value+y} then : as_fn_append oac_summary_section_OMPIO_File_Systems_value "${oac_summary_newline}${oac_summary_line}" else case e in @%:@( e) oac_summary_section_OMPIO_File_Systems_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/fs/ufs/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components ufs" if test "$compile_mode" = "dso" ; then dso_components="$dso_components ufs" else if test "fs" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/fs/ufs/lib${OMPI_LIB_NAME}mca_fs_ufs.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/fs/ufs/libmca_fs_ufs.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_fs_ufs_component;" >> $outfile.extern echo " &mca_fs_ufs_component, " >> $outfile.struct static_components="$static_components ufs" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component fs:ufs can compile" >&5 printf %s "checking if MCA component fs:ufs can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_fs" = "ufs" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_fs_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** fs component ufs was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_fs" = "ufs" ; then as_fn_error $? "*** fs component ufs was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${fs_ufs_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${fs_ufs_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${fs_ufs_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${fs_ufs_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${fs_ufs_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${fs_ufs_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$fs_ufs_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $fs_ufs_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring fs_ufs_WRAPPER_EXTRA_CPPFLAGS ($fs_ufs_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring fs_ufs_WRAPPER_EXTRA_CPPFLAGS ($fs_ufs_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component fs:ufs can compile" >&5 printf %s "checking if MCA component fs:ufs can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_fs" = "ufs" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ufs\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ufs\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_fs" ; then if test "$DIRECT_fs" = "ufs" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ufs\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ufs\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components ufs" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_ompi_fs_ufs_DSO=1 else case e in @%:@( e) BUILD_ompi_fs_ufs_DSO=0 ;; esac fi if test "$BUILD_ompi_fs_ufs_DSO" = "1"; then MCA_BUILD_ompi_fs_ufs_DSO_TRUE= MCA_BUILD_ompi_fs_ufs_DSO_FALSE='#' else MCA_BUILD_ompi_fs_ufs_DSO_TRUE='#' MCA_BUILD_ompi_fs_ufs_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test ${DIRECT_fs+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for fs framework" >&5 printf %s "checking if direct-selection component exists for fs framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_fs" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_fs requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_fs" >&5 printf "%s\n" "$DIRECT_fs" >&6; } fi MCA_ompi_fs_ALL_COMPONENTS="$all_components" MCA_ompi_fs_STATIC_COMPONENTS="$static_components" MCA_ompi_fs_DSO_COMPONENTS="$dso_components" MCA_ompi_fs_STATIC_LTLIBS="$static_ltlibs" MCA_ompi_fs_ALL_SUBDIRS= for item in $all_components ; do MCA_ompi_fs_ALL_SUBDIRS="$MCA_ompi_fs_ALL_SUBDIRS mca/fs/$item" done MCA_ompi_fs_STATIC_SUBDIRS= for item in $static_components ; do MCA_ompi_fs_STATIC_SUBDIRS="$MCA_ompi_fs_STATIC_SUBDIRS mca/fs/$item" done MCA_ompi_fs_DSO_SUBDIRS= for item in $dso_components ; do MCA_ompi_fs_DSO_SUBDIRS="$MCA_ompi_fs_DSO_SUBDIRS mca/fs/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "fs" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real opal_var_scope_pop want_io_ompio MCA_ompi_FRAMEWORKS="$MCA_ompi_FRAMEWORKS hook" MCA_ompi_FRAMEWORKS_SUBDIRS="$MCA_ompi_FRAMEWORKS_SUBDIRS mca/hook" MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_ompi_hook_ALL_SUBDIRS)" MCA_ompi_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_ompi_hook_DSO_SUBDIRS)" MCA_ompi_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_ompi_hook_STATIC_SUBDIRS)" mca_ompi_framework_base_lib="mca/hook/libmca_hook.la" MCA_ompi_FRAMEWORK_LIBS="$MCA_ompi_FRAMEWORK_LIBS ${mca_ompi_framework_base_lib} \$(MCA_ompi_hook_STATIC_LTLIBS)" # configure all the components opal_show_subsubtitle "Configuring MCA framework hook" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=ompi/mca/hook/base as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files ompi/mca/hook/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework hook" >&5 printf %s "checking for no configure components in framework hook... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework hook" >&5 printf %s "checking for m4 configure components in framework hook... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: comm_method" >&5 printf "%s\n" "comm_method" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=1 components_last_result=0 opal_show_subsubsubtitle "MCA component hook:comm_method (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/ompi/mca/hook/comm_method" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_hook" ; then if test "$DIRECT_hook" = "comm_method" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_hook" = "1" then : want_component=0 fi if test "${DISABLE_hook_comm_method}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${ompi_hook_comm_method_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} component_compile_mode_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component hook:comm_method compile mode" >&5 printf %s "checking for MCA component hook:comm_method compile mode... " >&6; } component_compile_mode_tmp="static" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $component_compile_mode_tmp" >&5 printf "%s\n" "$component_compile_mode_tmp" >&6; } eval ompi_hook_comm_method_compile_mode=\$$component_compile_mode_tmp opal_var_scope_pop component_compile_mode_tmp ;; esac fi compile_mode=$ompi_hook_comm_method_compile_mode # try to configure the component ac_config_files="$ac_config_files ompi/mca/hook/comm_method/Makefile" should_build=$should_build opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/hook/comm_method/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components comm_method" if test "$compile_mode" = "dso" ; then dso_components="$dso_components comm_method" else if test "hook" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/hook/comm_method/lib${OMPI_LIB_NAME}mca_hook_comm_method.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/hook/comm_method/libmca_hook_comm_method.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_hook_comm_method_component;" >> $outfile.extern echo " &mca_hook_comm_method_component, " >> $outfile.struct static_components="$static_components comm_method" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component hook:comm_method can compile" >&5 printf %s "checking if MCA component hook:comm_method can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_hook" = "comm_method" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_hook_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** hook component comm_method was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_hook" = "comm_method" ; then as_fn_error $? "*** hook component comm_method was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${hook_comm_method_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${hook_comm_method_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${hook_comm_method_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${hook_comm_method_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${hook_comm_method_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${hook_comm_method_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$hook_comm_method_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $hook_comm_method_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring hook_comm_method_WRAPPER_EXTRA_CPPFLAGS ($hook_comm_method_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring hook_comm_method_WRAPPER_EXTRA_CPPFLAGS ($hook_comm_method_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component hook:comm_method can compile" >&5 printf %s "checking if MCA component hook:comm_method can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_hook" = "comm_method" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"comm_method\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"comm_method\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_hook" ; then if test "$DIRECT_hook" = "comm_method" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"comm_method\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"comm_method\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components comm_method" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_ompi_hook_comm_method_DSO=1 else case e in @%:@( e) BUILD_ompi_hook_comm_method_DSO=0 ;; esac fi if test "$BUILD_ompi_hook_comm_method_DSO" = "1"; then MCA_BUILD_ompi_hook_comm_method_DSO_TRUE= MCA_BUILD_ompi_hook_comm_method_DSO_FALSE='#' else MCA_BUILD_ompi_hook_comm_method_DSO_TRUE='#' MCA_BUILD_ompi_hook_comm_method_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test ${DIRECT_hook+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for hook framework" >&5 printf %s "checking if direct-selection component exists for hook framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_hook" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_hook requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_hook" >&5 printf "%s\n" "$DIRECT_hook" >&6; } fi MCA_ompi_hook_ALL_COMPONENTS="$all_components" MCA_ompi_hook_STATIC_COMPONENTS="$static_components" MCA_ompi_hook_DSO_COMPONENTS="$dso_components" MCA_ompi_hook_STATIC_LTLIBS="$static_ltlibs" MCA_ompi_hook_ALL_SUBDIRS= for item in $all_components ; do MCA_ompi_hook_ALL_SUBDIRS="$MCA_ompi_hook_ALL_SUBDIRS mca/hook/$item" done MCA_ompi_hook_STATIC_SUBDIRS= for item in $static_components ; do MCA_ompi_hook_STATIC_SUBDIRS="$MCA_ompi_hook_STATIC_SUBDIRS mca/hook/$item" done MCA_ompi_hook_DSO_SUBDIRS= for item in $dso_components ; do MCA_ompi_hook_DSO_SUBDIRS="$MCA_ompi_hook_DSO_SUBDIRS mca/hook/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "hook" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real MCA_ompi_FRAMEWORKS="$MCA_ompi_FRAMEWORKS io" MCA_ompi_FRAMEWORKS_SUBDIRS="$MCA_ompi_FRAMEWORKS_SUBDIRS mca/io" MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_ompi_io_ALL_SUBDIRS)" MCA_ompi_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_ompi_io_DSO_SUBDIRS)" MCA_ompi_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_ompi_io_STATIC_SUBDIRS)" mca_ompi_framework_base_lib="mca/io/libmca_io.la" MCA_ompi_FRAMEWORK_LIBS="$MCA_ompi_FRAMEWORK_LIBS ${mca_ompi_framework_base_lib} \$(MCA_ompi_io_STATIC_LTLIBS)" opal_show_subsubtitle "Configuring MCA framework io" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=ompi/mca/io/base as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files ompi/mca/io/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework io" >&5 printf %s "checking for no configure components in framework io... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework io" >&5 printf %s "checking for m4 configure components in framework io... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ompio, romio341" >&5 printf "%s\n" "ompio, romio341" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=1 components_last_result=0 opal_show_subsubsubtitle "MCA component io:ompio (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/ompi/mca/io/ompio" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_io" ; then if test "$DIRECT_io" = "ompio" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_io" = "1" then : want_component=0 fi if test "${DISABLE_io_ompio}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${ompi_io_ompio_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_io" SHARED_COMPONENT="$DSO_io_ompio" STATIC_FRAMEWORK="$STATIC_io" STATIC_COMPONENT="$STATIC_io_ompio" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_io_ompio_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component io:ompio compile mode" >&5 printf %s "checking for MCA component io:ompio compile mode... " >&6; } if test "$DIRECT_io" = "ompio" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_io_ompio_compile_mode # try to configure the component ac_config_files="$ac_config_files ompi/mca/io/ompio/Makefile" if test "$enable_io_ompio" != "no" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/io/ompio/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components ompio" if test "$compile_mode" = "dso" ; then dso_components="$dso_components ompio" else if test "io" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/io/ompio/lib${OMPI_LIB_NAME}mca_io_ompio.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/io/ompio/libmca_io_ompio.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_io_ompio_component;" >> $outfile.extern echo " &mca_io_ompio_component, " >> $outfile.struct static_components="$static_components ompio" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component io:ompio can compile" >&5 printf %s "checking if MCA component io:ompio can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_io" = "ompio" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_io_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** io component ompio was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_io" = "ompio" ; then as_fn_error $? "*** io component ompio was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${io_ompio_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${io_ompio_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${io_ompio_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${io_ompio_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${io_ompio_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${io_ompio_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$io_ompio_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $io_ompio_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring io_ompio_WRAPPER_EXTRA_CPPFLAGS ($io_ompio_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring io_ompio_WRAPPER_EXTRA_CPPFLAGS ($io_ompio_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component io:ompio can compile" >&5 printf %s "checking if MCA component io:ompio can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_io" = "ompio" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ompio\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ompio\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_io" ; then if test "$DIRECT_io" = "ompio" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ompio\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ompio\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components ompio" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_ompi_io_ompio_DSO=1 else case e in @%:@( e) BUILD_ompi_io_ompio_DSO=0 ;; esac fi if test "$BUILD_ompi_io_ompio_DSO" = "1"; then MCA_BUILD_ompi_io_ompio_DSO_TRUE= MCA_BUILD_ompi_io_ompio_DSO_FALSE='#' else MCA_BUILD_ompi_io_ompio_DSO_TRUE='#' MCA_BUILD_ompi_io_ompio_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component io:romio341 (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/ompi/mca/io/romio341" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_io" ; then if test "$DIRECT_io" = "romio341" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_io" = "1" then : want_component=0 fi if test "${DISABLE_io_romio341}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${ompi_io_romio341_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_io" SHARED_COMPONENT="$DSO_io_romio341" STATIC_FRAMEWORK="$STATIC_io" STATIC_COMPONENT="$STATIC_io_romio341" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_io_romio341_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component io:romio341 compile mode" >&5 printf %s "checking for MCA component io:romio341 compile mode... " >&6; } if test "$DIRECT_io" = "romio341" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_io_romio341_compile_mode # try to configure the component ac_config_files="$ac_config_files ompi/mca/io/romio341/Makefile" opal_var_scope_push ${LINENO} io_romio341_flags io_romio341_flags_define io_romio341_happy io_romio341_save_LIBS @%:@ Check whether --enable-io-romio was given. if test ${enable_io_romio+y} then : enableval=$enable_io_romio; fi @%:@ Check whether --with-io-romio-flags was given. if test ${with_io_romio_flags+y} then : withval=$with_io_romio_flags; fi printf "%s\n" "@%:@define MCA_io_romio341_USER_CONFIGURE_FLAGS \"$with_io_romio_flags\"" >>confdefs.h { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want ROMIO component" >&5 printf %s "checking if want ROMIO component... " >&6; } if test "$enable_io_romio" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } should_build=0 else case e in @%:@( e) { 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 if MPI profiling is enabled" >&5 printf %s "checking if MPI profiling is enabled... " >&6; } if test "$enable_mpi_profile" = "no" 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: *** The ROMIO io component requires the MPI profiling layer" >&5 printf "%s\n" "$as_me: WARNING: *** The ROMIO io component requires the MPI profiling layer" >&2;} if test "$enable_io_romio" = "yes" then : as_fn_error $? "*** ROMIO requested but not available. Aborting" "$LINENO" 5 fi should_build=0 else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -n "$with_io_romio_flags" && test "$with_io_romio_flags" != "no" then : io_romio341_flags="$with_io_romio_flags $io_romio341_flags" else case e in @%:@( e) io_romio341_flags= ;; esac fi # If ROMIO is going to end up in a DSO, all we need is # shared library-ized objects, as we're only building a # DSO (which is always shared). Otherwise, build with # same flags as OMPI, as we might need any combination of # shared and static-ized objects... if test "$compile_mode" = "dso" then : io_romio341_shared=enable io_romio341_static=disable else case e in @%:@( e) if test "$enable_shared" = "yes" then : io_romio341_shared=enable else case e in @%:@( e) io_romio341_shared=disable ;; esac fi if test "$enable_static" = "yes" then : io_romio341_static=enable else case e in @%:@( e) io_romio341_static=disable ;; esac fi ;; esac fi if test -n "$prefix" && test "$prefix" != "NONE" then : io_romio341_prefix_arg="--prefix=$prefix" else case e in @%:@( e) io_romio341_prefix_arg= ;; esac fi if test "$cross_compiling" = "yes" then : if test ! -z $build then : io_romio341_flags="$io_romio341_flags --build=$build" fi if test ! -z $host then : io_romio341_flags="$io_romio341_flags --host=$host" fi if test ! -z $target then : io_romio341_flags="$io_romio341_flags --target=$target" fi fi if test "$enable_grequest_extensions" = "yes" then : io_romio341_flags="$io_romio341_flags --enable-grequest-extensions" fi io_romio341_flags_define="$io_romio341_flags FROM_OMPI=yes CC='$CC' CFLAGS='$CFLAGS -D__EXTENSIONS__' CPPFLAGS='$CPPFLAGS' FFLAGS='$FFLAGS' LDFLAGS='$LDFLAGS' --$io_romio341_shared-shared --$io_romio341_static-static $io_romio341_flags $io_romio341_prefix_arg --disable-aio --disable-weak-symbols --enable-strict --disable-f77 --disable-f90 ac_cv_lib_cuda_cuMemGetAddressRange=no" printf "%s\n" "@%:@define MCA_io_romio341_COMPLETE_CONFIGURE_FLAGS \"$io_romio341_flags_define\"" >>confdefs.h io_romio341_flags="$io_romio341_flags FROM_OMPI=yes CC="'"'"$CC"'"'" CFLAGS="'"'"$CFLAGS -D__EXTENSIONS__"'"'" CPPFLAGS="'"'"$CPPFLAGS"'"'" FFLAGS="'"'"$FFLAGS"'"'" LDFLAGS="'"'"$LDFLAGS"'"'" --$io_romio341_shared-shared --$io_romio341_static-static $io_romio341_flags $io_romio341_prefix_arg --disable-aio --disable-weak-symbols --enable-strict --disable-f77 --disable-f90 ac_cv_lib_cuda_cuMemGetAddressRange=no" opal_show_subtitle "Configuring ROMIO distribution" opal_var_scope_push ${LINENO} subdir_parent sub_configure subdir_dir subdir_srcdir subdir_cache_file subdir_args subdir_dots total_dir dir_part temp # # Invoke configure in a specific subdirectory. # # 3rd-party/romio341 is the directory to invoke in # $io_romio341_flags is the list of arguments to pass # io_romio341_happy=1 is actions to execute upon success # io_romio341_happy=0 is actions to execute upon failure # subdir_dir="3rd-party/romio341" subdir_args="$io_romio341_flags" subdir_success="io_romio341_happy=1" subdir_failure="io_romio341_happy=0" # # Sanity checks # if test "$subdir_dir" != ":" && test -d $srcdir/$subdir_dir; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: OPAL configuring in $subdir_dir" >&5 printf "%s\n" "$as_me: OPAL configuring in $subdir_dir" >&6;} # # Gotta check where srcdir is for VPATH builds. If srcdir is not # ., then we need to mkdir the subdir. Otherwise, we can just cd # into it. # case $srcdir in .) ;; *) { case $subdir_dir in [\\/]* | ?:[\\/]* ) total_dir=;; *) total_dir=.;; esac temp=$subdir_dir for dir_part in `IFS='/\\'; set X $temp; shift; echo "$@"`; do case $dir_part in # Skip DOS drivespec ?:) total_dir=$dir_part ;; *) total_dir=$total_dir/$dir_part test -d "$total_dir" || mkdir "$total_dir" || as_fn_error $? "cannot create $subdir_dir" "$LINENO" 5 ;; esac done; } if test -d ./$subdir_dir; then :; else as_fn_error $? "cannot create \`pwd\`/$subdir_dir" "$LINENO" 5 fi ;; esac # # Move into the target directory # subdir_parent=`pwd` cd $subdir_dir # # Make a "../" for each directory in $subdir_dir. # subdir_dots=`echo $subdir_dir | sed 's,^\./,,;s,[^/]$,&/,;s,[^/]*/,../,g'` # # Construct the --srcdir argument # case $srcdir in .) # In place subdir_srcdir="$srcdir" ;; [\\/]* | ?:[\\/]* ) # Absolute path subdir_srcdir="$srcdir/$subdir_dir" ;; *) # Relative path subdir_srcdir="$subdir_dots$srcdir/$subdir_dir" ;; esac # # Construct the --cache-file argument # # BWB - subdir caching is a pain since we change CFLAGS and all that. # Just disable it for now subdir_cache_file="/dev/null" # # Invoke the configure script in the subdirectory # sub_configure="$SHELL '$subdir_srcdir/configure'" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: running $sub_configure $subdir_args --cache-file=$subdir_cache_file --srcdir=$subdir_srcdir --disable-option-checking" >&5 printf "%s\n" "$as_me: running $sub_configure $subdir_args --cache-file=$subdir_cache_file --srcdir=$subdir_srcdir --disable-option-checking" >&6;} eval "$sub_configure $subdir_args \ --cache-file=\"\$subdir_cache_file\" --srcdir=\"$subdir_srcdir\" --disable-option-checking" if test "$?" = "0"; then eval $subdir_success { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $sub_configure succeeded for $subdir_dir" >&5 printf "%s\n" "$as_me: $sub_configure succeeded for $subdir_dir" >&6;} else eval $subdir_failure { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $sub_configure *failed* for $subdir_dir" >&5 printf "%s\n" "$as_me: $sub_configure *failed* for $subdir_dir" >&6;} fi # # Go back to the topdir # cd $subdir_parent fi # # Clean up # opal_var_scope_pop subdir_parent sub_configure subdir_dir subdir_srcdir subdir_cache_file subdir_args subdir_dots total_dir dir_part temp if test "$io_romio341_happy" = "1" then : # grab the libraries list from ROMIO. We don't # need this for building the component, as libtool # will figure that part out. But we do need it for # the wrapper settings io_romio341_save_LIBS="$LIBS" LIBS= . 3rd-party/romio341/localdefs io_romio341_LIBS="$LIBS" LIBS="$io_romio341_save_LIBS" OPAL_3RDPARTY_DIST_SUBDIRS="$OPAL_3RDPARTY_DIST_SUBDIRS romio341" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: ROMIO distribution configured successfully" >&5 printf "%s\n" "$as_me: ROMIO distribution configured successfully" >&6;} else case e in @%:@( e) if test "$enable_io_romio" = "yes" then : as_fn_error $? "ROMIO distribution did not configure successfully" "$LINENO" 5 else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ROMIO distribution did not configure successfully" >&5 printf "%s\n" "$as_me: WARNING: ROMIO distribution did not configure successfully" >&2;} ;; esac fi ;; esac fi if test "$io_romio341_happy" = "1" then : for ac_header in stdatomic.h do : ac_fn_c_check_header_compile "$LINENO" "stdatomic.h" "ac_cv_header_stdatomic_h" "$ac_includes_default" if test "x$ac_cv_header_stdatomic_h" = xyes then : printf "%s\n" "@%:@define HAVE_STDATOMIC_H 1" >>confdefs.h OPAL_3RDPARTY_SUBDIRS="$OPAL_3RDPARTY_SUBDIRS romio341" else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: 3rd party ROMIO cannot be built, disqualifying the io/romio341 component" >&5 printf "%s\n" "$as_me: WARNING: 3rd party ROMIO cannot be built, disqualifying the io/romio341 component" >&2;} io_romio341_happy=0 ;; esac fi done fi if test "$io_romio341_happy" = "1" then : should_build=$should_build else case e in @%:@( e) OPAL_MAKEDIST_DISABLE="$OPAL_MAKEDIST_DISABLE ROMIO" should_build=0 ;; esac fi ;; esac fi ;; esac fi opal_var_scope_pop io_romio341_flags io_romio341_flags_define io_romio341_happy io_romio341_save_LIBS opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/io/romio341/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components romio341" if test "$compile_mode" = "dso" ; then dso_components="$dso_components romio341" else if test "io" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/io/romio341/lib${OMPI_LIB_NAME}mca_io_romio341.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/io/romio341/libmca_io_romio341.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_io_romio341_component;" >> $outfile.extern echo " &mca_io_romio341_component, " >> $outfile.struct static_components="$static_components romio341" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component io:romio341 can compile" >&5 printf %s "checking if MCA component io:romio341 can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_io" = "romio341" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_io_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** io component romio341 was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_io" = "romio341" ; then as_fn_error $? "*** io component romio341 was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${io_romio341_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${io_romio341_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${io_romio341_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${io_romio341_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${io_romio341_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${io_romio341_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$io_romio341_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $io_romio341_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring io_romio341_WRAPPER_EXTRA_CPPFLAGS ($io_romio341_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring io_romio341_WRAPPER_EXTRA_CPPFLAGS ($io_romio341_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component io:romio341 can compile" >&5 printf %s "checking if MCA component io:romio341 can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_io" = "romio341" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"romio341\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"romio341\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_io" ; then if test "$DIRECT_io" = "romio341" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"romio341\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"romio341\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components romio341" ;; esac fi if test $should_build -eq 1; then MCA_io_romio341_SHOULD_BUILD_TRUE= MCA_io_romio341_SHOULD_BUILD_FALSE='#' else MCA_io_romio341_SHOULD_BUILD_TRUE='#' MCA_io_romio341_SHOULD_BUILD_FALSE= fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_ompi_io_romio341_DSO=1 else case e in @%:@( e) BUILD_ompi_io_romio341_DSO=0 ;; esac fi if test "$BUILD_ompi_io_romio341_DSO" = "1"; then MCA_BUILD_ompi_io_romio341_DSO_TRUE= MCA_BUILD_ompi_io_romio341_DSO_FALSE='#' else MCA_BUILD_ompi_io_romio341_DSO_TRUE='#' MCA_BUILD_ompi_io_romio341_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test ${DIRECT_io+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for io framework" >&5 printf %s "checking if direct-selection component exists for io framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_io" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_io requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_io" >&5 printf "%s\n" "$DIRECT_io" >&6; } fi MCA_ompi_io_ALL_COMPONENTS="$all_components" MCA_ompi_io_STATIC_COMPONENTS="$static_components" MCA_ompi_io_DSO_COMPONENTS="$dso_components" MCA_ompi_io_STATIC_LTLIBS="$static_ltlibs" MCA_ompi_io_ALL_SUBDIRS= for item in $all_components ; do MCA_ompi_io_ALL_SUBDIRS="$MCA_ompi_io_ALL_SUBDIRS mca/io/$item" done MCA_ompi_io_STATIC_SUBDIRS= for item in $static_components ; do MCA_ompi_io_STATIC_SUBDIRS="$MCA_ompi_io_STATIC_SUBDIRS mca/io/$item" done MCA_ompi_io_DSO_SUBDIRS= for item in $dso_components ; do MCA_ompi_io_DSO_SUBDIRS="$MCA_ompi_io_DSO_SUBDIRS mca/io/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "io" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real MCA_ompi_FRAMEWORKS="$MCA_ompi_FRAMEWORKS mtl" MCA_ompi_FRAMEWORKS_SUBDIRS="$MCA_ompi_FRAMEWORKS_SUBDIRS mca/mtl" MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_ompi_mtl_ALL_SUBDIRS)" MCA_ompi_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_ompi_mtl_DSO_SUBDIRS)" MCA_ompi_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_ompi_mtl_STATIC_SUBDIRS)" mca_ompi_framework_base_lib="mca/mtl/libmca_mtl.la" MCA_ompi_FRAMEWORK_LIBS="$MCA_ompi_FRAMEWORK_LIBS ${mca_ompi_framework_base_lib} \$(MCA_ompi_mtl_STATIC_LTLIBS)" # configure all the components opal_show_subsubtitle "Configuring MCA framework mtl" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=ompi/mca/mtl/base as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files ompi/mca/mtl/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework mtl" >&5 printf %s "checking for no configure components in framework mtl... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework mtl" >&5 printf %s "checking for m4 configure components in framework mtl... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ofi, portals4, psm2" >&5 printf "%s\n" "ofi, portals4, psm2" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=1 components_last_result=0 opal_show_subsubsubtitle "MCA component mtl:ofi (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/ompi/mca/mtl/ofi" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_mtl" ; then if test "$DIRECT_mtl" = "ofi" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_mtl" = "1" then : want_component=0 fi if test "${DISABLE_mtl_ofi}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${ompi_mtl_ofi_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_mtl" SHARED_COMPONENT="$DSO_mtl_ofi" STATIC_FRAMEWORK="$STATIC_mtl" STATIC_COMPONENT="$STATIC_mtl_ofi" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_mtl_ofi_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component mtl:ofi compile mode" >&5 printf %s "checking for MCA component mtl:ofi compile mode... " >&6; } if test "$DIRECT_mtl" = "ofi" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_mtl_ofi_compile_mode # try to configure the component opal_var_scope_push ${LINENO} mtl_ofi_happy ac_config_files="$ac_config_files ompi/mca/mtl/ofi/Makefile" opal_var_scope_push ${LINENO} opal_check_ofi_save_CPPFLAGS opal_check_ofi_save_LDFLAGS opal_check_ofi_save_LIBS opal_check_fi_info_pci # Add --with options @%:@ Check whether --with-libfabric was given. if test ${with_libfabric+y} then : withval=$with_libfabric; fi @%:@ Check whether --with-libfabric-libdir was given. if test ${with_libfabric_libdir+y} then : withval=$with_libfabric_libdir; fi @%:@ Check whether --with-ofi was given. if test ${with_ofi+y} then : withval=$with_ofi; fi @%:@ Check whether --with-ofi-libdir was given. if test ${with_ofi_libdir+y} then : withval=$with_ofi_libdir; fi if test -z "${with_ofi}" then : with_ofi=${with_libfabric} fi if test -z "${with_ofi_libdir}" then : with_ofi_libdir=${with_libfabric_libdir} fi opal_check_ofi_save_CPPFLAGS=${CPPFLAGS} opal_check_ofi_save_LDFLAGS=${LDFLAGS} opal_check_ofi_save_LIBS=${LIBS} opal_check_fi_info_pci=0 # ****************************** START CHECK PACKAGE FOR ofi ****************************** oac_var_scope_push ${LINENO} check_package_mtl_ofi_save_CPPFLAGS check_package_mtl_ofi_save_LDFLAGS check_package_mtl_ofi_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_mtl_ofi_save_CPPFLAGS="${CPPFLAGS}" check_package_mtl_ofi_save_LDFLAGS="${LDFLAGS}" check_package_mtl_ofi_save_LIBS="${LIBS}" mtl_ofi_CPPFLAGS= mtl_ofi_LDFLAGS= mtl_ofi_STATIC_LDFLAGS= mtl_ofi_LIBS= mtl_ofi_STATIC_LIBS= { mtl_ofi_PC_MODULES=; unset mtl_ofi_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_ofi" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package ofi disabled by user" >&5 printf "%s\n" "$as_me: Package ofi disabled by user" >&6;} check_package_happy=0 elif test "${with_ofi}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_ofi}" ;; esac fi check_package_libdir= if test "${with_ofi_libdir}" = "no" -o "${with_ofi_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-ofi-libdir" "$LINENO" 5 elif test -n "${with_ofi_libdir}" then : check_package_libdir="${with_ofi_libdir}" fi check_package_incdir= if test "${with_ofi_incdir}" = "no" -o "${with_ofi_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-ofi-incdir" "$LINENO" 5 elif test -n "${with_ofi_incdir}" then : check_package_incdir="${with_ofi_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${ofi_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-ofi or --with-ofi-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-ofi only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi pkg-config name" >&5 printf %s "checking for ofi pkg-config name... " >&6; } if test ${oac_cv_check_package_ofi_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_ofi_pcfilename="libfabric" if test -n "${check_package_libdir}" then : oac_cv_check_package_ofi_pcfilename="${check_package_libdir}/pkgconfig/libfabric.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_ofi_pcfilename="libfabric" elif test -r "${check_package_prefix}/lib/pkgconfig/libfabric.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/libfabric.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found libfabric in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-ofi-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_ofi_pcfilename="${check_package_prefix}/lib/pkgconfig/libfabric.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/libfabric.pc" then : oac_cv_check_package_ofi_pcfilename="${check_package_prefix}/lib64/pkgconfig/libfabric.pc" else case e in @%:@( e) oac_cv_check_package_ofi_pcfilename="${check_package_prefix}/lib/pkgconfig/libfabric.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_ofi_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ofi pkg-config module exists" >&5 printf %s "checking if ofi pkg-config module exists... " >&6; } if test ${oac_cv_check_package_ofi_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_ofi_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_ofi_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : mtl_ofi_PC_MODULES=${oac_cv_check_package_ofi_pcfilename} oac_cv_check_package_ofi_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_ofi_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_ofi_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_ofi_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi pkg-config cflags" >&5 printf %s "checking for ofi pkg-config cflags... " >&6; } if test ${oac_cv_check_package_ofi_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_ofi_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_ofi_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ofi_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_ofi_pkg_config_cppflags" >&6; } mtl_ofi_CPPFLAGS="${oac_cv_check_package_ofi_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi pkg-config ldflags" >&5 printf %s "checking for ofi pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_ofi_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_ofi_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_ofi_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ofi_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ofi_pkg_config_ldflags" >&6; } mtl_ofi_LDFLAGS="${oac_cv_check_package_ofi_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi pkg-config static ldflags" >&5 printf %s "checking for ofi pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_ofi_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_ofi_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_ofi_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ofi_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ofi_pkg_config_static_ldflags" >&6; } mtl_ofi_STATIC_LDFLAGS="${oac_cv_check_package_ofi_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi pkg-config libs" >&5 printf %s "checking for ofi pkg-config libs... " >&6; } if test ${oac_cv_check_package_ofi_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_ofi_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_ofi_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ofi_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_ofi_pkg_config_libs" >&6; } mtl_ofi_LIBS="${oac_cv_check_package_ofi_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi pkg-config static libs" >&5 printf %s "checking for ofi pkg-config static libs... " >&6; } if test ${oac_cv_check_package_ofi_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_ofi_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_ofi_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ofi_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_ofi_pkg_config_static_libs" >&6; } mtl_ofi_STATIC_LIBS="${oac_cv_check_package_ofi_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${ofi_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-ofi argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi wrapper compiler" >&5 printf %s "checking for ofi wrapper compiler... " >&6; } if test ${oac_cv_check_package_ofi_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_ofi_wrapper_compiler="oficc" else case e in @%:@( e) oac_cv_check_package_ofi_wrapper_compiler="${check_package_prefix}/bin/oficc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_ofi_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ofi wrapper compiler works" >&5 printf %s "checking if ofi wrapper compiler works... " >&6; } if test ${oac_cv_check_package_ofi_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_ofi_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_ofi_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_ofi_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_ofi_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi wrapper compiler cppflags" >&5 printf %s "checking for ofi wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_ofi_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ofi_wrapper_compiler_cppflags}" then : oac_cv_check_package_ofi_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ofi_wrapper_compiler_cppflags="${oac_cv_check_package_ofi_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_ofi_wrapper_compiler_cppflags" >&6; } mtl_ofi_CPPFLAGS="${oac_cv_check_package_ofi_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi wrapper compiler ldflags" >&5 printf %s "checking for ofi wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_ofi_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ofi_wrapper_compiler_ldflags}" then : oac_cv_check_package_ofi_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ofi_wrapper_compiler_ldflags="${oac_cv_check_package_ofi_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ofi_wrapper_compiler_ldflags" >&6; } mtl_ofi_LDFLAGS="${oac_cv_check_package_ofi_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi wrapper compiler static ldflags" >&5 printf %s "checking for ofi wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_ofi_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ofi_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_ofi_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ofi_wrapper_compiler_static_ldflags="${oac_cv_check_package_ofi_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ofi_wrapper_compiler_static_ldflags" >&6; } mtl_ofi_STATIC_LDFLAGS="${oac_cv_check_package_ofi_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi wrapper compiler libs" >&5 printf %s "checking for ofi wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_ofi_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ofi_wrapper_compiler_libs}" then : oac_cv_check_package_ofi_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ofi_wrapper_compiler_libs="${oac_cv_check_package_ofi_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_ofi_wrapper_compiler_libs" >&6; } mtl_ofi_LIBS="$oac_cv_check_package_ofi_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi wrapper compiler static libs" >&5 printf %s "checking for ofi wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_ofi_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ofi_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ofi_wrapper_compiler_static_libs}" then : oac_cv_check_package_ofi_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ofi_wrapper_compiler_static_libs="${oac_cv_check_package_ofi_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ofi static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ofi_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_ofi_wrapper_compiler_static_libs" >&6; } mtl_ofi_STATIC_LIBS="${oac_cv_check_package_ofi_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "rdma/fabric.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "fabric" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi header at ${check_package_generic_incdir}" >&5 printf %s "checking for ofi header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 mtl_ofi_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for ofi library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 mtl_ofi_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for ofi library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-ofi-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 mtl_ofi_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 mtl_ofi_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 mtl_ofi_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for ofi in default search paths" >&5 printf "%s\n" "$as_me: Searching for ofi in default search paths" >&6;} ofi_CPPFLAGS= ofi_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in fabric ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${mtl_ofi_LIBS}" then : mtl_ofi_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) mtl_ofi_LIBS="${mtl_ofi_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${mtl_ofi_STATIC_LIBS}" then : mtl_ofi_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) mtl_ofi_STATIC_LIBS="${mtl_ofi_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi cppflags" >&5 printf %s "checking for ofi cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $mtl_ofi_CPPFLAGS" >&5 printf "%s\n" "$mtl_ofi_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi ldflags" >&5 printf %s "checking for ofi ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $mtl_ofi_LDFLAGS" >&5 printf "%s\n" "$mtl_ofi_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi libs" >&5 printf %s "checking for ofi libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $mtl_ofi_LIBS" >&5 printf "%s\n" "$mtl_ofi_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ofi static libs" >&5 printf %s "checking for ofi static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $mtl_ofi_STATIC_LIBS" >&5 printf "%s\n" "$mtl_ofi_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${mtl_ofi_LDFLAGS}" then : mtl_ofi_LDFLAGS="${mtl_ofi_STATIC_LDFLAGS}" else case e in @%:@( e) mtl_ofi_LDFLAGS="${mtl_ofi_LDFLAGS} ${mtl_ofi_STATIC_LDFLAGS}" ;; esac fi if test -z "${mtl_ofi_LIBS}" then : mtl_ofi_LIBS="${mtl_ofi_STATIC_LIBS}" else case e in @%:@( e) mtl_ofi_LIBS="${mtl_ofi_LIBS} ${mtl_ofi_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "rdma/fabric.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${mtl_ofi_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${mtl_ofi_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${mtl_ofi_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${mtl_ofi_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${mtl_ofi_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${mtl_ofi_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "fi_getinfo" "ac_cv_func_fi_getinfo" if test "x$ac_cv_func_fi_getinfo" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ofi requires libnl v1 or v3" >&5 printf %s "checking if ofi requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_ofi+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void fi_getinfo (void); int main(int argc, char *argv[]) { fi_getinfo (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib ofi" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib ofi" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_ofi=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_ofi" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_ofi" >&6; } result_msg=$opal_libnl_sanity_check_cv_ofi this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, ofi links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, ofi links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libofi (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libofi (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libofi." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libofi." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas ofi requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas ofi requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libofi (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libofi (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libofi." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libofi." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs ofi" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas ofi requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas ofi requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libofi (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libofi (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libofi." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libofi." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs ofi" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi mtl_ofi_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : mtl_ofi_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) mtl_ofi_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi opal_ofi_happy=yes else case e in @%:@( e) if test "${with_ofi}" = "no" then : mtl_ofi_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) mtl_ofi_SUMMARY="no (not found)" ;; esac fi { mtl_ofi_CPPFLAGS=; unset mtl_ofi_CPPFLAGS;} { mtl_ofi_LDFLAGS=; unset mtl_ofi_LDFLAGS;} { mtl_ofi_STATIC_LDFLAGS=; unset mtl_ofi_STATIC_LDFLAGS;} { mtl_ofi_LIBS=; unset mtl_ofi_LIBS;} { mtl_ofi_STATIC_LIBS=; unset mtl_ofi_STATIC_LIBS;} opal_ofi_happy=no ;; esac fi CPPFLAGS="${check_package_mtl_ofi_save_CPPFLAGS}" LDFLAGS="${check_package_mtl_ofi_save_LDFLAGS}" LIBS="${check_package_mtl_ofi_save_LIBS}" oac_var_scope_pop check_package_mtl_ofi_save_CPPFLAGS check_package_mtl_ofi_save_LDFLAGS check_package_mtl_ofi_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR ofi ****************************** oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${mtl_ofi_CPPFLAGS}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${CPPFLAGS}; 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 "${CPPFLAGS}" then : CPPFLAGS="$oac_list_arg" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test $opal_ofi_happy = yes then : ac_fn_c_check_header_compile "$LINENO" "rdma/fi_ext.h" "ac_cv_header_rdma_fi_ext_h" "$ac_includes_default" if test "x$ac_cv_header_rdma_fi_ext_h" = xyes then : printf "%s\n" "@%:@define HAVE_RDMA_FI_EXT_H 1" >>confdefs.h fi ac_fn_c_check_member "$LINENO" "struct fi_info" "nic" "ac_cv_member_struct_fi_info_nic" "#include " if test "x$ac_cv_member_struct_fi_info_nic" = xyes then : opal_check_fi_info_pci=1 else case e in @%:@( e) opal_check_fi_info_pci=0 ;; esac fi printf "%s\n" "@%:@define OPAL_OFI_PCI_DATA_AVAILABLE ${opal_check_fi_info_pci}" >>confdefs.h ac_fn_check_decl "$LINENO" "FI_OPT_FI_HMEM_P2P" "ac_cv_have_decl_FI_OPT_FI_HMEM_P2P" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_FI_OPT_FI_HMEM_P2P" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_FI_OPT_FI_HMEM_P2P $ac_have_decl" >>confdefs.h ac_fn_c_check_type "$LINENO" "struct fi_ops_mem_monitor" "ac_cv_type_struct_fi_ops_mem_monitor" "#ifdef HAVE_RDMA_FI_EXT_H #include #endif " if test "x$ac_cv_type_struct_fi_ops_mem_monitor" = xyes then : printf "%s\n" "@%:@define HAVE_STRUCT_FI_OPS_MEM_MONITOR 1" >>confdefs.h fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${opal_pmix_CPPFLAGS}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${CPPFLAGS}; 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 "${CPPFLAGS}" then : CPPFLAGS="$oac_list_arg" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val ac_fn_check_decl "$LINENO" "PMIX_PACKAGE_RANK" "ac_cv_have_decl_PMIX_PACKAGE_RANK" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_PMIX_PACKAGE_RANK" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_PMIX_PACKAGE_RANK $ac_have_decl" >>confdefs.h ac_fn_c_check_member "$LINENO" "struct fi_mr_attr" "iface" "ac_cv_member_struct_fi_mr_attr_iface" "#include " if test "x$ac_cv_member_struct_fi_mr_attr_iface" = xyes then : opal_check_fi_mr_attr_iface=1 else case e in @%:@( e) opal_check_fi_mr_attr_iface=0 ;; esac fi printf "%s\n" "@%:@define OPAL_OFI_HAVE_FI_MR_IFACE ${opal_check_fi_mr_attr_iface}" >>confdefs.h ac_fn_check_decl "$LINENO" "FI_HMEM_ROCR" "ac_cv_have_decl_FI_HMEM_ROCR" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_FI_HMEM_ROCR" = xyes then : opal_check_fi_hmem_rocr=1 else case e in @%:@( e) opal_check_fi_hmem_rocr=0 ;; esac fi printf "%s\n" "@%:@define OPAL_OFI_HAVE_FI_HMEM_ROCR ${opal_check_fi_hmem_rocr}" >>confdefs.h fi CPPFLAGS=${opal_check_ofi_save_CPPFLAGS} LDFLAGS=${opal_check_ofi_save_LDFLAGS} LIBS=${opal_check_ofi_save_LIBS} opal_ofi_internal_CPPFLAGS="${mtl_ofi_CPPFLAGS}" 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="OpenFabrics OFI Libfabric: ${mtl_ofi_SUMMARY}" oac_summary_key="TransportsOpenFabrics_OFI_Libfabric" # Use the section name variable as an indicator for whether or not # the section has already been created. if test ${oac_summary_section_Transports_name+y} then : else case e in @%:@( e) oac_summary_section_Transports_name="Transports" if test -z "${oac_summary_sections}" then : oac_summary_sections="Transports" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} Transports" ;; esac fi ;; esac 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 case e in @%:@( e) eval "${oac_summary_key}=1" if test ${oac_summary_section_Transports_value+y} then : as_fn_append oac_summary_section_Transports_value "${oac_summary_newline}${oac_summary_line}" else case e in @%:@( e) oac_summary_section_Transports_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key if test "${opal_ofi_happy}" = "yes" then : mtl_ofi_happy=1 else case e in @%:@( e) if test -n "${with_ofi}" && test "${with_ofi}" != "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: OFI libfabric support requested (via --with-ofi or --with-libfabric), but not found." >&5 printf "%s\n" "$as_me: WARNING: OFI libfabric support requested (via --with-ofi or --with-libfabric), but not found." >&2;} as_fn_error $? "Cannot continue." "$LINENO" 5 fi mtl_ofi_happy=0 ;; esac fi opal_var_scope_pop opal_check_ofi_save_CPPFLAGS opal_check_ofi_save_LDFLAGS opal_check_ofi_save_LIBS opal_check_fi_info_pci if test ${mtl_ofi_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_ofi_ver_ge_save_CPPFLAGS opal_ofi_ver_ge_happy { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if OFI API version number is >= 1.5" >&5 printf %s "checking if OFI API version number is >= 1.5... " >&6; } if test ${opal_ofi_ver_ge_cv_1_5+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) opal_ofi_ver_ge_save_CPPFLAGS=$CPPFLAGS CPPFLAGS=$opal_ofi_internal_CPPFLAGS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #if !defined(FI_MAJOR_VERSION) #error "we cannot check the version -- sad panda" #elif FI_VERSION_LT(FI_VERSION(FI_MAJOR_VERSION, FI_MINOR_VERSION), FI_VERSION(1,5)) #error "version is too low -- nopes" #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : opal_ofi_ver_ge_cv_1_5=yes else case e in @%:@( e) opal_ofi_ver_ge_cv_1_5=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_ofi_ver_ge_cv_1_5" >&5 printf "%s\n" "$opal_ofi_ver_ge_cv_1_5" >&6; } if test "${opal_ofi_ver_ge_cv_1_5}" = "yes" then : else case e in @%:@( e) mtl_ofi_happy=0 ;; esac fi CPPFLAGS=$opal_ofi_ver_ge_save_CPPFLAGS opal_var_scope_pop opal_ofi_ver_ge_save_CPPFLAGS opal_ofi_ver_ge_happy fi if test ${mtl_ofi_happy} -eq 1 then : opal_var_scope_push ${LINENO} component_compile_mode dependency_compile_mode if test ${opal_btl_ofi_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_btl" SHARED_COMPONENT="$DSO_btl_ofi" STATIC_FRAMEWORK="$STATIC_btl" STATIC_COMPONENT="$STATIC_btl_ofi" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_btl_ofi_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component btl:ofi compile mode" >&5 printf %s "checking for MCA component btl:ofi compile mode... " >&6; } if test "$DIRECT_btl" = "ofi" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi component_compile_mode=$opal_btl_ofi_compile_mode if test ${opal_common_ofi_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_common" SHARED_COMPONENT="$DSO_common_ofi" STATIC_FRAMEWORK="$STATIC_common" STATIC_COMPONENT="$STATIC_common_ofi" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_common_ofi_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component common:ofi compile mode" >&5 printf %s "checking for MCA component common:ofi compile mode... " >&6; } if test "$DIRECT_common" = "ofi" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi dependency_compile_mode=$opal_common_ofi_compile_mode if test "${component_compile_mode}" = "static" -a "${dependency_compile_mode}" = "dso" then : as_fn_error $? "Component btl:ofi is set to build as a static component, but its dependency common:ofi is set to build as a dynamic component. This configuration is not supported. Please either build common:ofi as a static component or build btl:ofi as a dynamic component." "$LINENO" 5 fi opal_var_scope_pop component_compile_mode dependency_compile_mode fi if test ${mtl_ofi_happy} -eq 1 then : should_build=$should_build else case e in @%:@( e) if test -n "${with_ofi}" -a "${with_ofi}" != "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: OFI libfabric support requested (via --with-ofi or --with-libfabric), but not found." >&5 printf "%s\n" "$as_me: WARNING: OFI libfabric support requested (via --with-ofi or --with-libfabric), but not found." >&2;} as_fn_error $? "Cannot continue." "$LINENO" 5 fi should_build=0 ;; esac fi opal_var_scope_pop mtl_ofi_happy opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/mtl/ofi/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components ofi" if test "$compile_mode" = "dso" ; then dso_components="$dso_components ofi" else if test "mtl" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/mtl/ofi/lib${OMPI_LIB_NAME}mca_mtl_ofi.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/mtl/ofi/libmca_mtl_ofi.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_mtl_ofi_component;" >> $outfile.extern echo " &mca_mtl_ofi_component, " >> $outfile.struct static_components="$static_components ofi" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component mtl:ofi can compile" >&5 printf %s "checking if MCA component mtl:ofi can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_mtl" = "ofi" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_mtl_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** mtl component ofi was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_mtl" = "ofi" ; then as_fn_error $? "*** mtl component ofi was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${mtl_ofi_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${mtl_ofi_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${mtl_ofi_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${mtl_ofi_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${mtl_ofi_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${mtl_ofi_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$mtl_ofi_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $mtl_ofi_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring mtl_ofi_WRAPPER_EXTRA_CPPFLAGS ($mtl_ofi_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring mtl_ofi_WRAPPER_EXTRA_CPPFLAGS ($mtl_ofi_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component mtl:ofi can compile" >&5 printf %s "checking if MCA component mtl:ofi can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_mtl" = "ofi" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ofi\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ofi\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_mtl" ; then if test "$DIRECT_mtl" = "ofi" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ofi\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ofi\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components ofi" ;; esac fi if test "$should_build" = "1" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for index in endpoint array for tag MTL" >&5 printf %s "checking for index in endpoint array for tag MTL... " >&6; } if test -z "$OMPI_PROC_ENDPOINT_TAG_MTL" then : OMPI_PROC_ENDPOINT_TAG_MTL=$ompi_endpoint_tag_counter printf "%s\n" "@%:@define OMPI_PROC_ENDPOINT_TAG_MTL $OMPI_PROC_ENDPOINT_TAG_MTL" >>confdefs.h ompi_endpoint_tag_counter=`expr $ompi_endpoint_tag_counter + 1` fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OMPI_PROC_ENDPOINT_TAG_MTL" >&5 printf "%s\n" "$OMPI_PROC_ENDPOINT_TAG_MTL" >&6; } fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_ompi_mtl_ofi_DSO=1 else case e in @%:@( e) BUILD_ompi_mtl_ofi_DSO=0 ;; esac fi if test "$BUILD_ompi_mtl_ofi_DSO" = "1"; then MCA_BUILD_ompi_mtl_ofi_DSO_TRUE= MCA_BUILD_ompi_mtl_ofi_DSO_FALSE='#' else MCA_BUILD_ompi_mtl_ofi_DSO_TRUE='#' MCA_BUILD_ompi_mtl_ofi_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component mtl:portals4 (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/ompi/mca/mtl/portals4" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_mtl" ; then if test "$DIRECT_mtl" = "portals4" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_mtl" = "1" then : want_component=0 fi if test "${DISABLE_mtl_portals4}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${ompi_mtl_portals4_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_mtl" SHARED_COMPONENT="$DSO_mtl_portals4" STATIC_FRAMEWORK="$STATIC_mtl" STATIC_COMPONENT="$STATIC_mtl_portals4" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_mtl_portals4_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component mtl:portals4 compile mode" >&5 printf %s "checking for MCA component mtl:portals4 compile mode... " >&6; } if test "$DIRECT_mtl" = "portals4" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_mtl_portals4_compile_mode # try to configure the component ac_config_files="$ac_config_files ompi/mca/mtl/portals4/Makefile" opal_var_scope_push ${LINENO} ompi_check_portals4_happy max_md_size max_va_size @%:@ Check whether --with-portals4 was given. if test ${with_portals4+y} then : withval=$with_portals4; fi @%:@ Check whether --with-portals4-libdir was given. if test ${with_portals4_libdir+y} then : withval=$with_portals4_libdir; fi # ****************************** START CHECK PACKAGE FOR portals4 ****************************** oac_var_scope_push ${LINENO} check_package_mtl_portals4_save_CPPFLAGS check_package_mtl_portals4_save_LDFLAGS check_package_mtl_portals4_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_mtl_portals4_save_CPPFLAGS="${CPPFLAGS}" check_package_mtl_portals4_save_LDFLAGS="${LDFLAGS}" check_package_mtl_portals4_save_LIBS="${LIBS}" mtl_portals4_CPPFLAGS= mtl_portals4_LDFLAGS= mtl_portals4_STATIC_LDFLAGS= mtl_portals4_LIBS= mtl_portals4_STATIC_LIBS= { mtl_portals4_PC_MODULES=; unset mtl_portals4_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_portals4" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package portals4 disabled by user" >&5 printf "%s\n" "$as_me: Package portals4 disabled by user" >&6;} check_package_happy=0 elif test "${with_portals4}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_portals4}" ;; esac fi check_package_libdir= if test "${with_portals4_libdir}" = "no" -o "${with_portals4_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-portals4-libdir" "$LINENO" 5 elif test -n "${with_portals4_libdir}" then : check_package_libdir="${with_portals4_libdir}" fi check_package_incdir= if test "${with_portals4_incdir}" = "no" -o "${with_portals4_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-portals4-incdir" "$LINENO" 5 elif test -n "${with_portals4_incdir}" then : check_package_incdir="${with_portals4_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${portals4_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-portals4 or --with-portals4-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-portals4 only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 pkg-config name" >&5 printf %s "checking for portals4 pkg-config name... " >&6; } if test ${oac_cv_check_package_portals4_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_portals4_pcfilename="portals4" if test -n "${check_package_libdir}" then : oac_cv_check_package_portals4_pcfilename="${check_package_libdir}/pkgconfig/portals4.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_portals4_pcfilename="portals4" elif test -r "${check_package_prefix}/lib/pkgconfig/portals4.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/portals4.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found portals4 in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-portals4-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_portals4_pcfilename="${check_package_prefix}/lib/pkgconfig/portals4.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/portals4.pc" then : oac_cv_check_package_portals4_pcfilename="${check_package_prefix}/lib64/pkgconfig/portals4.pc" else case e in @%:@( e) oac_cv_check_package_portals4_pcfilename="${check_package_prefix}/lib/pkgconfig/portals4.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_portals4_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if portals4 pkg-config module exists" >&5 printf %s "checking if portals4 pkg-config module exists... " >&6; } if test ${oac_cv_check_package_portals4_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_portals4_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_portals4_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : mtl_portals4_PC_MODULES=${oac_cv_check_package_portals4_pcfilename} oac_cv_check_package_portals4_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_portals4_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_portals4_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_portals4_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 pkg-config cflags" >&5 printf %s "checking for portals4 pkg-config cflags... " >&6; } if test ${oac_cv_check_package_portals4_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_portals4_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_portals4_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_portals4_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_portals4_pkg_config_cppflags" >&6; } mtl_portals4_CPPFLAGS="${oac_cv_check_package_portals4_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 pkg-config ldflags" >&5 printf %s "checking for portals4 pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_portals4_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_portals4_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_portals4_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_portals4_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_portals4_pkg_config_ldflags" >&6; } mtl_portals4_LDFLAGS="${oac_cv_check_package_portals4_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 pkg-config static ldflags" >&5 printf %s "checking for portals4 pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_portals4_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_portals4_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_portals4_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_portals4_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_portals4_pkg_config_static_ldflags" >&6; } mtl_portals4_STATIC_LDFLAGS="${oac_cv_check_package_portals4_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 pkg-config libs" >&5 printf %s "checking for portals4 pkg-config libs... " >&6; } if test ${oac_cv_check_package_portals4_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_portals4_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_portals4_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_portals4_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_portals4_pkg_config_libs" >&6; } mtl_portals4_LIBS="${oac_cv_check_package_portals4_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 pkg-config static libs" >&5 printf %s "checking for portals4 pkg-config static libs... " >&6; } if test ${oac_cv_check_package_portals4_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_portals4_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_portals4_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_portals4_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_portals4_pkg_config_static_libs" >&6; } mtl_portals4_STATIC_LIBS="${oac_cv_check_package_portals4_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${portals4_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-portals4 argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 wrapper compiler" >&5 printf %s "checking for portals4 wrapper compiler... " >&6; } if test ${oac_cv_check_package_portals4_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_portals4_wrapper_compiler="portals4cc" else case e in @%:@( e) oac_cv_check_package_portals4_wrapper_compiler="${check_package_prefix}/bin/portals4cc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_portals4_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if portals4 wrapper compiler works" >&5 printf %s "checking if portals4 wrapper compiler works... " >&6; } if test ${oac_cv_check_package_portals4_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_portals4_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_portals4_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_portals4_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_portals4_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 wrapper compiler cppflags" >&5 printf %s "checking for portals4 wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_portals4_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_portals4_wrapper_compiler_cppflags}" then : oac_cv_check_package_portals4_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_portals4_wrapper_compiler_cppflags="${oac_cv_check_package_portals4_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_portals4_wrapper_compiler_cppflags" >&6; } mtl_portals4_CPPFLAGS="${oac_cv_check_package_portals4_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 wrapper compiler ldflags" >&5 printf %s "checking for portals4 wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_portals4_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_portals4_wrapper_compiler_ldflags}" then : oac_cv_check_package_portals4_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_portals4_wrapper_compiler_ldflags="${oac_cv_check_package_portals4_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_portals4_wrapper_compiler_ldflags" >&6; } mtl_portals4_LDFLAGS="${oac_cv_check_package_portals4_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 wrapper compiler static ldflags" >&5 printf %s "checking for portals4 wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_portals4_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_portals4_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_portals4_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_portals4_wrapper_compiler_static_ldflags="${oac_cv_check_package_portals4_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_portals4_wrapper_compiler_static_ldflags" >&6; } mtl_portals4_STATIC_LDFLAGS="${oac_cv_check_package_portals4_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 wrapper compiler libs" >&5 printf %s "checking for portals4 wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_portals4_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_portals4_wrapper_compiler_libs}" then : oac_cv_check_package_portals4_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_portals4_wrapper_compiler_libs="${oac_cv_check_package_portals4_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_portals4_wrapper_compiler_libs" >&6; } mtl_portals4_LIBS="$oac_cv_check_package_portals4_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 wrapper compiler static libs" >&5 printf %s "checking for portals4 wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_portals4_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_portals4_wrapper_compiler_static_libs}" then : oac_cv_check_package_portals4_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_portals4_wrapper_compiler_static_libs="${oac_cv_check_package_portals4_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_portals4_wrapper_compiler_static_libs" >&6; } mtl_portals4_STATIC_LIBS="${oac_cv_check_package_portals4_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "portals4.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "portals" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 header at ${check_package_generic_incdir}" >&5 printf %s "checking for portals4 header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 mtl_portals4_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for portals4 library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 mtl_portals4_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for portals4 library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-portals4-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 mtl_portals4_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 mtl_portals4_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 mtl_portals4_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for portals4 in default search paths" >&5 printf "%s\n" "$as_me: Searching for portals4 in default search paths" >&6;} portals4_CPPFLAGS= portals4_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in portals ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${mtl_portals4_LIBS}" then : mtl_portals4_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) mtl_portals4_LIBS="${mtl_portals4_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${mtl_portals4_STATIC_LIBS}" then : mtl_portals4_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) mtl_portals4_STATIC_LIBS="${mtl_portals4_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 cppflags" >&5 printf %s "checking for portals4 cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $mtl_portals4_CPPFLAGS" >&5 printf "%s\n" "$mtl_portals4_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 ldflags" >&5 printf %s "checking for portals4 ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $mtl_portals4_LDFLAGS" >&5 printf "%s\n" "$mtl_portals4_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 libs" >&5 printf %s "checking for portals4 libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $mtl_portals4_LIBS" >&5 printf "%s\n" "$mtl_portals4_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 static libs" >&5 printf %s "checking for portals4 static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $mtl_portals4_STATIC_LIBS" >&5 printf "%s\n" "$mtl_portals4_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${mtl_portals4_LDFLAGS}" then : mtl_portals4_LDFLAGS="${mtl_portals4_STATIC_LDFLAGS}" else case e in @%:@( e) mtl_portals4_LDFLAGS="${mtl_portals4_LDFLAGS} ${mtl_portals4_STATIC_LDFLAGS}" ;; esac fi if test -z "${mtl_portals4_LIBS}" then : mtl_portals4_LIBS="${mtl_portals4_STATIC_LIBS}" else case e in @%:@( e) mtl_portals4_LIBS="${mtl_portals4_LIBS} ${mtl_portals4_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "portals4.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${mtl_portals4_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${mtl_portals4_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${mtl_portals4_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${mtl_portals4_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${mtl_portals4_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${mtl_portals4_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "PtlLEAppend" "ac_cv_func_PtlLEAppend" if test "x$ac_cv_func_PtlLEAppend" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if portals4 requires libnl v1 or v3" >&5 printf %s "checking if portals4 requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_portals4+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void PtlLEAppend (void); int main(int argc, char *argv[]) { PtlLEAppend (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib portals4" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib portals4" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_portals4=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_portals4" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_portals4" >&6; } result_msg=$opal_libnl_sanity_check_cv_portals4 this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, portals4 links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, portals4 links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libportals4 (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libportals4 (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libportals4." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libportals4." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas portals4 requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas portals4 requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libportals4 (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libportals4 (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libportals4." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libportals4." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs portals4" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas portals4 requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas portals4 requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libportals4 (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libportals4 (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libportals4." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libportals4." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs portals4" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi mtl_portals4_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : mtl_portals4_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) mtl_portals4_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi ompi_check_portals4_happy="yes" else case e in @%:@( e) if test "${with_portals4}" = "no" then : mtl_portals4_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) mtl_portals4_SUMMARY="no (not found)" ;; esac fi { mtl_portals4_CPPFLAGS=; unset mtl_portals4_CPPFLAGS;} { mtl_portals4_LDFLAGS=; unset mtl_portals4_LDFLAGS;} { mtl_portals4_STATIC_LDFLAGS=; unset mtl_portals4_STATIC_LDFLAGS;} { mtl_portals4_LIBS=; unset mtl_portals4_LIBS;} { mtl_portals4_STATIC_LIBS=; unset mtl_portals4_STATIC_LIBS;} ompi_check_portals4_happy="no" ;; esac fi CPPFLAGS="${check_package_mtl_portals4_save_CPPFLAGS}" LDFLAGS="${check_package_mtl_portals4_save_LDFLAGS}" LIBS="${check_package_mtl_portals4_save_LIBS}" oac_var_scope_pop check_package_mtl_portals4_save_CPPFLAGS check_package_mtl_portals4_save_LDFLAGS check_package_mtl_portals4_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR portals4 ****************************** max_md_size=0 @%:@ Check whether --with-portals4-max-md-size was given. if test ${with_portals4_max_md_size+y} then : withval=$with_portals4_max_md_size; fi if test "$with_portals4_max_md_size" = "yes" || test "$with_portals4_max_md_size" = "no" then : as_fn_error $? "--with-portals4-max-md-size requires an integer argument" "$LINENO" 5 else case e in @%:@( e) if test -n "$with_portals4_max_md_size" then : max_md_size="$with_portals4_max_md_size" fi ;; esac fi printf "%s\n" "@%:@define OPAL_PORTALS4_MAX_MD_SIZE $max_md_size" >>confdefs.h max_va_size=0 @%:@ Check whether --with-portals4-max-va-size was given. if test ${with_portals4_max_va_size+y} then : withval=$with_portals4_max_va_size; fi if test "$with_portals4_max_va_size" = "yes" || test "$with_portals4_max_va_size" = "no" then : as_fn_error $? "--with-portals4-max-va-size requires an integer argument" "$LINENO" 5 else case e in @%:@( e) if test -n "$with_portals4_max_va_size" then : max_va_size="$with_portals4_max_va_size" fi ;; esac fi printf "%s\n" "@%:@define OPAL_PORTALS4_MAX_VA_SIZE $max_va_size" >>confdefs.h if (test $max_md_size -eq 0 && test $max_va_size -ne 0 ) || (test $max_md_size -ne 0 && test $max_va_size -eq 0 ) then : as_fn_error $? "If either --with-portals4-max-md-size or --with-portals4-max-va-size is set, both must be set." "$LINENO" 5 fi if test $max_md_size -ge $max_va_size then : max_md_size=0 max_va_size=0 fi if test $max_md_size -ne 0 && test $max_va_size -ne 0 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Portals 4 address space size: $max_md_size, $max_va_size" >&5 printf "%s\n" "$as_me: Portals 4 address space size: $max_md_size, $max_va_size" >&6;} fi 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="Portals4: ${mtl_portals4_SUMMARY}" oac_summary_key="TransportsPortals4" # Use the section name variable as an indicator for whether or not # the section has already been created. if test ${oac_summary_section_Transports_name+y} then : else case e in @%:@( e) oac_summary_section_Transports_name="Transports" if test -z "${oac_summary_sections}" then : oac_summary_sections="Transports" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} Transports" ;; esac fi ;; esac 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 case e in @%:@( e) eval "${oac_summary_key}=1" if test ${oac_summary_section_Transports_value+y} then : as_fn_append oac_summary_section_Transports_value "${oac_summary_newline}${oac_summary_line}" else case e in @%:@( e) oac_summary_section_Transports_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key if test "$ompi_check_portals4_happy" = "yes" then : mtl_portals4_happy="yes" else case e in @%:@( e) if test ! -z "$with_portals4" && test "$with_portals4" != "no" then : as_fn_error $? "Portals4 support requested but not found. Aborting" "$LINENO" 5 fi mtl_portals4_happy="no" ;; esac fi opal_var_scope_pop ompi_check_portals4_happy max_md_size max_va_size if test "$mtl_portals4_happy" = "yes" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi # need to propagate CPPFLAGS to all of OMPI if test "$DIRECT_mtl" = "portals4" then : mtl_portals4_WRAPPER_EXTRA_CPPFLAGS="$mtl_portals4_CPPFLAGS" CPPFLAGS="$CPPFLAGS $mtl_portals4_CPPFLAGS" fi @%:@ Check whether --enable-mtl-portals4-flow-control was given. if test ${enable_mtl_portals4_flow_control+y} then : enableval=$enable_mtl_portals4_flow_control; fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable flow control" >&5 printf %s "checking whether to enable flow control... " >&6; } if test "$enable_mtl_portals4_flow_control" != "no"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } mtl_portals4_flow_control_enabled=1 else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } mtl_portals4_flow_control_enabled=0 fi printf "%s\n" "@%:@define OMPI_MTL_PORTALS4_FLOW_CONTROL $mtl_portals4_flow_control_enabled" >>confdefs.h if test "$mtl_portals4_flow_control_enabled" = "1"; then OMPI_MTL_PORTALS4_FLOW_CONTROL_TRUE= OMPI_MTL_PORTALS4_FLOW_CONTROL_FALSE='#' else OMPI_MTL_PORTALS4_FLOW_CONTROL_TRUE='#' OMPI_MTL_PORTALS4_FLOW_CONTROL_FALSE= fi # substitute in the things needed to build portals4 opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/mtl/portals4/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components portals4" if test "$compile_mode" = "dso" ; then dso_components="$dso_components portals4" else if test "mtl" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/mtl/portals4/lib${OMPI_LIB_NAME}mca_mtl_portals4.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/mtl/portals4/libmca_mtl_portals4.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_mtl_portals4_component;" >> $outfile.extern echo " &mca_mtl_portals4_component, " >> $outfile.struct static_components="$static_components portals4" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component mtl:portals4 can compile" >&5 printf %s "checking if MCA component mtl:portals4 can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_mtl" = "portals4" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_mtl_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** mtl component portals4 was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_mtl" = "portals4" ; then as_fn_error $? "*** mtl component portals4 was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${mtl_portals4_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${mtl_portals4_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${mtl_portals4_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${mtl_portals4_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${mtl_portals4_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${mtl_portals4_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$mtl_portals4_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $mtl_portals4_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring mtl_portals4_WRAPPER_EXTRA_CPPFLAGS ($mtl_portals4_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring mtl_portals4_WRAPPER_EXTRA_CPPFLAGS ($mtl_portals4_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component mtl:portals4 can compile" >&5 printf %s "checking if MCA component mtl:portals4 can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_mtl" = "portals4" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"portals4\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"portals4\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_mtl" ; then if test "$DIRECT_mtl" = "portals4" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"portals4\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"portals4\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components portals4" ;; esac fi if test "$should_build" = "1" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for index in endpoint array for tag PORTALS4" >&5 printf %s "checking for index in endpoint array for tag PORTALS4... " >&6; } if test -z "$OMPI_PROC_ENDPOINT_TAG_PORTALS4" then : OMPI_PROC_ENDPOINT_TAG_PORTALS4=$ompi_endpoint_tag_counter printf "%s\n" "@%:@define OMPI_PROC_ENDPOINT_TAG_PORTALS4 $OMPI_PROC_ENDPOINT_TAG_PORTALS4" >>confdefs.h ompi_endpoint_tag_counter=`expr $ompi_endpoint_tag_counter + 1` fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OMPI_PROC_ENDPOINT_TAG_PORTALS4" >&5 printf "%s\n" "$OMPI_PROC_ENDPOINT_TAG_PORTALS4" >&6; } fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_ompi_mtl_portals4_DSO=1 else case e in @%:@( e) BUILD_ompi_mtl_portals4_DSO=0 ;; esac fi if test "$BUILD_ompi_mtl_portals4_DSO" = "1"; then MCA_BUILD_ompi_mtl_portals4_DSO_TRUE= MCA_BUILD_ompi_mtl_portals4_DSO_FALSE='#' else MCA_BUILD_ompi_mtl_portals4_DSO_TRUE='#' MCA_BUILD_ompi_mtl_portals4_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component mtl:psm2 (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/ompi/mca/mtl/psm2" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_mtl" ; then if test "$DIRECT_mtl" = "psm2" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_mtl" = "1" then : want_component=0 fi if test "${DISABLE_mtl_psm2}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${ompi_mtl_psm2_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_mtl" SHARED_COMPONENT="$DSO_mtl_psm2" STATIC_FRAMEWORK="$STATIC_mtl" STATIC_COMPONENT="$STATIC_mtl_psm2" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_mtl_psm2_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component mtl:psm2 compile mode" >&5 printf %s "checking for MCA component mtl:psm2 compile mode... " >&6; } if test "$DIRECT_mtl" = "psm2" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_mtl_psm2_compile_mode # try to configure the component ac_config_files="$ac_config_files ompi/mca/mtl/psm2/Makefile" opal_var_scope_push ${LINENO} opal_psm2_CPPFLAGS_save opal_psm2_LDFLAGS_save opal_psm2_LIBS_save @%:@ Check whether --with-psm2 was given. if test ${with_psm2+y} then : withval=$with_psm2; fi @%:@ Check whether --with-psm2-libdir was given. if test ${with_psm2_libdir+y} then : withval=$with_psm2_libdir; fi @%:@ Check whether --enable-psm2-version-check was given. if test ${enable_psm2_version_check+y} then : enableval=$enable_psm2_version_check; fi # ****************************** START CHECK PACKAGE FOR psm2 ****************************** oac_var_scope_push ${LINENO} check_package_mtl_psm2_save_CPPFLAGS check_package_mtl_psm2_save_LDFLAGS check_package_mtl_psm2_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_mtl_psm2_save_CPPFLAGS="${CPPFLAGS}" check_package_mtl_psm2_save_LDFLAGS="${LDFLAGS}" check_package_mtl_psm2_save_LIBS="${LIBS}" mtl_psm2_CPPFLAGS= mtl_psm2_LDFLAGS= mtl_psm2_STATIC_LDFLAGS= mtl_psm2_LIBS= mtl_psm2_STATIC_LIBS= { mtl_psm2_PC_MODULES=; unset mtl_psm2_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_psm2" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package psm2 disabled by user" >&5 printf "%s\n" "$as_me: Package psm2 disabled by user" >&6;} check_package_happy=0 elif test "${with_psm2}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_psm2}" ;; esac fi check_package_libdir= if test "${with_psm2_libdir}" = "no" -o "${with_psm2_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-psm2-libdir" "$LINENO" 5 elif test -n "${with_psm2_libdir}" then : check_package_libdir="${with_psm2_libdir}" fi check_package_incdir= if test "${with_psm2_incdir}" = "no" -o "${with_psm2_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-psm2-incdir" "$LINENO" 5 elif test -n "${with_psm2_incdir}" then : check_package_incdir="${with_psm2_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${psm2_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-psm2 or --with-psm2-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-psm2 only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for psm2 pkg-config name" >&5 printf %s "checking for psm2 pkg-config name... " >&6; } if test ${oac_cv_check_package_psm2_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_psm2_pcfilename="psm2" if test -n "${check_package_libdir}" then : oac_cv_check_package_psm2_pcfilename="${check_package_libdir}/pkgconfig/psm2.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_psm2_pcfilename="psm2" elif test -r "${check_package_prefix}/lib/pkgconfig/psm2.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/psm2.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found psm2 in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-psm2-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_psm2_pcfilename="${check_package_prefix}/lib/pkgconfig/psm2.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/psm2.pc" then : oac_cv_check_package_psm2_pcfilename="${check_package_prefix}/lib64/pkgconfig/psm2.pc" else case e in @%:@( e) oac_cv_check_package_psm2_pcfilename="${check_package_prefix}/lib/pkgconfig/psm2.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_psm2_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_psm2_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if psm2 pkg-config module exists" >&5 printf %s "checking if psm2 pkg-config module exists... " >&6; } if test ${oac_cv_check_package_psm2_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_psm2_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_psm2_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : mtl_psm2_PC_MODULES=${oac_cv_check_package_psm2_pcfilename} oac_cv_check_package_psm2_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_psm2_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_psm2_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_psm2_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_psm2_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for psm2 pkg-config cflags" >&5 printf %s "checking for psm2 pkg-config cflags... " >&6; } if test ${oac_cv_check_package_psm2_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_psm2_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_psm2_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_psm2_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving psm2 cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_psm2_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_psm2_pkg_config_cppflags" >&6; } mtl_psm2_CPPFLAGS="${oac_cv_check_package_psm2_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for psm2 pkg-config ldflags" >&5 printf %s "checking for psm2 pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_psm2_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_psm2_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_psm2_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_psm2_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving psm2 ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_psm2_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_psm2_pkg_config_ldflags" >&6; } mtl_psm2_LDFLAGS="${oac_cv_check_package_psm2_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for psm2 pkg-config static ldflags" >&5 printf %s "checking for psm2 pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_psm2_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_psm2_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_psm2_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_psm2_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving psm2 static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_psm2_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_psm2_pkg_config_static_ldflags" >&6; } mtl_psm2_STATIC_LDFLAGS="${oac_cv_check_package_psm2_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for psm2 pkg-config libs" >&5 printf %s "checking for psm2 pkg-config libs... " >&6; } if test ${oac_cv_check_package_psm2_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_psm2_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_psm2_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_psm2_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving psm2 libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_psm2_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_psm2_pkg_config_libs" >&6; } mtl_psm2_LIBS="${oac_cv_check_package_psm2_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for psm2 pkg-config static libs" >&5 printf %s "checking for psm2 pkg-config static libs... " >&6; } if test ${oac_cv_check_package_psm2_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_psm2_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_psm2_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_psm2_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving psm2 libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_psm2_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_psm2_pkg_config_static_libs" >&6; } mtl_psm2_STATIC_LIBS="${oac_cv_check_package_psm2_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${psm2_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-psm2 argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for psm2 wrapper compiler" >&5 printf %s "checking for psm2 wrapper compiler... " >&6; } if test ${oac_cv_check_package_psm2_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_psm2_wrapper_compiler="psm2cc" else case e in @%:@( e) oac_cv_check_package_psm2_wrapper_compiler="${check_package_prefix}/bin/psm2cc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_psm2_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_psm2_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if psm2 wrapper compiler works" >&5 printf %s "checking if psm2 wrapper compiler works... " >&6; } if test ${oac_cv_check_package_psm2_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_psm2_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_psm2_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_psm2_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_psm2_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_psm2_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_psm2_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_psm2_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for psm2 wrapper compiler cppflags" >&5 printf %s "checking for psm2 wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_psm2_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_psm2_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_psm2_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_psm2_wrapper_compiler_cppflags}" then : oac_cv_check_package_psm2_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_psm2_wrapper_compiler_cppflags="${oac_cv_check_package_psm2_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving psm2 cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_psm2_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_psm2_wrapper_compiler_cppflags" >&6; } mtl_psm2_CPPFLAGS="${oac_cv_check_package_psm2_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for psm2 wrapper compiler ldflags" >&5 printf %s "checking for psm2 wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_psm2_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_psm2_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_psm2_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_psm2_wrapper_compiler_ldflags}" then : oac_cv_check_package_psm2_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_psm2_wrapper_compiler_ldflags="${oac_cv_check_package_psm2_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving psm2 ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_psm2_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_psm2_wrapper_compiler_ldflags" >&6; } mtl_psm2_LDFLAGS="${oac_cv_check_package_psm2_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for psm2 wrapper compiler static ldflags" >&5 printf %s "checking for psm2 wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_psm2_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_psm2_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_psm2_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_psm2_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_psm2_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_psm2_wrapper_compiler_static_ldflags="${oac_cv_check_package_psm2_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving psm2 static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_psm2_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_psm2_wrapper_compiler_static_ldflags" >&6; } mtl_psm2_STATIC_LDFLAGS="${oac_cv_check_package_psm2_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for psm2 wrapper compiler libs" >&5 printf %s "checking for psm2 wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_psm2_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_psm2_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_psm2_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_psm2_wrapper_compiler_libs}" then : oac_cv_check_package_psm2_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_psm2_wrapper_compiler_libs="${oac_cv_check_package_psm2_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving psm2 libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_psm2_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_psm2_wrapper_compiler_libs" >&6; } mtl_psm2_LIBS="$oac_cv_check_package_psm2_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for psm2 wrapper compiler static libs" >&5 printf %s "checking for psm2 wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_psm2_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_psm2_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_psm2_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_psm2_wrapper_compiler_static_libs}" then : oac_cv_check_package_psm2_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_psm2_wrapper_compiler_static_libs="${oac_cv_check_package_psm2_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving psm2 static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_psm2_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_psm2_wrapper_compiler_static_libs" >&6; } mtl_psm2_STATIC_LIBS="${oac_cv_check_package_psm2_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "psm2.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "psm2" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for psm2 header at ${check_package_generic_incdir}" >&5 printf %s "checking for psm2 header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 mtl_psm2_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for psm2 library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for psm2 library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 mtl_psm2_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for psm2 library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for psm2 library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-psm2-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 mtl_psm2_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 mtl_psm2_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 mtl_psm2_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for psm2 in default search paths" >&5 printf "%s\n" "$as_me: Searching for psm2 in default search paths" >&6;} psm2_CPPFLAGS= psm2_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in psm2 ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${mtl_psm2_LIBS}" then : mtl_psm2_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) mtl_psm2_LIBS="${mtl_psm2_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${mtl_psm2_STATIC_LIBS}" then : mtl_psm2_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) mtl_psm2_STATIC_LIBS="${mtl_psm2_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for psm2 cppflags" >&5 printf %s "checking for psm2 cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $mtl_psm2_CPPFLAGS" >&5 printf "%s\n" "$mtl_psm2_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for psm2 ldflags" >&5 printf %s "checking for psm2 ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $mtl_psm2_LDFLAGS" >&5 printf "%s\n" "$mtl_psm2_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for psm2 libs" >&5 printf %s "checking for psm2 libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $mtl_psm2_LIBS" >&5 printf "%s\n" "$mtl_psm2_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for psm2 static libs" >&5 printf %s "checking for psm2 static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $mtl_psm2_STATIC_LIBS" >&5 printf "%s\n" "$mtl_psm2_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${mtl_psm2_LDFLAGS}" then : mtl_psm2_LDFLAGS="${mtl_psm2_STATIC_LDFLAGS}" else case e in @%:@( e) mtl_psm2_LDFLAGS="${mtl_psm2_LDFLAGS} ${mtl_psm2_STATIC_LDFLAGS}" ;; esac fi if test -z "${mtl_psm2_LIBS}" then : mtl_psm2_LIBS="${mtl_psm2_STATIC_LIBS}" else case e in @%:@( e) mtl_psm2_LIBS="${mtl_psm2_LIBS} ${mtl_psm2_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "psm2.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${mtl_psm2_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${mtl_psm2_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${mtl_psm2_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${mtl_psm2_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${mtl_psm2_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${mtl_psm2_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "psm2_mq_irecv2" "ac_cv_func_psm2_mq_irecv2" if test "x$ac_cv_func_psm2_mq_irecv2" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if psm2 requires libnl v1 or v3" >&5 printf %s "checking if psm2 requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_psm2+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void psm2_mq_irecv2 (void); int main(int argc, char *argv[]) { psm2_mq_irecv2 (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib psm2" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib psm2" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_psm2=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_psm2" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_psm2" >&6; } result_msg=$opal_libnl_sanity_check_cv_psm2 this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, psm2 links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, psm2 links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libpsm2 (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libpsm2 (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libpsm2." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libpsm2." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas psm2 requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas psm2 requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libpsm2 (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libpsm2 (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libpsm2." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libpsm2." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs psm2" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas psm2 requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas psm2 requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libpsm2 (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libpsm2 (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libpsm2." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libpsm2." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs psm2" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi mtl_psm2_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : mtl_psm2_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) mtl_psm2_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi ompi_check_psm2_happy="yes" else case e in @%:@( e) if test "${with_psm2}" = "no" then : mtl_psm2_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) mtl_psm2_SUMMARY="no (not found)" ;; esac fi { mtl_psm2_CPPFLAGS=; unset mtl_psm2_CPPFLAGS;} { mtl_psm2_LDFLAGS=; unset mtl_psm2_LDFLAGS;} { mtl_psm2_STATIC_LDFLAGS=; unset mtl_psm2_STATIC_LDFLAGS;} { mtl_psm2_LIBS=; unset mtl_psm2_LIBS;} { mtl_psm2_STATIC_LIBS=; unset mtl_psm2_STATIC_LIBS;} ompi_check_psm2_happy="no" ;; esac fi CPPFLAGS="${check_package_mtl_psm2_save_CPPFLAGS}" LDFLAGS="${check_package_mtl_psm2_save_LDFLAGS}" LIBS="${check_package_mtl_psm2_save_LIBS}" oac_var_scope_pop check_package_mtl_psm2_save_CPPFLAGS check_package_mtl_psm2_save_LDFLAGS check_package_mtl_psm2_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR psm2 ****************************** if test "$ompi_check_psm2_happy" = "yes" && test "$enable_progress_threads" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: PSM2 driver does not currently support progress threads. Disabling MTL." >&5 printf "%s\n" "$as_me: WARNING: PSM2 driver does not currently support progress threads. Disabling MTL." >&2;} mtl_psm2_SUMMARY="no (progress threads not supported)" ompi_check_psm2_happy="no" fi opal_psm2_CPPFLAGS_save="$CPPFLAGS" CPPFLAGS="${mtl_psm2_CPPFLAGS} ${CPPFLAGS}" if test "$ompi_check_psm2_happy" = "yes" then : for ac_header in glob.h do : ac_fn_c_check_header_compile "$LINENO" "glob.h" "ac_cv_header_glob_h" "$ac_includes_default" if test "x$ac_cv_header_glob_h" = xyes then : printf "%s\n" "@%:@define HAVE_GLOB_H 1" >>confdefs.h else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: glob.h not found. Can not build component." >&5 printf "%s\n" "$as_me: WARNING: glob.h not found. Can not build component." >&2;} mtl_psm2_SUMMARY="no (glob.h not found))" ompi_check_psm2_happy="no" ;; esac fi done fi if test "$ompi_check_psm2_happy" = "yes" then : ac_fn_check_decl "$LINENO" "PSM2_LIB_REFCOUNT_CAP" "ac_cv_have_decl_PSM2_LIB_REFCOUNT_CAP" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_PSM2_LIB_REFCOUNT_CAP" = xyes then : printf "%s\n" "@%:@define HAVE_PSM2_LIB_REFCOUNT_CAP 1" >>confdefs.h else case e in @%:@( e) if test "x$enable_psm2_version_check" != "xno" then : ompi_check_psm2_happy="no" mtl_psm2_SUMMARY="no (version too old)" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: PSM2 needs to be version 11.2.173 or later. Disabling MTL." >&5 printf "%s\n" "$as_me: WARNING: PSM2 needs to be version 11.2.173 or later. Disabling MTL." >&2;} fi ;; esac fi fi CPPFLAGS="${opal_psm2_CPPFLAGS_save}" 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="Intel Omnipath (PSM2): ${mtl_psm2_SUMMARY}" oac_summary_key="Transports`printf "%s\n" "Intel Omnipath (PSM2)" | sed "$as_sed_sh"`" # Use the section name variable as an indicator for whether or not # the section has already been created. if test ${oac_summary_section_Transports_name+y} then : else case e in @%:@( e) oac_summary_section_Transports_name="Transports" if test -z "${oac_summary_sections}" then : oac_summary_sections="Transports" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} Transports" ;; esac fi ;; esac 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 case e in @%:@( e) eval "${oac_summary_key}=1" if test ${oac_summary_section_Transports_value+y} then : as_fn_append oac_summary_section_Transports_value "${oac_summary_newline}${oac_summary_line}" else case e in @%:@( e) oac_summary_section_Transports_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key if test "$ompi_check_psm2_happy" = "yes" then : mtl_psm2_happy="yes" else case e in @%:@( e) if test ! -z "$with_psm2" && test "$with_psm2" != "no" then : as_fn_error $? "PSM2 support requested but not found. Aborting" "$LINENO" 5 fi mtl_psm2_happy="no" ;; esac fi if test "$mtl_psm2_happy" = "yes" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi # substitute in the things needed to build psm2 opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/mtl/psm2/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components psm2" if test "$compile_mode" = "dso" ; then dso_components="$dso_components psm2" else if test "mtl" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/mtl/psm2/lib${OMPI_LIB_NAME}mca_mtl_psm2.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/mtl/psm2/libmca_mtl_psm2.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_mtl_psm2_component;" >> $outfile.extern echo " &mca_mtl_psm2_component, " >> $outfile.struct static_components="$static_components psm2" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component mtl:psm2 can compile" >&5 printf %s "checking if MCA component mtl:psm2 can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_mtl" = "psm2" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_mtl_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** mtl component psm2 was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_mtl" = "psm2" ; then as_fn_error $? "*** mtl component psm2 was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${mtl_psm2_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${mtl_psm2_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${mtl_psm2_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${mtl_psm2_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${mtl_psm2_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${mtl_psm2_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$mtl_psm2_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $mtl_psm2_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring mtl_psm2_WRAPPER_EXTRA_CPPFLAGS ($mtl_psm2_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring mtl_psm2_WRAPPER_EXTRA_CPPFLAGS ($mtl_psm2_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component mtl:psm2 can compile" >&5 printf %s "checking if MCA component mtl:psm2 can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_mtl" = "psm2" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"psm2\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"psm2\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_mtl" ; then if test "$DIRECT_mtl" = "psm2" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"psm2\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"psm2\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components psm2" ;; esac fi if test "$should_build" = "1" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for index in endpoint array for tag MTL" >&5 printf %s "checking for index in endpoint array for tag MTL... " >&6; } if test -z "$OMPI_PROC_ENDPOINT_TAG_MTL" then : OMPI_PROC_ENDPOINT_TAG_MTL=$ompi_endpoint_tag_counter printf "%s\n" "@%:@define OMPI_PROC_ENDPOINT_TAG_MTL $OMPI_PROC_ENDPOINT_TAG_MTL" >>confdefs.h ompi_endpoint_tag_counter=`expr $ompi_endpoint_tag_counter + 1` fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OMPI_PROC_ENDPOINT_TAG_MTL" >&5 printf "%s\n" "$OMPI_PROC_ENDPOINT_TAG_MTL" >&6; } fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_ompi_mtl_psm2_DSO=1 else case e in @%:@( e) BUILD_ompi_mtl_psm2_DSO=0 ;; esac fi if test "$BUILD_ompi_mtl_psm2_DSO" = "1"; then MCA_BUILD_ompi_mtl_psm2_DSO_TRUE= MCA_BUILD_ompi_mtl_psm2_DSO_FALSE='#' else MCA_BUILD_ompi_mtl_psm2_DSO_TRUE='#' MCA_BUILD_ompi_mtl_psm2_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test ${DIRECT_mtl+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for mtl framework" >&5 printf %s "checking if direct-selection component exists for mtl framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_mtl" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_mtl requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_mtl" >&5 printf "%s\n" "$DIRECT_mtl" >&6; } fi MCA_ompi_mtl_ALL_COMPONENTS="$all_components" MCA_ompi_mtl_STATIC_COMPONENTS="$static_components" MCA_ompi_mtl_DSO_COMPONENTS="$dso_components" MCA_ompi_mtl_STATIC_LTLIBS="$static_ltlibs" MCA_ompi_mtl_ALL_SUBDIRS= for item in $all_components ; do MCA_ompi_mtl_ALL_SUBDIRS="$MCA_ompi_mtl_ALL_SUBDIRS mca/mtl/$item" done MCA_ompi_mtl_STATIC_SUBDIRS= for item in $static_components ; do MCA_ompi_mtl_STATIC_SUBDIRS="$MCA_ompi_mtl_STATIC_SUBDIRS mca/mtl/$item" done MCA_ompi_mtl_DSO_SUBDIRS= for item in $dso_components ; do MCA_ompi_mtl_DSO_SUBDIRS="$MCA_ompi_mtl_DSO_SUBDIRS mca/mtl/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "mtl" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real # this is a direct callable component, so set that up. if test ! -z "$DIRECT_mtl" ; then MCA_ompi_mtl_DIRECT_CALL_COMPONENT=$DIRECT_mtl MCA_ompi_mtl_DIRECT_CALL=1 else MCA_ompi_mtl_DIRECT_CALL_COMPONENT= MCA_ompi_mtl_DIRECT_CALL=0 fi printf "%s\n" "@%:@define MCA_ompi_mtl_DIRECT_CALL $MCA_ompi_mtl_DIRECT_CALL" >>confdefs.h printf "%s\n" "@%:@define MCA_ompi_mtl_DIRECT_CALL_COMPONENT $MCA_ompi_mtl_DIRECT_CALL_COMPONENT" >>confdefs.h printf "%s\n" "@%:@define MCA_ompi_mtl_DIRECT_CALL_HEADER \"$MCA_ompi_mtl_DIRECT_CALL_HEADER\"" >>confdefs.h MCA_ompi_FRAMEWORKS="$MCA_ompi_FRAMEWORKS op" MCA_ompi_FRAMEWORKS_SUBDIRS="$MCA_ompi_FRAMEWORKS_SUBDIRS mca/op" MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_ompi_op_ALL_SUBDIRS)" MCA_ompi_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_ompi_op_DSO_SUBDIRS)" MCA_ompi_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_ompi_op_STATIC_SUBDIRS)" mca_ompi_framework_base_lib="mca/op/libmca_op.la" MCA_ompi_FRAMEWORK_LIBS="$MCA_ompi_FRAMEWORK_LIBS ${mca_ompi_framework_base_lib} \$(MCA_ompi_op_STATIC_LTLIBS)" opal_show_subsubtitle "Configuring MCA framework op" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=ompi/mca/op/base as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files ompi/mca/op/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework op" >&5 printf %s "checking for no configure components in framework op... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework op" >&5 printf %s "checking for m4 configure components in framework op... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: aarch64, avx" >&5 printf "%s\n" "aarch64, avx" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=1 components_last_result=0 opal_show_subsubsubtitle "MCA component op:aarch64 (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/ompi/mca/op/aarch64" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_op" ; then if test "$DIRECT_op" = "aarch64" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_op" = "1" then : want_component=0 fi if test "${DISABLE_op_aarch64}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${ompi_op_aarch64_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_op" SHARED_COMPONENT="$DSO_op_aarch64" STATIC_FRAMEWORK="$STATIC_op" STATIC_COMPONENT="$STATIC_op_aarch64" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_op_aarch64_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component op:aarch64 compile mode" >&5 printf %s "checking for MCA component op:aarch64 compile mode... " >&6; } if test "$DIRECT_op" = "aarch64" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_op_aarch64_compile_mode # try to configure the component ac_config_files="$ac_config_files ompi/mca/op/aarch64/Makefile" case "${host}" in aarch64*|arm64*) op_aarch64_check="yes";; *) op_aarch64_check="no";; esac if test "$op_aarch64_check" = "yes" then : ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # # Check for NEON support # { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for NEON support" >&5 printf %s "checking for NEON support... " >&6; } if test ${op_cv_neon_support+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined(__aarch64__) && defined(__ARM_NEON) #include #else #error "No support for __aarch64__" #endif int main (void) { #if defined(__aarch64__) && defined(__ARM_NEON) int32x4_t vA; vA = vmovq_n_s32(0) #endif ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : op_cv_neon_support=yes else case e in @%:@( e) op_cv_neon_support=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $op_cv_neon_support" >&5 printf "%s\n" "$op_cv_neon_support" >&6; } # # Check for NEON FP support # { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for NEON FP support" >&5 printf %s "checking for NEON FP support... " >&6; } if test ${op_cv_neon_fp_support+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test "$op_cv_neon_support" = "yes" then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined(__aarch64__) && defined(__ARM_NEON) && (defined(__ARM_NEON_FP) || defined(__ARM_FP)) #include #else #error "No support for __aarch64__ or NEON FP" #endif int main (void) { #if defined(__aarch64__) && defined(__ARM_NEON) && (defined(__ARM_NEON_FP) || defined(__ARM_FP)) float32x4_t vA; vA = vmovq_n_f32(0) #endif ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : op_cv_neon_fp_support=yes else case e in @%:@( e) op_cv_neon_fp_support=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $op_cv_neon_fp_support" >&5 printf "%s\n" "$op_cv_neon_fp_support" >&6; } # # Check for SVE support # { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SVE support" >&5 printf %s "checking for SVE support... " >&6; } if test ${op_cv_sve_support+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test "$op_cv_neon_support" = "yes" then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined(__aarch64__) && defined(__ARM_FEATURE_SVE) #include #else #error "No support for __aarch64__ or SVE" #endif int main (void) { #if defined(__aarch64__) && defined(_ARM_FEATURE_SVE) svfloat32_t vA; vA = svdup_n_f32(0) #endif ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : op_cv_sve_support=yes else case e in @%:@( e) op_cv_sve_support=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $op_cv_sve_support" >&5 printf "%s\n" "$op_cv_sve_support" >&6; } fi if test "$op_cv_neon_support" = "yes"; then MCA_BUILD_ompi_op_has_neon_support_TRUE= MCA_BUILD_ompi_op_has_neon_support_FALSE='#' else MCA_BUILD_ompi_op_has_neon_support_TRUE='#' MCA_BUILD_ompi_op_has_neon_support_FALSE= fi if test "$op_cv_neon_fp_support" = "yes"; then MCA_BUILD_ompi_op_has_neon_fp_support_TRUE= MCA_BUILD_ompi_op_has_neon_fp_support_FALSE='#' else MCA_BUILD_ompi_op_has_neon_fp_support_TRUE='#' MCA_BUILD_ompi_op_has_neon_fp_support_FALSE= fi if test "$op_cv_sve_support" = "yes"; then MCA_BUILD_ompi_op_has_sve_support_TRUE= MCA_BUILD_ompi_op_has_sve_support_FALSE='#' else MCA_BUILD_ompi_op_has_sve_support_TRUE='#' MCA_BUILD_ompi_op_has_sve_support_FALSE= fi if test "$op_cv_neon_support" = "yes" then : printf "%s\n" "@%:@define OMPI_MCA_OP_HAVE_NEON 1" >>confdefs.h fi if test "$op_cv_neon_fp_support" = "yes" then : printf "%s\n" "@%:@define OMPI_MCA_OP_HAVE_NEON_FP 1" >>confdefs.h fi if test "$op_cv_sve_support" = "yes" then : printf "%s\n" "@%:@define OMPI_MCA_OP_HAVE_SVE 1" >>confdefs.h fi # If we have at least support for Neon if test "$op_cv_neon_support" = "yes" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/op/aarch64/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components aarch64" if test "$compile_mode" = "dso" ; then dso_components="$dso_components aarch64" else if test "op" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/op/aarch64/lib${OMPI_LIB_NAME}mca_op_aarch64.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/op/aarch64/libmca_op_aarch64.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_op_aarch64_component;" >> $outfile.extern echo " &mca_op_aarch64_component, " >> $outfile.struct static_components="$static_components aarch64" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component op:aarch64 can compile" >&5 printf %s "checking if MCA component op:aarch64 can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_op" = "aarch64" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_op_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** op component aarch64 was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_op" = "aarch64" ; then as_fn_error $? "*** op component aarch64 was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${op_aarch64_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${op_aarch64_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${op_aarch64_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${op_aarch64_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${op_aarch64_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${op_aarch64_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$op_aarch64_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $op_aarch64_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring op_aarch64_WRAPPER_EXTRA_CPPFLAGS ($op_aarch64_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring op_aarch64_WRAPPER_EXTRA_CPPFLAGS ($op_aarch64_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component op:aarch64 can compile" >&5 printf %s "checking if MCA component op:aarch64 can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_op" = "aarch64" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"aarch64\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"aarch64\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_op" ; then if test "$DIRECT_op" = "aarch64" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"aarch64\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"aarch64\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components aarch64" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_ompi_op_aarch64_DSO=1 else case e in @%:@( e) BUILD_ompi_op_aarch64_DSO=0 ;; esac fi if test "$BUILD_ompi_op_aarch64_DSO" = "1"; then MCA_BUILD_ompi_op_aarch64_DSO_TRUE= MCA_BUILD_ompi_op_aarch64_DSO_FALSE='#' else MCA_BUILD_ompi_op_aarch64_DSO_TRUE='#' MCA_BUILD_ompi_op_aarch64_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component op:avx (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/ompi/mca/op/avx" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_op" ; then if test "$DIRECT_op" = "avx" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_op" = "1" then : want_component=0 fi if test "${DISABLE_op_avx}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${ompi_op_avx_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_op" SHARED_COMPONENT="$DSO_op_avx" STATIC_FRAMEWORK="$STATIC_op" STATIC_COMPONENT="$STATIC_op_avx" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_op_avx_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component op:avx compile mode" >&5 printf %s "checking for MCA component op:avx compile mode... " >&6; } if test "$DIRECT_op" = "avx" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_op_avx_compile_mode # try to configure the component ac_config_files="$ac_config_files ompi/mca/op/avx/Makefile" MCA_BUILD_OP_AVX_FLAGS="" MCA_BUILD_OP_AVX2_FLAGS="" MCA_BUILD_OP_AVX512_FLAGS="" op_sse3_support=0 op_sse41_support=0 op_avx_support=0 op_avx2_support=0 op_avx512_support=0 opal_var_scope_push ${LINENO} op_avx_cflags_save case "${host}" in x86_64-*x32|i?86-*|x86_64*|amd64*) check_avx="yes";; *) check_avx="no";; esac if test "$check_avx" = "yes" then : ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # # Check for AVX512 support # { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for AVX512 support" >&5 printf %s "checking for AVX512 support... " >&6; } if test ${ompi_cv_op_avx_check_avx512+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) ompi_cv_op_avx_check_avx512=yes ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_op_avx_check_avx512" >&5 printf "%s\n" "$ompi_cv_op_avx_check_avx512" >&6; } if test "$ompi_cv_op_avx_check_avx512" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for AVX512 support (no additional flags)" >&5 printf %s "checking for AVX512 support (no additional flags)... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #if defined(__ICC) && !defined(__AVX512F__) #error "icc needs the -m flags to provide the AVX* detection macros" #endif __m512 vA, vB; _mm512_add_ps(vA, vB) ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : op_avx512_support=1 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext if test $op_avx512_support -eq 0 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for AVX512 support (with -mavx512f -mavx512bw -mavx512vl -mavx512dq)" >&5 printf %s "checking for AVX512 support (with -mavx512f -mavx512bw -mavx512vl -mavx512dq)... " >&6; } op_avx_cflags_save="$CFLAGS" CFLAGS="-mavx512f -mavx512bw -mavx512vl -mavx512dq $CFLAGS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #if defined(__ICC) && !defined(__AVX512F__) #error "icc needs the -m flags to provide the AVX* detection macros" #endif __m512 vA, vB; _mm512_add_ps(vA, vB) ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : op_avx512_support=1 MCA_BUILD_OP_AVX512_FLAGS="-mavx512f -mavx512bw -mavx512vl -mavx512dq" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext CFLAGS="$op_avx_cflags_save" fi # # Some combination of gcc and older as would not correctly build the code generated by # _mm256_loadu_si256. Screen them out. # if test $op_avx512_support -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if _mm512_loadu_si512 generates code that can be compiled" >&5 printf %s "checking if _mm512_loadu_si512 generates code that can be compiled... " >&6; } op_avx_cflags_save="$CFLAGS" CFLAGS="$CFLAGS_WITHOUT_OPTFLAGS -O0 $MCA_BUILD_OP_AVX512_FLAGS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #if defined(__ICC) && !defined(__AVX512F__) #error "icc needs the -m flags to provide the AVX* detection macros" #endif int A[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; __m512i vA = _mm512_loadu_si512((__m512i*)&(A[1])) ; 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; } else case e in @%:@( e) op_avx512_support=0 MCA_BUILD_OP_AVX512_FLAGS="" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext CFLAGS="$op_avx_cflags_save" fi # # Some PGI compilers do not define _mm512_mullo_epi64. Screen them out. # if test $op_avx512_support -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if _mm512_mullo_epi64 generates code that can be compiled" >&5 printf %s "checking if _mm512_mullo_epi64 generates code that can be compiled... " >&6; } op_avx_cflags_save="$CFLAGS" CFLAGS="$CFLAGS_WITHOUT_OPTFLAGS -O0 $MCA_BUILD_OP_AVX512_FLAGS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #if defined(__ICC) && !defined(__AVX512F__) #error "icc needs the -m flags to provide the AVX* detection macros" #endif __m512i vA, vB; _mm512_mullo_epi64(vA, vB) ; 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; } else case e in @%:@( e) op_avx512_support=0 MCA_BUILD_OP_AVX512_FLAGS="" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext CFLAGS="$op_avx_cflags_save" fi # # Check for combination of AVX512F + AVX512VL # if test $op_avx512_support -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if _mm_max_epi64 generates code that can be compiled" >&5 printf %s "checking if _mm_max_epi64 generates code that can be compiled... " >&6; } op_avx_cflags_save="$CFLAGS" CFLAGS="$CFLAGS_WITHOUT_OPTFLAGS -O0 $MCA_BUILD_OP_AVX512_FLAGS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #if !defined(__AVX512F__) || !defined(__AVX512VL__) || !defined(__AVX512BW__) #error "icc needs the -m flags to provide the AVX* detection macros" #endif __m128i vA, vB; _mm_max_epi64(vA, vB) ; 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; } else case e in @%:@( e) op_avx512_support=0 MCA_BUILD_OP_AVX512_FLAGS="" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext CFLAGS="$op_avx_cflags_save" fi fi # # Check support for AVX2 # { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for AVX2 support" >&5 printf %s "checking for AVX2 support... " >&6; } if test ${ompi_cv_op_avx_check_avx2+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) ompi_cv_op_avx_check_avx2=yes ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_op_avx_check_avx2" >&5 printf "%s\n" "$ompi_cv_op_avx_check_avx2" >&6; } if test "$ompi_cv_op_avx_check_avx2" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for AVX2 support (no additional flags)" >&5 printf %s "checking for AVX2 support (no additional flags)... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #if defined(__ICC) && !defined(__AVX2__) #error "icc needs the -m flags to provide the AVX* detection macros" #endif __m256i vA, vB, vC; vC = _mm256_and_si256(vA, vB) ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : op_avx2_support=1 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext if test $op_avx2_support -eq 0 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for AVX2 support (with -mavx2)" >&5 printf %s "checking for AVX2 support (with -mavx2)... " >&6; } op_avx_cflags_save="$CFLAGS" CFLAGS="-mavx2 $CFLAGS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #if defined(__ICC) && !defined(__AVX2__) #error "icc needs the -m flags to provide the AVX* detection macros" #endif __m256i vA, vB, vC; vC = _mm256_and_si256(vA, vB) ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : op_avx2_support=1 MCA_BUILD_OP_AVX2_FLAGS="-mavx2" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext CFLAGS="$op_avx_cflags_save" fi # # Some combination of gcc and older as would not correctly build the code generated by # _mm256_loadu_si256. Screen them out. # if test $op_avx2_support -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if _mm256_loadu_si256 generates code that can be compiled" >&5 printf %s "checking if _mm256_loadu_si256 generates code that can be compiled... " >&6; } op_avx_cflags_save="$CFLAGS" CFLAGS="$CFLAGS_WITHOUT_OPTFLAGS -O0 $MCA_BUILD_OP_AVX2_FLAGS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #if defined(__ICC) && !defined(__AVX2__) #error "icc needs the -m flags to provide the AVX* detection macros" #endif int A[8] = {0, 1, 2, 3, 4, 5, 6, 7}; __m256i vA = _mm256_loadu_si256((__m256i*)&A) ; 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; } else case e in @%:@( e) op_avx2_support=0 MCA_BUILD_OP_AVX2_FLAGS="" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext CFLAGS="$op_avx_cflags_save" fi fi # # What about early AVX support? The rest of the logic is slightly different as # we need to include some of the SSE4.1 and SSE3 instructions. So, we first check # if we can compile AVX code without a flag, then we validate that we have support # for the SSE4.1 and SSE3 instructions we need. If not, we check for the usage of # the AVX flag, and then recheck if we have support for the SSE4.1 and SSE3 # instructions. # { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for AVX support" >&5 printf %s "checking for AVX support... " >&6; } if test ${ompi_cv_op_avx_check_avx+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) ompi_cv_op_avx_check_avx=yes ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_op_avx_check_avx" >&5 printf "%s\n" "$ompi_cv_op_avx_check_avx" >&6; } if test "$ompi_cv_op_avx_check_avx" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for AVX support (no additional flags)" >&5 printf %s "checking for AVX support (no additional flags)... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #if defined(__ICC) && !defined(__AVX__) #error "icc needs the -m flags to provide the AVX* detection macros" #endif __m256 vA, vB, vC; vC = _mm256_add_ps(vA, vB) ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : op_avx_support=1 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext fi # # Check for SSE4.1 support # { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SSE4.1 support" >&5 printf %s "checking for SSE4.1 support... " >&6; } if test ${ompi_cv_op_avx_check_sse41+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) ompi_cv_op_avx_check_sse41=yes ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_op_avx_check_sse41" >&5 printf "%s\n" "$ompi_cv_op_avx_check_sse41" >&6; } if test $op_avx_support -eq 1 && test "$ompi_cv_op_avx_check_sse41" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SSE4.1 support" >&5 printf %s "checking for SSE4.1 support... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #if defined(__ICC) && !defined(__SSE4_1__) #error "icc needs the -m flags to provide the AVX* detection macros" #endif __m128i vA, vB; (void)_mm_max_epi8(vA, vB) ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : op_sse41_support=1 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext fi # # Check for SSE3 support # { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SSE3 support" >&5 printf %s "checking for SSE3 support... " >&6; } if test ${ompi_cv_op_avx_check_sse3+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) ompi_cv_op_avx_check_sse3=yes ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_cv_op_avx_check_sse3" >&5 printf "%s\n" "$ompi_cv_op_avx_check_sse3" >&6; } if test $op_avx_support -eq 1 && test "$ompi_cv_op_avx_check_sse3" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SSE3 support" >&5 printf %s "checking for SSE3 support... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #if defined(__ICC) && !defined(__SSE3__) #error "icc needs the -m flags to provide the AVX* detection macros" #endif int A[4] = {0, 1, 2, 3}; __m128i vA = _mm_lddqu_si128((__m128i*)&A) ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : op_sse3_support=1 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext fi # Second pass, do we need to add the AVX flag ? if test $op_avx_support -eq 0 || test $op_sse41_support -eq 0 || test $op_sse3_support -eq 0 then : if test "$ompi_cv_op_avx_check_avx" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for AVX support (with -mavx)" >&5 printf %s "checking for AVX support (with -mavx)... " >&6; } op_avx_cflags_save="$CFLAGS" CFLAGS="-mavx $CFLAGS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { __m256 vA, vB, vC; #if defined(__ICC) && !defined(__AVX__) #error "icc needs the -m flags to provide the AVX* detection macros" #endif vC = _mm256_add_ps(vA, vB) ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : op_avx_support=1 MCA_BUILD_OP_AVX_FLAGS="-mavx" op_sse41_support=0 op_sse3_support=0 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext fi if test "$ompi_cv_op_avx_check_sse41" = "yes" && test $op_sse41_support -eq 0 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SSE4.1 support" >&5 printf %s "checking for SSE4.1 support... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #if defined(__ICC) && !defined(__SSE4_1__) #error "icc needs the -m flags to provide the AVX* detection macros" #endif __m128i vA, vB; (void)_mm_max_epi8(vA, vB) ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : op_sse41_support=1 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext fi if test "$ompi_cv_op_avx_check_sse3" = "yes" && test $op_sse3_support -eq 0 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SSE3 support" >&5 printf %s "checking for SSE3 support... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #if defined(__ICC) && !defined(__SSE3__) #error "icc needs the -m flags to provide the AVX* detection macros" #endif int A[4] = {0, 1, 2, 3}; __m128i vA = _mm_lddqu_si128((__m128i*)&A) ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : op_sse3_support=1 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext fi CFLAGS="$op_avx_cflags_save" 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_MCA_OP_HAVE_AVX512 $op_avx512_support" >>confdefs.h printf "%s\n" "@%:@define OMPI_MCA_OP_HAVE_AVX2 $op_avx2_support" >>confdefs.h printf "%s\n" "@%:@define OMPI_MCA_OP_HAVE_AVX $op_avx_support" >>confdefs.h printf "%s\n" "@%:@define OMPI_MCA_OP_HAVE_SSE41 $op_sse41_support" >>confdefs.h printf "%s\n" "@%:@define OMPI_MCA_OP_HAVE_SSE3 $op_sse3_support" >>confdefs.h if test "$op_avx512_support" = "1"; then MCA_BUILD_ompi_op_has_avx512_support_TRUE= MCA_BUILD_ompi_op_has_avx512_support_FALSE='#' else MCA_BUILD_ompi_op_has_avx512_support_TRUE='#' MCA_BUILD_ompi_op_has_avx512_support_FALSE= fi if test "$op_avx2_support" = "1"; then MCA_BUILD_ompi_op_has_avx2_support_TRUE= MCA_BUILD_ompi_op_has_avx2_support_FALSE='#' else MCA_BUILD_ompi_op_has_avx2_support_TRUE='#' MCA_BUILD_ompi_op_has_avx2_support_FALSE= fi if test "$op_avx_support" = "1"; then MCA_BUILD_ompi_op_has_avx_support_TRUE= MCA_BUILD_ompi_op_has_avx_support_FALSE='#' else MCA_BUILD_ompi_op_has_avx_support_TRUE='#' MCA_BUILD_ompi_op_has_avx_support_FALSE= fi if test "$op_sse41_support" = "1"; then MCA_BUILD_ompi_op_has_sse41_support_TRUE= MCA_BUILD_ompi_op_has_sse41_support_FALSE='#' else MCA_BUILD_ompi_op_has_sse41_support_TRUE='#' MCA_BUILD_ompi_op_has_sse41_support_FALSE= fi if test "$op_sse3_support" = "1"; then MCA_BUILD_ompi_op_has_sse3_support_TRUE= MCA_BUILD_ompi_op_has_sse3_support_FALSE='#' else MCA_BUILD_ompi_op_has_sse3_support_TRUE='#' MCA_BUILD_ompi_op_has_sse3_support_FALSE= fi opal_var_scope_pop op_avx_cflags_save # Enable this component iff we have at least the most basic form of support # for vectorial ISA if test $op_avx_support -eq 1 || test $op_avx2_support -eq 1 || test $op_avx512_support -eq 1 then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/op/avx/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components avx" if test "$compile_mode" = "dso" ; then dso_components="$dso_components avx" else if test "op" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/op/avx/lib${OMPI_LIB_NAME}mca_op_avx.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/op/avx/libmca_op_avx.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_op_avx_component;" >> $outfile.extern echo " &mca_op_avx_component, " >> $outfile.struct static_components="$static_components avx" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component op:avx can compile" >&5 printf %s "checking if MCA component op:avx can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_op" = "avx" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_op_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** op component avx was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_op" = "avx" ; then as_fn_error $? "*** op component avx was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${op_avx_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${op_avx_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${op_avx_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${op_avx_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${op_avx_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${op_avx_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$op_avx_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $op_avx_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring op_avx_WRAPPER_EXTRA_CPPFLAGS ($op_avx_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring op_avx_WRAPPER_EXTRA_CPPFLAGS ($op_avx_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component op:avx can compile" >&5 printf %s "checking if MCA component op:avx can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_op" = "avx" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"avx\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"avx\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_op" ; then if test "$DIRECT_op" = "avx" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"avx\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"avx\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components avx" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_ompi_op_avx_DSO=1 else case e in @%:@( e) BUILD_ompi_op_avx_DSO=0 ;; esac fi if test "$BUILD_ompi_op_avx_DSO" = "1"; then MCA_BUILD_ompi_op_avx_DSO_TRUE= MCA_BUILD_ompi_op_avx_DSO_FALSE='#' else MCA_BUILD_ompi_op_avx_DSO_TRUE='#' MCA_BUILD_ompi_op_avx_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test ${DIRECT_op+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for op framework" >&5 printf %s "checking if direct-selection component exists for op framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_op" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_op requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_op" >&5 printf "%s\n" "$DIRECT_op" >&6; } fi MCA_ompi_op_ALL_COMPONENTS="$all_components" MCA_ompi_op_STATIC_COMPONENTS="$static_components" MCA_ompi_op_DSO_COMPONENTS="$dso_components" MCA_ompi_op_STATIC_LTLIBS="$static_ltlibs" MCA_ompi_op_ALL_SUBDIRS= for item in $all_components ; do MCA_ompi_op_ALL_SUBDIRS="$MCA_ompi_op_ALL_SUBDIRS mca/op/$item" done MCA_ompi_op_STATIC_SUBDIRS= for item in $static_components ; do MCA_ompi_op_STATIC_SUBDIRS="$MCA_ompi_op_STATIC_SUBDIRS mca/op/$item" done MCA_ompi_op_DSO_SUBDIRS= for item in $dso_components ; do MCA_ompi_op_DSO_SUBDIRS="$MCA_ompi_op_DSO_SUBDIRS mca/op/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "op" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real MCA_ompi_FRAMEWORKS="$MCA_ompi_FRAMEWORKS osc" MCA_ompi_FRAMEWORKS_SUBDIRS="$MCA_ompi_FRAMEWORKS_SUBDIRS mca/osc" MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_ompi_osc_ALL_SUBDIRS)" MCA_ompi_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_ompi_osc_DSO_SUBDIRS)" MCA_ompi_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_ompi_osc_STATIC_SUBDIRS)" mca_ompi_framework_base_lib="mca/osc/libmca_osc.la" MCA_ompi_FRAMEWORK_LIBS="$MCA_ompi_FRAMEWORK_LIBS ${mca_ompi_framework_base_lib} \$(MCA_ompi_osc_STATIC_LTLIBS)" opal_show_subsubtitle "Configuring MCA framework osc" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=ompi/mca/osc/base as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files ompi/mca/osc/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework osc" >&5 printf %s "checking for no configure components in framework osc... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: sm" >&5 printf "%s\n" "sm" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework osc" >&5 printf %s "checking for m4 configure components in framework osc... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: monitoring, portals4, rdma, ucx" >&5 printf "%s\n" "monitoring, portals4, rdma, ucx" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components opal_show_subsubsubtitle "MCA component osc:sm (no configuration)" opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: before, should_build=1" component_path="$srcdir/ompi/mca/osc/sm" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_osc" ; then if test "$DIRECT_osc" = "sm" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_osc" = "1" then : want_component=0 fi if test "${DISABLE_osc_sm}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=1 else case e in @%:@( e) should_build=0 ;; esac fi if test ${ompi_osc_sm_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_osc" SHARED_COMPONENT="$DSO_osc_sm" STATIC_FRAMEWORK="$STATIC_osc" STATIC_COMPONENT="$STATIC_osc_sm" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_osc_sm_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component osc:sm compile mode" >&5 printf %s "checking for MCA component osc:sm compile mode... " >&6; } if test "$DIRECT_osc" = "sm" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_osc_sm_compile_mode opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" ; then # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/osc/sm/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components sm" if test "$compile_mode" = "dso" ; then dso_components="$dso_components sm" else if test "osc" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/osc/sm/lib${OMPI_LIB_NAME}mca_osc_sm.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/osc/sm/libmca_osc_sm.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_osc_sm_component;" >> $outfile.extern echo " &mca_osc_sm_component, " >> $outfile.struct static_components="$static_components sm" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component osc:sm can compile" >&5 printf %s "checking if MCA component osc:sm can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_osc" = "sm" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_osc_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** osc component sm was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_osc" = "sm" ; then as_fn_error $? "*** osc component sm was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${osc_sm_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${osc_sm_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${osc_sm_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${osc_sm_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${osc_sm_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${osc_sm_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$osc_sm_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $osc_sm_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring osc_sm_WRAPPER_EXTRA_CPPFLAGS ($osc_sm_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring osc_sm_WRAPPER_EXTRA_CPPFLAGS ($osc_sm_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component osc:sm can compile" >&5 printf %s "checking if MCA component osc:sm can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_osc" = "sm" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"sm\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"sm\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_osc" ; then if test "$DIRECT_osc" = "sm" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"sm\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"sm\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components sm" fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" ; then BUILD_ompi_osc_sm_DSO=1 else BUILD_ompi_osc_sm_DSO=0 fi if test "$BUILD_ompi_osc_sm_DSO" = "1"; then MCA_BUILD_ompi_osc_sm_DSO_TRUE= MCA_BUILD_ompi_osc_sm_DSO_FALSE='#' else MCA_BUILD_ompi_osc_sm_DSO_TRUE='#' MCA_BUILD_ompi_osc_sm_DSO_FALSE= fi ac_config_files="$ac_config_files ompi/mca/osc/sm/Makefile" unset compile_mode # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=1 components_last_result=0 opal_show_subsubsubtitle "MCA component osc:monitoring (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/ompi/mca/osc/monitoring" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_osc" ; then if test "$DIRECT_osc" = "monitoring" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_osc" = "1" then : want_component=0 fi if test "${DISABLE_osc_monitoring}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${ompi_osc_monitoring_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_osc" SHARED_COMPONENT="$DSO_osc_monitoring" STATIC_FRAMEWORK="$STATIC_osc" STATIC_COMPONENT="$STATIC_osc_monitoring" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_osc_monitoring_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component osc:monitoring compile mode" >&5 printf %s "checking for MCA component osc:monitoring compile mode... " >&6; } if test "$DIRECT_osc" = "monitoring" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_osc_monitoring_compile_mode # try to configure the component ac_config_files="$ac_config_files ompi/mca/osc/monitoring/Makefile" should_build=$should_build ac_config_commands="$ac_config_commands ompi/mca/osc/monitoring/osc_monitoring_template_gen.h" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/osc/monitoring/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components monitoring" if test "$compile_mode" = "dso" ; then dso_components="$dso_components monitoring" else if test "osc" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/osc/monitoring/lib${OMPI_LIB_NAME}mca_osc_monitoring.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/osc/monitoring/libmca_osc_monitoring.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_osc_monitoring_component;" >> $outfile.extern echo " &mca_osc_monitoring_component, " >> $outfile.struct static_components="$static_components monitoring" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component osc:monitoring can compile" >&5 printf %s "checking if MCA component osc:monitoring can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_osc" = "monitoring" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_osc_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** osc component monitoring was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_osc" = "monitoring" ; then as_fn_error $? "*** osc component monitoring was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${osc_monitoring_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${osc_monitoring_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${osc_monitoring_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${osc_monitoring_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${osc_monitoring_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${osc_monitoring_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$osc_monitoring_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $osc_monitoring_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring osc_monitoring_WRAPPER_EXTRA_CPPFLAGS ($osc_monitoring_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring osc_monitoring_WRAPPER_EXTRA_CPPFLAGS ($osc_monitoring_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component osc:monitoring can compile" >&5 printf %s "checking if MCA component osc:monitoring can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_osc" = "monitoring" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"monitoring\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"monitoring\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_osc" ; then if test "$DIRECT_osc" = "monitoring" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"monitoring\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"monitoring\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components monitoring" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_ompi_osc_monitoring_DSO=1 else case e in @%:@( e) BUILD_ompi_osc_monitoring_DSO=0 ;; esac fi if test "$BUILD_ompi_osc_monitoring_DSO" = "1"; then MCA_BUILD_ompi_osc_monitoring_DSO_TRUE= MCA_BUILD_ompi_osc_monitoring_DSO_FALSE='#' else MCA_BUILD_ompi_osc_monitoring_DSO_TRUE='#' MCA_BUILD_ompi_osc_monitoring_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component osc:portals4 (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/ompi/mca/osc/portals4" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_osc" ; then if test "$DIRECT_osc" = "portals4" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_osc" = "1" then : want_component=0 fi if test "${DISABLE_osc_portals4}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${ompi_osc_portals4_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_osc" SHARED_COMPONENT="$DSO_osc_portals4" STATIC_FRAMEWORK="$STATIC_osc" STATIC_COMPONENT="$STATIC_osc_portals4" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_osc_portals4_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component osc:portals4 compile mode" >&5 printf %s "checking for MCA component osc:portals4 compile mode... " >&6; } if test "$DIRECT_osc" = "portals4" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_osc_portals4_compile_mode # try to configure the component ac_config_files="$ac_config_files ompi/mca/osc/portals4/Makefile" opal_var_scope_push ${LINENO} ompi_check_portals4_happy max_md_size max_va_size @%:@ Check whether --with-portals4 was given. if test ${with_portals4+y} then : withval=$with_portals4; fi @%:@ Check whether --with-portals4-libdir was given. if test ${with_portals4_libdir+y} then : withval=$with_portals4_libdir; fi # ****************************** START CHECK PACKAGE FOR portals4 ****************************** oac_var_scope_push ${LINENO} check_package_osc_portals4_save_CPPFLAGS check_package_osc_portals4_save_LDFLAGS check_package_osc_portals4_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_osc_portals4_save_CPPFLAGS="${CPPFLAGS}" check_package_osc_portals4_save_LDFLAGS="${LDFLAGS}" check_package_osc_portals4_save_LIBS="${LIBS}" osc_portals4_CPPFLAGS= osc_portals4_LDFLAGS= osc_portals4_STATIC_LDFLAGS= osc_portals4_LIBS= osc_portals4_STATIC_LIBS= { osc_portals4_PC_MODULES=; unset osc_portals4_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_portals4" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package portals4 disabled by user" >&5 printf "%s\n" "$as_me: Package portals4 disabled by user" >&6;} check_package_happy=0 elif test "${with_portals4}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_portals4}" ;; esac fi check_package_libdir= if test "${with_portals4_libdir}" = "no" -o "${with_portals4_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-portals4-libdir" "$LINENO" 5 elif test -n "${with_portals4_libdir}" then : check_package_libdir="${with_portals4_libdir}" fi check_package_incdir= if test "${with_portals4_incdir}" = "no" -o "${with_portals4_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-portals4-incdir" "$LINENO" 5 elif test -n "${with_portals4_incdir}" then : check_package_incdir="${with_portals4_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${portals4_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-portals4 or --with-portals4-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-portals4 only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 pkg-config name" >&5 printf %s "checking for portals4 pkg-config name... " >&6; } if test ${oac_cv_check_package_portals4_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_portals4_pcfilename="portals4" if test -n "${check_package_libdir}" then : oac_cv_check_package_portals4_pcfilename="${check_package_libdir}/pkgconfig/portals4.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_portals4_pcfilename="portals4" elif test -r "${check_package_prefix}/lib/pkgconfig/portals4.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/portals4.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found portals4 in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-portals4-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_portals4_pcfilename="${check_package_prefix}/lib/pkgconfig/portals4.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/portals4.pc" then : oac_cv_check_package_portals4_pcfilename="${check_package_prefix}/lib64/pkgconfig/portals4.pc" else case e in @%:@( e) oac_cv_check_package_portals4_pcfilename="${check_package_prefix}/lib/pkgconfig/portals4.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_portals4_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if portals4 pkg-config module exists" >&5 printf %s "checking if portals4 pkg-config module exists... " >&6; } if test ${oac_cv_check_package_portals4_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_portals4_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_portals4_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : osc_portals4_PC_MODULES=${oac_cv_check_package_portals4_pcfilename} oac_cv_check_package_portals4_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_portals4_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_portals4_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_portals4_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 pkg-config cflags" >&5 printf %s "checking for portals4 pkg-config cflags... " >&6; } if test ${oac_cv_check_package_portals4_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_portals4_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_portals4_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_portals4_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_portals4_pkg_config_cppflags" >&6; } osc_portals4_CPPFLAGS="${oac_cv_check_package_portals4_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 pkg-config ldflags" >&5 printf %s "checking for portals4 pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_portals4_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_portals4_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_portals4_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_portals4_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_portals4_pkg_config_ldflags" >&6; } osc_portals4_LDFLAGS="${oac_cv_check_package_portals4_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 pkg-config static ldflags" >&5 printf %s "checking for portals4 pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_portals4_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_portals4_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_portals4_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_portals4_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_portals4_pkg_config_static_ldflags" >&6; } osc_portals4_STATIC_LDFLAGS="${oac_cv_check_package_portals4_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 pkg-config libs" >&5 printf %s "checking for portals4 pkg-config libs... " >&6; } if test ${oac_cv_check_package_portals4_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_portals4_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_portals4_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_portals4_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_portals4_pkg_config_libs" >&6; } osc_portals4_LIBS="${oac_cv_check_package_portals4_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 pkg-config static libs" >&5 printf %s "checking for portals4 pkg-config static libs... " >&6; } if test ${oac_cv_check_package_portals4_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_portals4_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_portals4_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_portals4_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_portals4_pkg_config_static_libs" >&6; } osc_portals4_STATIC_LIBS="${oac_cv_check_package_portals4_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${portals4_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-portals4 argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 wrapper compiler" >&5 printf %s "checking for portals4 wrapper compiler... " >&6; } if test ${oac_cv_check_package_portals4_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_portals4_wrapper_compiler="portals4cc" else case e in @%:@( e) oac_cv_check_package_portals4_wrapper_compiler="${check_package_prefix}/bin/portals4cc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_portals4_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if portals4 wrapper compiler works" >&5 printf %s "checking if portals4 wrapper compiler works... " >&6; } if test ${oac_cv_check_package_portals4_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_portals4_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_portals4_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_portals4_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_portals4_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 wrapper compiler cppflags" >&5 printf %s "checking for portals4 wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_portals4_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_portals4_wrapper_compiler_cppflags}" then : oac_cv_check_package_portals4_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_portals4_wrapper_compiler_cppflags="${oac_cv_check_package_portals4_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_portals4_wrapper_compiler_cppflags" >&6; } osc_portals4_CPPFLAGS="${oac_cv_check_package_portals4_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 wrapper compiler ldflags" >&5 printf %s "checking for portals4 wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_portals4_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_portals4_wrapper_compiler_ldflags}" then : oac_cv_check_package_portals4_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_portals4_wrapper_compiler_ldflags="${oac_cv_check_package_portals4_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_portals4_wrapper_compiler_ldflags" >&6; } osc_portals4_LDFLAGS="${oac_cv_check_package_portals4_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 wrapper compiler static ldflags" >&5 printf %s "checking for portals4 wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_portals4_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_portals4_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_portals4_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_portals4_wrapper_compiler_static_ldflags="${oac_cv_check_package_portals4_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_portals4_wrapper_compiler_static_ldflags" >&6; } osc_portals4_STATIC_LDFLAGS="${oac_cv_check_package_portals4_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 wrapper compiler libs" >&5 printf %s "checking for portals4 wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_portals4_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_portals4_wrapper_compiler_libs}" then : oac_cv_check_package_portals4_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_portals4_wrapper_compiler_libs="${oac_cv_check_package_portals4_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_portals4_wrapper_compiler_libs" >&6; } osc_portals4_LIBS="$oac_cv_check_package_portals4_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 wrapper compiler static libs" >&5 printf %s "checking for portals4 wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_portals4_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_portals4_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_portals4_wrapper_compiler_static_libs}" then : oac_cv_check_package_portals4_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_portals4_wrapper_compiler_static_libs="${oac_cv_check_package_portals4_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving portals4 static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_portals4_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_portals4_wrapper_compiler_static_libs" >&6; } osc_portals4_STATIC_LIBS="${oac_cv_check_package_portals4_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "portals4.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "portals" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 header at ${check_package_generic_incdir}" >&5 printf %s "checking for portals4 header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 osc_portals4_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for portals4 library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 osc_portals4_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for portals4 library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-portals4-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 osc_portals4_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 osc_portals4_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 osc_portals4_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for portals4 in default search paths" >&5 printf "%s\n" "$as_me: Searching for portals4 in default search paths" >&6;} portals4_CPPFLAGS= portals4_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in portals ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${osc_portals4_LIBS}" then : osc_portals4_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) osc_portals4_LIBS="${osc_portals4_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${osc_portals4_STATIC_LIBS}" then : osc_portals4_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) osc_portals4_STATIC_LIBS="${osc_portals4_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 cppflags" >&5 printf %s "checking for portals4 cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $osc_portals4_CPPFLAGS" >&5 printf "%s\n" "$osc_portals4_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 ldflags" >&5 printf %s "checking for portals4 ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $osc_portals4_LDFLAGS" >&5 printf "%s\n" "$osc_portals4_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 libs" >&5 printf %s "checking for portals4 libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $osc_portals4_LIBS" >&5 printf "%s\n" "$osc_portals4_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for portals4 static libs" >&5 printf %s "checking for portals4 static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $osc_portals4_STATIC_LIBS" >&5 printf "%s\n" "$osc_portals4_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${osc_portals4_LDFLAGS}" then : osc_portals4_LDFLAGS="${osc_portals4_STATIC_LDFLAGS}" else case e in @%:@( e) osc_portals4_LDFLAGS="${osc_portals4_LDFLAGS} ${osc_portals4_STATIC_LDFLAGS}" ;; esac fi if test -z "${osc_portals4_LIBS}" then : osc_portals4_LIBS="${osc_portals4_STATIC_LIBS}" else case e in @%:@( e) osc_portals4_LIBS="${osc_portals4_LIBS} ${osc_portals4_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "portals4.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${osc_portals4_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${osc_portals4_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${osc_portals4_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${osc_portals4_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${osc_portals4_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${osc_portals4_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "PtlLEAppend" "ac_cv_func_PtlLEAppend" if test "x$ac_cv_func_PtlLEAppend" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if portals4 requires libnl v1 or v3" >&5 printf %s "checking if portals4 requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_portals4+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void PtlLEAppend (void); int main(int argc, char *argv[]) { PtlLEAppend (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib portals4" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib portals4" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_portals4=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_portals4" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_portals4" >&6; } result_msg=$opal_libnl_sanity_check_cv_portals4 this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, portals4 links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, portals4 links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libportals4 (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libportals4 (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libportals4." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libportals4." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas portals4 requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas portals4 requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libportals4 (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libportals4 (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libportals4." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libportals4." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs portals4" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas portals4 requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas portals4 requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libportals4 (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libportals4 (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libportals4." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libportals4." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs portals4" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi osc_portals4_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : osc_portals4_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) osc_portals4_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi ompi_check_portals4_happy="yes" else case e in @%:@( e) if test "${with_portals4}" = "no" then : osc_portals4_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) osc_portals4_SUMMARY="no (not found)" ;; esac fi { osc_portals4_CPPFLAGS=; unset osc_portals4_CPPFLAGS;} { osc_portals4_LDFLAGS=; unset osc_portals4_LDFLAGS;} { osc_portals4_STATIC_LDFLAGS=; unset osc_portals4_STATIC_LDFLAGS;} { osc_portals4_LIBS=; unset osc_portals4_LIBS;} { osc_portals4_STATIC_LIBS=; unset osc_portals4_STATIC_LIBS;} ompi_check_portals4_happy="no" ;; esac fi CPPFLAGS="${check_package_osc_portals4_save_CPPFLAGS}" LDFLAGS="${check_package_osc_portals4_save_LDFLAGS}" LIBS="${check_package_osc_portals4_save_LIBS}" oac_var_scope_pop check_package_osc_portals4_save_CPPFLAGS check_package_osc_portals4_save_LDFLAGS check_package_osc_portals4_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR portals4 ****************************** max_md_size=0 @%:@ Check whether --with-portals4-max-md-size was given. if test ${with_portals4_max_md_size+y} then : withval=$with_portals4_max_md_size; fi if test "$with_portals4_max_md_size" = "yes" || test "$with_portals4_max_md_size" = "no" then : as_fn_error $? "--with-portals4-max-md-size requires an integer argument" "$LINENO" 5 else case e in @%:@( e) if test -n "$with_portals4_max_md_size" then : max_md_size="$with_portals4_max_md_size" fi ;; esac fi printf "%s\n" "@%:@define OPAL_PORTALS4_MAX_MD_SIZE $max_md_size" >>confdefs.h max_va_size=0 @%:@ Check whether --with-portals4-max-va-size was given. if test ${with_portals4_max_va_size+y} then : withval=$with_portals4_max_va_size; fi if test "$with_portals4_max_va_size" = "yes" || test "$with_portals4_max_va_size" = "no" then : as_fn_error $? "--with-portals4-max-va-size requires an integer argument" "$LINENO" 5 else case e in @%:@( e) if test -n "$with_portals4_max_va_size" then : max_va_size="$with_portals4_max_va_size" fi ;; esac fi printf "%s\n" "@%:@define OPAL_PORTALS4_MAX_VA_SIZE $max_va_size" >>confdefs.h if (test $max_md_size -eq 0 && test $max_va_size -ne 0 ) || (test $max_md_size -ne 0 && test $max_va_size -eq 0 ) then : as_fn_error $? "If either --with-portals4-max-md-size or --with-portals4-max-va-size is set, both must be set." "$LINENO" 5 fi if test $max_md_size -ge $max_va_size then : max_md_size=0 max_va_size=0 fi if test $max_md_size -ne 0 && test $max_va_size -ne 0 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Portals 4 address space size: $max_md_size, $max_va_size" >&5 printf "%s\n" "$as_me: Portals 4 address space size: $max_md_size, $max_va_size" >&6;} fi 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="Portals4: ${osc_portals4_SUMMARY}" oac_summary_key="TransportsPortals4" # Use the section name variable as an indicator for whether or not # the section has already been created. if test ${oac_summary_section_Transports_name+y} then : else case e in @%:@( e) oac_summary_section_Transports_name="Transports" if test -z "${oac_summary_sections}" then : oac_summary_sections="Transports" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} Transports" ;; esac fi ;; esac 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 case e in @%:@( e) eval "${oac_summary_key}=1" if test ${oac_summary_section_Transports_value+y} then : as_fn_append oac_summary_section_Transports_value "${oac_summary_newline}${oac_summary_line}" else case e in @%:@( e) oac_summary_section_Transports_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key if test "$ompi_check_portals4_happy" = "yes" then : osc_portals4_happy="yes" else case e in @%:@( e) if test ! -z "$with_portals4" && test "$with_portals4" != "no" then : as_fn_error $? "Portals4 support requested but not found. Aborting" "$LINENO" 5 fi osc_portals4_happy="no" ;; esac fi opal_var_scope_pop ompi_check_portals4_happy max_md_size max_va_size if test "$osc_portals4_happy" = "yes" then : osc_portals4_WRAPPER_EXTRA_LDFLAGS="$osc_portals4_LDFLAGS" osc_portals4_WRAPPER_EXTRA_LIBS="$osc_portals4_LIBS" should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi # need to propagate CPPFLAGS to all of OMPI if test "$DIRECT_osc" = "portals4" then : CPPFLAGS="$CPPFLAGS $osc_portals4_CPPFLAGS" fi # substitute in the things needed to build portals4 opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/osc/portals4/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components portals4" if test "$compile_mode" = "dso" ; then dso_components="$dso_components portals4" else if test "osc" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/osc/portals4/lib${OMPI_LIB_NAME}mca_osc_portals4.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/osc/portals4/libmca_osc_portals4.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_osc_portals4_component;" >> $outfile.extern echo " &mca_osc_portals4_component, " >> $outfile.struct static_components="$static_components portals4" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component osc:portals4 can compile" >&5 printf %s "checking if MCA component osc:portals4 can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_osc" = "portals4" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_osc_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** osc component portals4 was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_osc" = "portals4" ; then as_fn_error $? "*** osc component portals4 was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${osc_portals4_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${osc_portals4_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${osc_portals4_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${osc_portals4_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${osc_portals4_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${osc_portals4_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$osc_portals4_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $osc_portals4_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring osc_portals4_WRAPPER_EXTRA_CPPFLAGS ($osc_portals4_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring osc_portals4_WRAPPER_EXTRA_CPPFLAGS ($osc_portals4_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component osc:portals4 can compile" >&5 printf %s "checking if MCA component osc:portals4 can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_osc" = "portals4" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"portals4\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"portals4\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_osc" ; then if test "$DIRECT_osc" = "portals4" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"portals4\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"portals4\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components portals4" ;; esac fi if test "$should_build" = "1" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for index in endpoint array for tag PORTALS4" >&5 printf %s "checking for index in endpoint array for tag PORTALS4... " >&6; } if test -z "$OMPI_PROC_ENDPOINT_TAG_PORTALS4" then : OMPI_PROC_ENDPOINT_TAG_PORTALS4=$ompi_endpoint_tag_counter printf "%s\n" "@%:@define OMPI_PROC_ENDPOINT_TAG_PORTALS4 $OMPI_PROC_ENDPOINT_TAG_PORTALS4" >>confdefs.h ompi_endpoint_tag_counter=`expr $ompi_endpoint_tag_counter + 1` fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OMPI_PROC_ENDPOINT_TAG_PORTALS4" >&5 printf "%s\n" "$OMPI_PROC_ENDPOINT_TAG_PORTALS4" >&6; } fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_ompi_osc_portals4_DSO=1 else case e in @%:@( e) BUILD_ompi_osc_portals4_DSO=0 ;; esac fi if test "$BUILD_ompi_osc_portals4_DSO" = "1"; then MCA_BUILD_ompi_osc_portals4_DSO_TRUE= MCA_BUILD_ompi_osc_portals4_DSO_FALSE='#' else MCA_BUILD_ompi_osc_portals4_DSO_TRUE='#' MCA_BUILD_ompi_osc_portals4_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component osc:rdma (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/ompi/mca/osc/rdma" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_osc" ; then if test "$DIRECT_osc" = "rdma" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_osc" = "1" then : want_component=0 fi if test "${DISABLE_osc_rdma}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${ompi_osc_rdma_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_osc" SHARED_COMPONENT="$DSO_osc_rdma" STATIC_FRAMEWORK="$STATIC_osc" STATIC_COMPONENT="$STATIC_osc_rdma" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_osc_rdma_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component osc:rdma compile mode" >&5 printf %s "checking for MCA component osc:rdma compile mode... " >&6; } if test "$DIRECT_osc" = "rdma" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_osc_rdma_compile_mode # try to configure the component ac_config_files="$ac_config_files ompi/mca/osc/rdma/Makefile" should_build=$should_build opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/osc/rdma/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components rdma" if test "$compile_mode" = "dso" ; then dso_components="$dso_components rdma" else if test "osc" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/osc/rdma/lib${OMPI_LIB_NAME}mca_osc_rdma.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/osc/rdma/libmca_osc_rdma.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_osc_rdma_component;" >> $outfile.extern echo " &mca_osc_rdma_component, " >> $outfile.struct static_components="$static_components rdma" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component osc:rdma can compile" >&5 printf %s "checking if MCA component osc:rdma can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_osc" = "rdma" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_osc_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** osc component rdma was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_osc" = "rdma" ; then as_fn_error $? "*** osc component rdma was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${osc_rdma_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${osc_rdma_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${osc_rdma_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${osc_rdma_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${osc_rdma_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${osc_rdma_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$osc_rdma_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $osc_rdma_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring osc_rdma_WRAPPER_EXTRA_CPPFLAGS ($osc_rdma_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring osc_rdma_WRAPPER_EXTRA_CPPFLAGS ($osc_rdma_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component osc:rdma can compile" >&5 printf %s "checking if MCA component osc:rdma can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_osc" = "rdma" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"rdma\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"rdma\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_osc" ; then if test "$DIRECT_osc" = "rdma" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"rdma\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"rdma\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components rdma" ;; esac fi if test "$should_build" = "1" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for index in endpoint array for tag BML" >&5 printf %s "checking for index in endpoint array for tag BML... " >&6; } if test -z "$OMPI_PROC_ENDPOINT_TAG_BML" then : OMPI_PROC_ENDPOINT_TAG_BML=$ompi_endpoint_tag_counter printf "%s\n" "@%:@define OMPI_PROC_ENDPOINT_TAG_BML $OMPI_PROC_ENDPOINT_TAG_BML" >>confdefs.h ompi_endpoint_tag_counter=`expr $ompi_endpoint_tag_counter + 1` fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OMPI_PROC_ENDPOINT_TAG_BML" >&5 printf "%s\n" "$OMPI_PROC_ENDPOINT_TAG_BML" >&6; } fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_ompi_osc_rdma_DSO=1 else case e in @%:@( e) BUILD_ompi_osc_rdma_DSO=0 ;; esac fi if test "$BUILD_ompi_osc_rdma_DSO" = "1"; then MCA_BUILD_ompi_osc_rdma_DSO_TRUE= MCA_BUILD_ompi_osc_rdma_DSO_FALSE='#' else MCA_BUILD_ompi_osc_rdma_DSO_TRUE='#' MCA_BUILD_ompi_osc_rdma_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component osc:ucx (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/ompi/mca/osc/ucx" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_osc" ; then if test "$DIRECT_osc" = "ucx" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_osc" = "1" then : want_component=0 fi if test "${DISABLE_osc_ucx}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${ompi_osc_ucx_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_osc" SHARED_COMPONENT="$DSO_osc_ucx" STATIC_FRAMEWORK="$STATIC_osc" STATIC_COMPONENT="$STATIC_osc_ucx" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_osc_ucx_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component osc:ucx compile mode" >&5 printf %s "checking for MCA component osc:ucx compile mode... " >&6; } if test "$DIRECT_osc" = "ucx" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_osc_ucx_compile_mode # try to configure the component ac_config_files="$ac_config_files ompi/mca/osc/ucx/Makefile" opal_var_scope_push ${LINENO} ompi_check_ucx_happy ompi_check_ucx_CPPFLAGS_save ompi_check_ucx_LDFLAGS_save ompi_check_ucx_LIBS_save @%:@ Check whether --with-ucx was given. if test ${with_ucx+y} then : withval=$with_ucx; fi @%:@ Check whether --with-ucx-libdir was given. if test ${with_ucx_libdir+y} then : withval=$with_ucx_libdir; fi # ****************************** START CHECK PACKAGE FOR ucx ****************************** oac_var_scope_push ${LINENO} check_package_osc_ucx_save_CPPFLAGS check_package_osc_ucx_save_LDFLAGS check_package_osc_ucx_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_osc_ucx_save_CPPFLAGS="${CPPFLAGS}" check_package_osc_ucx_save_LDFLAGS="${LDFLAGS}" check_package_osc_ucx_save_LIBS="${LIBS}" osc_ucx_CPPFLAGS= osc_ucx_LDFLAGS= osc_ucx_STATIC_LDFLAGS= osc_ucx_LIBS= osc_ucx_STATIC_LIBS= { osc_ucx_PC_MODULES=; unset osc_ucx_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_ucx" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package ucx disabled by user" >&5 printf "%s\n" "$as_me: Package ucx disabled by user" >&6;} check_package_happy=0 elif test "${with_ucx}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_ucx}" ;; esac fi check_package_libdir= if test "${with_ucx_libdir}" = "no" -o "${with_ucx_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-ucx-libdir" "$LINENO" 5 elif test -n "${with_ucx_libdir}" then : check_package_libdir="${with_ucx_libdir}" fi check_package_incdir= if test "${with_ucx_incdir}" = "no" -o "${with_ucx_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-ucx-incdir" "$LINENO" 5 elif test -n "${with_ucx_incdir}" then : check_package_incdir="${with_ucx_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${ucx_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-ucx or --with-ucx-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-ucx only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config name" >&5 printf %s "checking for ucx pkg-config name... " >&6; } if test ${oac_cv_check_package_ucx_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_ucx_pcfilename="ucx" if test -n "${check_package_libdir}" then : oac_cv_check_package_ucx_pcfilename="${check_package_libdir}/pkgconfig/ucx.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_ucx_pcfilename="ucx" elif test -r "${check_package_prefix}/lib/pkgconfig/ucx.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/ucx.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found ucx in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-ucx-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_ucx_pcfilename="${check_package_prefix}/lib/pkgconfig/ucx.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/ucx.pc" then : oac_cv_check_package_ucx_pcfilename="${check_package_prefix}/lib64/pkgconfig/ucx.pc" else case e in @%:@( e) oac_cv_check_package_ucx_pcfilename="${check_package_prefix}/lib/pkgconfig/ucx.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ucx pkg-config module exists" >&5 printf %s "checking if ucx pkg-config module exists... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : osc_ucx_PC_MODULES=${oac_cv_check_package_ucx_pcfilename} oac_cv_check_package_ucx_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_ucx_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_ucx_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config cflags" >&5 printf %s "checking for ucx pkg-config cflags... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucx_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_cppflags" >&6; } osc_ucx_CPPFLAGS="${oac_cv_check_package_ucx_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config ldflags" >&5 printf %s "checking for ucx pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucx_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_ldflags" >&6; } osc_ucx_LDFLAGS="${oac_cv_check_package_ucx_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config static ldflags" >&5 printf %s "checking for ucx pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucx_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_static_ldflags" >&6; } osc_ucx_STATIC_LDFLAGS="${oac_cv_check_package_ucx_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config libs" >&5 printf %s "checking for ucx pkg-config libs... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucx_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_libs" >&6; } osc_ucx_LIBS="${oac_cv_check_package_ucx_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config static libs" >&5 printf %s "checking for ucx pkg-config static libs... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucx_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_static_libs" >&6; } osc_ucx_STATIC_LIBS="${oac_cv_check_package_ucx_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${ucx_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-ucx argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler" >&5 printf %s "checking for ucx wrapper compiler... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_ucx_wrapper_compiler="ucxcc" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler="${check_package_prefix}/bin/ucxcc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ucx wrapper compiler works" >&5 printf %s "checking if ucx wrapper compiler works... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_ucx_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_ucx_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler cppflags" >&5 printf %s "checking for ucx wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucx_wrapper_compiler_cppflags}" then : oac_cv_check_package_ucx_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_cppflags="${oac_cv_check_package_ucx_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_cppflags" >&6; } osc_ucx_CPPFLAGS="${oac_cv_check_package_ucx_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler ldflags" >&5 printf %s "checking for ucx wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucx_wrapper_compiler_ldflags}" then : oac_cv_check_package_ucx_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_ldflags="${oac_cv_check_package_ucx_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_ldflags" >&6; } osc_ucx_LDFLAGS="${oac_cv_check_package_ucx_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler static ldflags" >&5 printf %s "checking for ucx wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucx_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_ucx_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_static_ldflags="${oac_cv_check_package_ucx_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_static_ldflags" >&6; } osc_ucx_STATIC_LDFLAGS="${oac_cv_check_package_ucx_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler libs" >&5 printf %s "checking for ucx wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucx_wrapper_compiler_libs}" then : oac_cv_check_package_ucx_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_libs="${oac_cv_check_package_ucx_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_libs" >&6; } osc_ucx_LIBS="$oac_cv_check_package_ucx_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler static libs" >&5 printf %s "checking for ucx wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucx_wrapper_compiler_static_libs}" then : oac_cv_check_package_ucx_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_static_libs="${oac_cv_check_package_ucx_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_static_libs" >&6; } osc_ucx_STATIC_LIBS="${oac_cv_check_package_ucx_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "ucp/api/ucp.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "ucp -luct -lucm -lucs" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx header at ${check_package_generic_incdir}" >&5 printf %s "checking for ucx header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 osc_ucx_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for ucx library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 osc_ucx_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for ucx library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-ucx-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 osc_ucx_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 osc_ucx_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 osc_ucx_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for ucx in default search paths" >&5 printf "%s\n" "$as_me: Searching for ucx in default search paths" >&6;} ucx_CPPFLAGS= ucx_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in ucp -luct -lucm -lucs ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${osc_ucx_LIBS}" then : osc_ucx_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) osc_ucx_LIBS="${osc_ucx_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${osc_ucx_STATIC_LIBS}" then : osc_ucx_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) osc_ucx_STATIC_LIBS="${osc_ucx_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx cppflags" >&5 printf %s "checking for ucx cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $osc_ucx_CPPFLAGS" >&5 printf "%s\n" "$osc_ucx_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx ldflags" >&5 printf %s "checking for ucx ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $osc_ucx_LDFLAGS" >&5 printf "%s\n" "$osc_ucx_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx libs" >&5 printf %s "checking for ucx libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $osc_ucx_LIBS" >&5 printf "%s\n" "$osc_ucx_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx static libs" >&5 printf %s "checking for ucx static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $osc_ucx_STATIC_LIBS" >&5 printf "%s\n" "$osc_ucx_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${osc_ucx_LDFLAGS}" then : osc_ucx_LDFLAGS="${osc_ucx_STATIC_LDFLAGS}" else case e in @%:@( e) osc_ucx_LDFLAGS="${osc_ucx_LDFLAGS} ${osc_ucx_STATIC_LDFLAGS}" ;; esac fi if test -z "${osc_ucx_LIBS}" then : osc_ucx_LIBS="${osc_ucx_STATIC_LIBS}" else case e in @%:@( e) osc_ucx_LIBS="${osc_ucx_LIBS} ${osc_ucx_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "ucp/api/ucp.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${osc_ucx_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${osc_ucx_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${osc_ucx_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${osc_ucx_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${osc_ucx_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${osc_ucx_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "ucp_cleanup" "ac_cv_func_ucp_cleanup" if test "x$ac_cv_func_ucp_cleanup" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ucx requires libnl v1 or v3" >&5 printf %s "checking if ucx requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_ucx+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void ucp_cleanup (void); int main(int argc, char *argv[]) { ucp_cleanup (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib ucx" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib ucx" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_ucx=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_ucx" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_ucx" >&6; } result_msg=$opal_libnl_sanity_check_cv_ucx this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, ucx links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, ucx links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libucx (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libucx (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libucx." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libucx." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas ucx requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas ucx requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libucx (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libucx (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libucx." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libucx." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs ucx" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas ucx requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas ucx requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libucx (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libucx (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libucx." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libucx." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs ucx" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi osc_ucx_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : osc_ucx_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) osc_ucx_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi ompi_check_ucx_happy="yes" else case e in @%:@( e) if test "${with_ucx}" = "no" then : osc_ucx_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) osc_ucx_SUMMARY="no (not found)" ;; esac fi { osc_ucx_CPPFLAGS=; unset osc_ucx_CPPFLAGS;} { osc_ucx_LDFLAGS=; unset osc_ucx_LDFLAGS;} { osc_ucx_STATIC_LDFLAGS=; unset osc_ucx_STATIC_LDFLAGS;} { osc_ucx_LIBS=; unset osc_ucx_LIBS;} { osc_ucx_STATIC_LIBS=; unset osc_ucx_STATIC_LIBS;} ompi_check_ucx_happy="no" ;; esac fi CPPFLAGS="${check_package_osc_ucx_save_CPPFLAGS}" LDFLAGS="${check_package_osc_ucx_save_LDFLAGS}" LIBS="${check_package_osc_ucx_save_LIBS}" oac_var_scope_pop check_package_osc_ucx_save_CPPFLAGS check_package_osc_ucx_save_LDFLAGS check_package_osc_ucx_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR ucx ****************************** ompi_check_ucx_CPPFLAGS_save=${CPPFLAGS} ompi_check_ucx_LDLAGS_save=${LDFLAGS} ompi_check_ucx_LIBS_save=${LIBS} oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${osc_ucx_CPPFLAGS}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${CPPFLAGS}; 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 "${CPPFLAGS}" then : CPPFLAGS="$oac_list_arg" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${osc_ucx_LDFLAGS}; 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 case e in @%:@( e) LDFLAGS="${LDFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in ${osc_ucx_LIBS}; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${LIBS} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${LIBS}" then : LIBS="${oac_list_arg}" else case e in @%:@( e) LIBS="${LIBS} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${LIBS}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi LIBS="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${LIBS}" then : LIBS="${oac_list_arg}" else case e in @%:@( e) LIBS="${LIBS} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable if test "$ompi_check_ucx_happy" = yes then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for UCX version header" >&5 printf %s "checking for UCX version header... " >&6; } if test ${ompi_check_ucx_cv_have_version_header+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : ompi_check_ucx_cv_have_version_header="yes" else case e in @%:@( e) ompi_check_ucx_cv_have_version_header="no" ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_check_ucx_cv_have_version_header" >&5 printf "%s\n" "$ompi_check_ucx_cv_have_version_header" >&6; } if test "${ompi_check_ucx_cv_have_version_header}" != "yes" then : ompi_check_ucx_happy=no fi fi if test "$ompi_check_ucx_happy" = yes then : # Turn off UCX version v1.8 due to issue #8321 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking UCX version 1.8.x" >&5 printf %s "checking UCX version 1.8.x... " >&6; } if test ${ompi_check_ucx_cv_have_version_1_8+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #if (UCP_API_MAJOR == 1) && (UCP_API_MINOR == 8) #error "Invalid version" #endif ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO" then : ompi_check_ucx_cv_have_version_1_8=no else case e in @%:@( e) ompi_check_ucx_cv_have_version_1_8=yes ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_check_ucx_cv_have_version_1_8" >&5 printf "%s\n" "$ompi_check_ucx_cv_have_version_1_8" >&6; } if test "${ompi_check_ucx_cv_have_version_1_8}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: UCX support skipped because version 1.8.x was found, which has a known catastrophic issue." >&5 printf "%s\n" "$as_me: WARNING: UCX support skipped because version 1.8.x was found, which has a known catastrophic issue." >&2;} ompi_check_ucx_happy=no fi fi cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #if (UCP_API_MAJOR < 1) || ((UCP_API_MAJOR == 1) && (UCP_API_MINOR < 9)) #error "Version too low" #endif ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: UCX version is too old, please upgrade to 1.9 or higher." >&5 printf "%s\n" "$as_me: WARNING: UCX version is too old, please upgrade to 1.9 or higher." >&2;} ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext if test "$ompi_check_ucx_happy" = yes then : ac_fn_check_decl "$LINENO" "ucp_tag_send_nbr" "ac_cv_have_decl_ucp_tag_send_nbr" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_tag_send_nbr" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_TAG_SEND_NBR $ac_have_decl" >>confdefs.h if test $ac_have_decl = 1 then : printf "%s\n" "@%:@define HAVE_UCP_TAG_SEND_NBR 1" >>confdefs.h fi ac_fn_check_decl "$LINENO" "ucp_ep_flush_nb" "ac_cv_have_decl_ucp_ep_flush_nb" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_ep_flush_nb" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_EP_FLUSH_NB $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_worker_flush_nb" "ac_cv_have_decl_ucp_worker_flush_nb" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_worker_flush_nb" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_WORKER_FLUSH_NB $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_request_check_status" "ac_cv_have_decl_ucp_request_check_status" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_request_check_status" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_REQUEST_CHECK_STATUS $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_put_nb" "ac_cv_have_decl_ucp_put_nb" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_put_nb" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_PUT_NB $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_get_nb" "ac_cv_have_decl_ucp_get_nb" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_get_nb" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_GET_NB $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_put_nbx" "ac_cv_have_decl_ucp_put_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_put_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_PUT_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_get_nbx" "ac_cv_have_decl_ucp_get_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_get_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_GET_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_atomic_op_nbx" "ac_cv_have_decl_ucp_atomic_op_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_atomic_op_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_OP_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_ep_flush_nbx" "ac_cv_have_decl_ucp_ep_flush_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_ep_flush_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_EP_FLUSH_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucm_test_events" "ac_cv_have_decl_ucm_test_events" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucm_test_events" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCM_TEST_EVENTS $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucm_test_external_events" "ac_cv_have_decl_ucm_test_external_events" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucm_test_external_events" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCM_TEST_EXTERNAL_EVENTS $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_POST_OP_AND" "ac_cv_have_decl_UCP_ATOMIC_POST_OP_AND" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_POST_OP_AND" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_POST_OP_AND $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_POST_OP_OR" "ac_cv_have_decl_UCP_ATOMIC_POST_OP_OR" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_POST_OP_OR" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_POST_OP_OR $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_POST_OP_XOR" "ac_cv_have_decl_UCP_ATOMIC_POST_OP_XOR" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_POST_OP_XOR" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_POST_OP_XOR $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_FETCH_OP_FAND" "ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FAND" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FAND" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_FETCH_OP_FAND $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_FETCH_OP_FOR" "ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FOR" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FOR" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_FETCH_OP_FOR $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_FETCH_OP_FXOR" "ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FXOR" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FXOR" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_FETCH_OP_FXOR $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_PARAM_FIELD_ESTIMATED_NUM_PPN" "ac_cv_have_decl_UCP_PARAM_FIELD_ESTIMATED_NUM_PPN" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_PARAM_FIELD_ESTIMATED_NUM_PPN" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_PARAM_FIELD_ESTIMATED_NUM_PPN $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_WORKER_FLAG_IGNORE_REQUEST_LEAK" "ac_cv_have_decl_UCP_WORKER_FLAG_IGNORE_REQUEST_LEAK" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_WORKER_FLAG_IGNORE_REQUEST_LEAK" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_WORKER_FLAG_IGNORE_REQUEST_LEAK $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_OP_ATTR_FLAG_MULTI_SEND" "ac_cv_have_decl_UCP_OP_ATTR_FLAG_MULTI_SEND" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_OP_ATTR_FLAG_MULTI_SEND" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_OP_ATTR_FLAG_MULTI_SEND $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_MEM_MAP_SYMMETRIC_RKEY" "ac_cv_have_decl_UCP_MEM_MAP_SYMMETRIC_RKEY" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_MEM_MAP_SYMMETRIC_RKEY" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_MEM_MAP_SYMMETRIC_RKEY $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCS_MEMORY_TYPE_RDMA" "ac_cv_have_decl_UCS_MEMORY_TYPE_RDMA" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCS_MEMORY_TYPE_RDMA" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCS_MEMORY_TYPE_RDMA $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS" "ac_cv_have_decl_UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS $ac_have_decl" >>confdefs.h if test $ac_have_decl = 1 then : printf "%s\n" "@%:@define HAVE_UCP_WORKER_ADDRESS_FLAGS 1" >>confdefs.h fi ac_fn_check_decl "$LINENO" "UCP_ATTR_FIELD_MEMORY_TYPES" "ac_cv_have_decl_UCP_ATTR_FIELD_MEMORY_TYPES" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATTR_FIELD_MEMORY_TYPES" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATTR_FIELD_MEMORY_TYPES $ac_have_decl" >>confdefs.h if test $ac_have_decl = 1 then : printf "%s\n" "@%:@define HAVE_UCP_ATTR_MEMORY_TYPES 1" >>confdefs.h fi ac_fn_check_decl "$LINENO" "UCP_EP_ATTR_FIELD_TRANSPORTS" "ac_cv_have_decl_UCP_EP_ATTR_FIELD_TRANSPORTS" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_EP_ATTR_FIELD_TRANSPORTS" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_EP_ATTR_FIELD_TRANSPORTS $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_tag_send_nbx" "ac_cv_have_decl_ucp_tag_send_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_tag_send_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_TAG_SEND_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_tag_send_sync_nbx" "ac_cv_have_decl_ucp_tag_send_sync_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_tag_send_sync_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_TAG_SEND_SYNC_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_tag_recv_nbx" "ac_cv_have_decl_ucp_tag_recv_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_tag_recv_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_TAG_RECV_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_rkey_compare" "ac_cv_have_decl_ucp_rkey_compare" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_rkey_compare" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_RKEY_COMPARE $ac_have_decl" >>confdefs.h ac_fn_c_check_type "$LINENO" "ucp_request_param_t" "ac_cv_type_ucp_request_param_t" "#include " if test "x$ac_cv_type_ucp_request_param_t" = xyes then : printf "%s\n" "@%:@define HAVE_UCP_REQUEST_PARAM_T 1" >>confdefs.h fi fi CPPFLAGS=${ompi_check_ucx_CPPFLAGS_save} LDFLAGS=${ompi_check_ucx_LDLAGS_save} LIBS=${ompi_check_ucx_LIBS_save} 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="Open UCX: $ompi_check_ucx_happy" oac_summary_key="TransportsOpen_UCX" # Use the section name variable as an indicator for whether or not # the section has already been created. if test ${oac_summary_section_Transports_name+y} then : else case e in @%:@( e) oac_summary_section_Transports_name="Transports" if test -z "${oac_summary_sections}" then : oac_summary_sections="Transports" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} Transports" ;; esac fi ;; esac 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 case e in @%:@( e) eval "${oac_summary_key}=1" if test ${oac_summary_section_Transports_value+y} then : as_fn_append oac_summary_section_Transports_value "${oac_summary_newline}${oac_summary_line}" else case e in @%:@( e) oac_summary_section_Transports_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key if test "$ompi_check_ucx_happy" = "yes" then : osc_ucx_happy="yes" else case e in @%:@( e) if test ! -z "$with_ucx" && test "$with_ucx" != "no" then : as_fn_error $? "UCX support requested but not found. Aborting" "$LINENO" 5 fi osc_ucx_happy="no" ;; esac fi opal_var_scope_pop ompi_check_ucx_happy ompi_check_ucx_CPPFLAGS_save ompi_check_ucx_LDFLAGS_save ompi_check_ucx_LIBS_save if test "${osc_ucx_happy}" = "yes" then : opal_var_scope_push ${LINENO} component_compile_mode dependency_compile_mode if test ${ompi_osc_ucx_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_osc" SHARED_COMPONENT="$DSO_osc_ucx" STATIC_FRAMEWORK="$STATIC_osc" STATIC_COMPONENT="$STATIC_osc_ucx" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_osc_ucx_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component osc:ucx compile mode" >&5 printf %s "checking for MCA component osc:ucx compile mode... " >&6; } if test "$DIRECT_osc" = "ucx" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi component_compile_mode=$ompi_osc_ucx_compile_mode if test ${opal_common_ucx_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_common" SHARED_COMPONENT="$DSO_common_ucx" STATIC_FRAMEWORK="$STATIC_common" STATIC_COMPONENT="$STATIC_common_ucx" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_common_ucx_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component common:ucx compile mode" >&5 printf %s "checking for MCA component common:ucx compile mode... " >&6; } if test "$DIRECT_common" = "ucx" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi dependency_compile_mode=$opal_common_ucx_compile_mode if test "${component_compile_mode}" = "static" -a "${dependency_compile_mode}" = "dso" then : as_fn_error $? "Component osc:ucx is set to build as a static component, but its dependency common:ucx is set to build as a dynamic component. This configuration is not supported. Please either build common:ucx as a static component or build osc:ucx as a dynamic component." "$LINENO" 5 fi opal_var_scope_pop component_compile_mode dependency_compile_mode fi if test "$osc_ucx_happy" = "yes" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi # substitute in the things needed to build ucx opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/osc/ucx/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components ucx" if test "$compile_mode" = "dso" ; then dso_components="$dso_components ucx" else if test "osc" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/osc/ucx/lib${OMPI_LIB_NAME}mca_osc_ucx.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/osc/ucx/libmca_osc_ucx.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_osc_ucx_component;" >> $outfile.extern echo " &mca_osc_ucx_component, " >> $outfile.struct static_components="$static_components ucx" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component osc:ucx can compile" >&5 printf %s "checking if MCA component osc:ucx can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_osc" = "ucx" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_osc_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** osc component ucx was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_osc" = "ucx" ; then as_fn_error $? "*** osc component ucx was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${osc_ucx_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${osc_ucx_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${osc_ucx_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${osc_ucx_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${osc_ucx_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${osc_ucx_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$osc_ucx_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $osc_ucx_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring osc_ucx_WRAPPER_EXTRA_CPPFLAGS ($osc_ucx_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring osc_ucx_WRAPPER_EXTRA_CPPFLAGS ($osc_ucx_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component osc:ucx can compile" >&5 printf %s "checking if MCA component osc:ucx can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_osc" = "ucx" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ucx\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ucx\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_osc" ; then if test "$DIRECT_osc" = "ucx" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ucx\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ucx\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components ucx" ;; esac fi if test "$should_build" = "1" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for index in endpoint array for tag UCX" >&5 printf %s "checking for index in endpoint array for tag UCX... " >&6; } if test -z "$OMPI_PROC_ENDPOINT_TAG_UCX" then : OMPI_PROC_ENDPOINT_TAG_UCX=$ompi_endpoint_tag_counter printf "%s\n" "@%:@define OMPI_PROC_ENDPOINT_TAG_UCX $OMPI_PROC_ENDPOINT_TAG_UCX" >>confdefs.h ompi_endpoint_tag_counter=`expr $ompi_endpoint_tag_counter + 1` fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OMPI_PROC_ENDPOINT_TAG_UCX" >&5 printf "%s\n" "$OMPI_PROC_ENDPOINT_TAG_UCX" >&6; } fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_ompi_osc_ucx_DSO=1 else case e in @%:@( e) BUILD_ompi_osc_ucx_DSO=0 ;; esac fi if test "$BUILD_ompi_osc_ucx_DSO" = "1"; then MCA_BUILD_ompi_osc_ucx_DSO_TRUE= MCA_BUILD_ompi_osc_ucx_DSO_FALSE='#' else MCA_BUILD_ompi_osc_ucx_DSO_TRUE='#' MCA_BUILD_ompi_osc_ucx_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test ${DIRECT_osc+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for osc framework" >&5 printf %s "checking if direct-selection component exists for osc framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_osc" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_osc requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_osc" >&5 printf "%s\n" "$DIRECT_osc" >&6; } fi MCA_ompi_osc_ALL_COMPONENTS="$all_components" MCA_ompi_osc_STATIC_COMPONENTS="$static_components" MCA_ompi_osc_DSO_COMPONENTS="$dso_components" MCA_ompi_osc_STATIC_LTLIBS="$static_ltlibs" MCA_ompi_osc_ALL_SUBDIRS= for item in $all_components ; do MCA_ompi_osc_ALL_SUBDIRS="$MCA_ompi_osc_ALL_SUBDIRS mca/osc/$item" done MCA_ompi_osc_STATIC_SUBDIRS= for item in $static_components ; do MCA_ompi_osc_STATIC_SUBDIRS="$MCA_ompi_osc_STATIC_SUBDIRS mca/osc/$item" done MCA_ompi_osc_DSO_SUBDIRS= for item in $dso_components ; do MCA_ompi_osc_DSO_SUBDIRS="$MCA_ompi_osc_DSO_SUBDIRS mca/osc/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "osc" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real MCA_ompi_FRAMEWORKS="$MCA_ompi_FRAMEWORKS part" MCA_ompi_FRAMEWORKS_SUBDIRS="$MCA_ompi_FRAMEWORKS_SUBDIRS mca/part" MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_ompi_part_ALL_SUBDIRS)" MCA_ompi_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_ompi_part_DSO_SUBDIRS)" MCA_ompi_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_ompi_part_STATIC_SUBDIRS)" mca_ompi_framework_base_lib="mca/part/libmca_part.la" MCA_ompi_FRAMEWORK_LIBS="$MCA_ompi_FRAMEWORK_LIBS ${mca_ompi_framework_base_lib} \$(MCA_ompi_part_STATIC_LTLIBS)" # configure all the components opal_show_subsubtitle "Configuring MCA framework part" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=ompi/mca/part/base as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files ompi/mca/part/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework part" >&5 printf %s "checking for no configure components in framework part... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: persist" >&5 printf "%s\n" "persist" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework part" >&5 printf %s "checking for m4 configure components in framework part... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components opal_show_subsubsubtitle "MCA component part:persist (no configuration)" opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: before, should_build=1" component_path="$srcdir/ompi/mca/part/persist" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_part" ; then if test "$DIRECT_part" = "persist" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_part" = "1" then : want_component=0 fi if test "${DISABLE_part_persist}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=1 else case e in @%:@( e) should_build=0 ;; esac fi if test ${ompi_part_persist_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_part" SHARED_COMPONENT="$DSO_part_persist" STATIC_FRAMEWORK="$STATIC_part" STATIC_COMPONENT="$STATIC_part_persist" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_part_persist_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component part:persist compile mode" >&5 printf %s "checking for MCA component part:persist compile mode... " >&6; } if test "$DIRECT_part" = "persist" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_part_persist_compile_mode opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" ; then # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/part/persist/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components persist" if test "$compile_mode" = "dso" ; then dso_components="$dso_components persist" else if test "part" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/part/persist/lib${OMPI_LIB_NAME}mca_part_persist.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/part/persist/libmca_part_persist.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_part_persist_component;" >> $outfile.extern echo " &mca_part_persist_component, " >> $outfile.struct static_components="$static_components persist" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component part:persist can compile" >&5 printf %s "checking if MCA component part:persist can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_part" = "persist" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_part_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** part component persist was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_part" = "persist" ; then as_fn_error $? "*** part component persist was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${part_persist_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${part_persist_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${part_persist_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${part_persist_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${part_persist_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${part_persist_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$part_persist_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $part_persist_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring part_persist_WRAPPER_EXTRA_CPPFLAGS ($part_persist_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring part_persist_WRAPPER_EXTRA_CPPFLAGS ($part_persist_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component part:persist can compile" >&5 printf %s "checking if MCA component part:persist can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_part" = "persist" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"persist\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"persist\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_part" ; then if test "$DIRECT_part" = "persist" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"persist\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"persist\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components persist" fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" ; then BUILD_ompi_part_persist_DSO=1 else BUILD_ompi_part_persist_DSO=0 fi if test "$BUILD_ompi_part_persist_DSO" = "1"; then MCA_BUILD_ompi_part_persist_DSO_TRUE= MCA_BUILD_ompi_part_persist_DSO_FALSE='#' else MCA_BUILD_ompi_part_persist_DSO_TRUE='#' MCA_BUILD_ompi_part_persist_DSO_FALSE= fi ac_config_files="$ac_config_files ompi/mca/part/persist/Makefile" unset compile_mode # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=1 components_last_result=0 if test ${DIRECT_part+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for part framework" >&5 printf %s "checking if direct-selection component exists for part framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_part" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_part requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_part" >&5 printf "%s\n" "$DIRECT_part" >&6; } fi MCA_ompi_part_ALL_COMPONENTS="$all_components" MCA_ompi_part_STATIC_COMPONENTS="$static_components" MCA_ompi_part_DSO_COMPONENTS="$dso_components" MCA_ompi_part_STATIC_LTLIBS="$static_ltlibs" MCA_ompi_part_ALL_SUBDIRS= for item in $all_components ; do MCA_ompi_part_ALL_SUBDIRS="$MCA_ompi_part_ALL_SUBDIRS mca/part/$item" done MCA_ompi_part_STATIC_SUBDIRS= for item in $static_components ; do MCA_ompi_part_STATIC_SUBDIRS="$MCA_ompi_part_STATIC_SUBDIRS mca/part/$item" done MCA_ompi_part_DSO_SUBDIRS= for item in $dso_components ; do MCA_ompi_part_DSO_SUBDIRS="$MCA_ompi_part_DSO_SUBDIRS mca/part/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "part" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real # this is a direct callable component, so set that up. if test ! -z "$DIRECT_part" ; then MCA_ompi_part_DIRECT_CALL_COMPONENT=$DIRECT_part MCA_ompi_part_DIRECT_CALL=1 else MCA_ompi_part_DIRECT_CALL_COMPONENT= MCA_ompi_part_DIRECT_CALL=0 fi printf "%s\n" "@%:@define MCA_ompi_part_DIRECT_CALL $MCA_ompi_part_DIRECT_CALL" >>confdefs.h printf "%s\n" "@%:@define MCA_ompi_part_DIRECT_CALL_COMPONENT $MCA_ompi_part_DIRECT_CALL_COMPONENT" >>confdefs.h printf "%s\n" "@%:@define MCA_ompi_part_DIRECT_CALL_HEADER \"$MCA_ompi_part_DIRECT_CALL_HEADER\"" >>confdefs.h MCA_ompi_FRAMEWORKS="$MCA_ompi_FRAMEWORKS pml" MCA_ompi_FRAMEWORKS_SUBDIRS="$MCA_ompi_FRAMEWORKS_SUBDIRS mca/pml" MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_ompi_pml_ALL_SUBDIRS)" MCA_ompi_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_ompi_pml_DSO_SUBDIRS)" MCA_ompi_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_ompi_pml_STATIC_SUBDIRS)" mca_ompi_framework_base_lib="mca/pml/libmca_pml.la" MCA_ompi_FRAMEWORK_LIBS="$MCA_ompi_FRAMEWORK_LIBS ${mca_ompi_framework_base_lib} \$(MCA_ompi_pml_STATIC_LTLIBS)" # configure all the components opal_show_subsubtitle "Configuring MCA framework pml" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=ompi/mca/pml/base as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files ompi/mca/pml/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework pml" >&5 printf %s "checking for no configure components in framework pml... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cm" >&5 printf "%s\n" "cm" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework pml" >&5 printf %s "checking for m4 configure components in framework pml... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: monitoring, ob1, ucx, v" >&5 printf "%s\n" "monitoring, ob1, ucx, v" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components opal_show_subsubsubtitle "MCA component pml:cm (no configuration)" opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: before, should_build=1" component_path="$srcdir/ompi/mca/pml/cm" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_pml" ; then if test "$DIRECT_pml" = "cm" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_pml" = "1" then : want_component=0 fi if test "${DISABLE_pml_cm}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=1 else case e in @%:@( e) should_build=0 ;; esac fi if test ${ompi_pml_cm_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_pml" SHARED_COMPONENT="$DSO_pml_cm" STATIC_FRAMEWORK="$STATIC_pml" STATIC_COMPONENT="$STATIC_pml_cm" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_pml_cm_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component pml:cm compile mode" >&5 printf %s "checking for MCA component pml:cm compile mode... " >&6; } if test "$DIRECT_pml" = "cm" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_pml_cm_compile_mode opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" ; then # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/pml/cm/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components cm" if test "$compile_mode" = "dso" ; then dso_components="$dso_components cm" else if test "pml" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/pml/cm/lib${OMPI_LIB_NAME}mca_pml_cm.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/pml/cm/libmca_pml_cm.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_pml_cm_component;" >> $outfile.extern echo " &mca_pml_cm_component, " >> $outfile.struct static_components="$static_components cm" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component pml:cm can compile" >&5 printf %s "checking if MCA component pml:cm can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_pml" = "cm" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_pml_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** pml component cm was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_pml" = "cm" ; then as_fn_error $? "*** pml component cm was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${pml_cm_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${pml_cm_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${pml_cm_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${pml_cm_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${pml_cm_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${pml_cm_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$pml_cm_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $pml_cm_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring pml_cm_WRAPPER_EXTRA_CPPFLAGS ($pml_cm_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring pml_cm_WRAPPER_EXTRA_CPPFLAGS ($pml_cm_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component pml:cm can compile" >&5 printf %s "checking if MCA component pml:cm can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_pml" = "cm" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"cm\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"cm\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_pml" ; then if test "$DIRECT_pml" = "cm" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"cm\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"cm\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components cm" fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" ; then BUILD_ompi_pml_cm_DSO=1 else BUILD_ompi_pml_cm_DSO=0 fi if test "$BUILD_ompi_pml_cm_DSO" = "1"; then MCA_BUILD_ompi_pml_cm_DSO_TRUE= MCA_BUILD_ompi_pml_cm_DSO_FALSE='#' else MCA_BUILD_ompi_pml_cm_DSO_TRUE='#' MCA_BUILD_ompi_pml_cm_DSO_FALSE= fi ac_config_files="$ac_config_files ompi/mca/pml/cm/Makefile" unset compile_mode # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=1 components_last_result=0 opal_show_subsubsubtitle "MCA component pml:monitoring (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/ompi/mca/pml/monitoring" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_pml" ; then if test "$DIRECT_pml" = "monitoring" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_pml" = "1" then : want_component=0 fi if test "${DISABLE_pml_monitoring}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${ompi_pml_monitoring_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_pml" SHARED_COMPONENT="$DSO_pml_monitoring" STATIC_FRAMEWORK="$STATIC_pml" STATIC_COMPONENT="$STATIC_pml_monitoring" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_pml_monitoring_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component pml:monitoring compile mode" >&5 printf %s "checking for MCA component pml:monitoring compile mode... " >&6; } if test "$DIRECT_pml" = "monitoring" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_pml_monitoring_compile_mode # try to configure the component ac_config_files="$ac_config_files ompi/mca/pml/monitoring/Makefile" should_build=$should_build opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/pml/monitoring/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components monitoring" if test "$compile_mode" = "dso" ; then dso_components="$dso_components monitoring" else if test "pml" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/pml/monitoring/lib${OMPI_LIB_NAME}mca_pml_monitoring.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/pml/monitoring/libmca_pml_monitoring.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_pml_monitoring_component;" >> $outfile.extern echo " &mca_pml_monitoring_component, " >> $outfile.struct static_components="$static_components monitoring" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component pml:monitoring can compile" >&5 printf %s "checking if MCA component pml:monitoring can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_pml" = "monitoring" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_pml_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** pml component monitoring was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_pml" = "monitoring" ; then as_fn_error $? "*** pml component monitoring was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${pml_monitoring_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${pml_monitoring_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${pml_monitoring_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${pml_monitoring_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${pml_monitoring_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${pml_monitoring_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$pml_monitoring_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $pml_monitoring_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring pml_monitoring_WRAPPER_EXTRA_CPPFLAGS ($pml_monitoring_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring pml_monitoring_WRAPPER_EXTRA_CPPFLAGS ($pml_monitoring_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component pml:monitoring can compile" >&5 printf %s "checking if MCA component pml:monitoring can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_pml" = "monitoring" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"monitoring\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"monitoring\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_pml" ; then if test "$DIRECT_pml" = "monitoring" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"monitoring\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"monitoring\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components monitoring" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_ompi_pml_monitoring_DSO=1 else case e in @%:@( e) BUILD_ompi_pml_monitoring_DSO=0 ;; esac fi if test "$BUILD_ompi_pml_monitoring_DSO" = "1"; then MCA_BUILD_ompi_pml_monitoring_DSO_TRUE= MCA_BUILD_ompi_pml_monitoring_DSO_FALSE='#' else MCA_BUILD_ompi_pml_monitoring_DSO_TRUE='#' MCA_BUILD_ompi_pml_monitoring_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component pml:ob1 (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/ompi/mca/pml/ob1" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_pml" ; then if test "$DIRECT_pml" = "ob1" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_pml" = "1" then : want_component=0 fi if test "${DISABLE_pml_ob1}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${ompi_pml_ob1_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_pml" SHARED_COMPONENT="$DSO_pml_ob1" STATIC_FRAMEWORK="$STATIC_pml" STATIC_COMPONENT="$STATIC_pml_ob1" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_pml_ob1_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component pml:ob1 compile mode" >&5 printf %s "checking for MCA component pml:ob1 compile mode... " >&6; } if test "$DIRECT_pml" = "ob1" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_pml_ob1_compile_mode # try to configure the component opal_var_scope_push ${LINENO} pml_ob1_matching_engine @%:@ Check whether --with-pml-ob1-matching was given. if test ${with_pml_ob1_matching+y} then : withval=$with_pml_ob1_matching; fi pml_ob1_matching_engine=MCA_PML_OB1_CUSTOM_MATCHING_NONE if test -n "$with_pml_ob1_matching" ; then case $with_pml_ob1_matching in none) pml_ob1_matching_engine=MCA_PML_OB1_CUSTOM_MATCHING_NONE ;; default) pml_ob1_matching_engine=MCA_PML_OB1_CUSTOM_MATCHING_LINKEDLIST ;; arrays) pml_ob1_matching_engine=MCA_PML_OB1_CUSTOM_MATCHING_ARRAYS ;; fuzzy-byte) pml_ob1_matching_engine=MCA_PML_OB1_CUSTOM_MATCHING_FUZZY_BYTE ;; fuzzy-short) pml_ob1_matching_engine=MCA_PML_OB1_CUSTOM_MATCHING_FUZZY_SHORT ;; fuzzy-word) pml_ob1_matching_engine=MCA_PML_OB1_CUSTOM_MATCHING_FUZZY_WORD ;; vector) pml_ob1_matching_engine=MCA_PML_OB1_CUSTOM_MATCHING_VECTOR ;; *) as_fn_error $? "invalid matching type specified for --pml-ob1-matching: $with_pml_ob1_matching" "$LINENO" 5 ;; esac fi printf "%s\n" "@%:@define MCA_PML_OB1_CUSTOM_MATCHING $pml_ob1_matching_engine" >>confdefs.h ac_config_files="$ac_config_files ompi/mca/pml/ob1/Makefile" should_build=$should_build opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/pml/ob1/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components ob1" if test "$compile_mode" = "dso" ; then dso_components="$dso_components ob1" else if test "pml" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/pml/ob1/lib${OMPI_LIB_NAME}mca_pml_ob1.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/pml/ob1/libmca_pml_ob1.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_pml_ob1_component;" >> $outfile.extern echo " &mca_pml_ob1_component, " >> $outfile.struct static_components="$static_components ob1" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component pml:ob1 can compile" >&5 printf %s "checking if MCA component pml:ob1 can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_pml" = "ob1" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_pml_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** pml component ob1 was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_pml" = "ob1" ; then as_fn_error $? "*** pml component ob1 was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${pml_ob1_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${pml_ob1_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${pml_ob1_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${pml_ob1_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${pml_ob1_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${pml_ob1_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$pml_ob1_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $pml_ob1_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring pml_ob1_WRAPPER_EXTRA_CPPFLAGS ($pml_ob1_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring pml_ob1_WRAPPER_EXTRA_CPPFLAGS ($pml_ob1_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component pml:ob1 can compile" >&5 printf %s "checking if MCA component pml:ob1 can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_pml" = "ob1" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ob1\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ob1\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_pml" ; then if test "$DIRECT_pml" = "ob1" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ob1\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ob1\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components ob1" ;; esac fi if test "$should_build" = "1" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for index in endpoint array for tag BML" >&5 printf %s "checking for index in endpoint array for tag BML... " >&6; } if test -z "$OMPI_PROC_ENDPOINT_TAG_BML" then : OMPI_PROC_ENDPOINT_TAG_BML=$ompi_endpoint_tag_counter printf "%s\n" "@%:@define OMPI_PROC_ENDPOINT_TAG_BML $OMPI_PROC_ENDPOINT_TAG_BML" >>confdefs.h ompi_endpoint_tag_counter=`expr $ompi_endpoint_tag_counter + 1` fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OMPI_PROC_ENDPOINT_TAG_BML" >&5 printf "%s\n" "$OMPI_PROC_ENDPOINT_TAG_BML" >&6; } fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_ompi_pml_ob1_DSO=1 else case e in @%:@( e) BUILD_ompi_pml_ob1_DSO=0 ;; esac fi if test "$BUILD_ompi_pml_ob1_DSO" = "1"; then MCA_BUILD_ompi_pml_ob1_DSO_TRUE= MCA_BUILD_ompi_pml_ob1_DSO_FALSE='#' else MCA_BUILD_ompi_pml_ob1_DSO_TRUE='#' MCA_BUILD_ompi_pml_ob1_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component pml:ucx (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/ompi/mca/pml/ucx" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_pml" ; then if test "$DIRECT_pml" = "ucx" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_pml" = "1" then : want_component=0 fi if test "${DISABLE_pml_ucx}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${ompi_pml_ucx_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_pml" SHARED_COMPONENT="$DSO_pml_ucx" STATIC_FRAMEWORK="$STATIC_pml" STATIC_COMPONENT="$STATIC_pml_ucx" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_pml_ucx_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component pml:ucx compile mode" >&5 printf %s "checking for MCA component pml:ucx compile mode... " >&6; } if test "$DIRECT_pml" = "ucx" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_pml_ucx_compile_mode # try to configure the component ac_config_files="$ac_config_files ompi/mca/pml/ucx/Makefile" opal_var_scope_push ${LINENO} ompi_check_ucx_happy ompi_check_ucx_CPPFLAGS_save ompi_check_ucx_LDFLAGS_save ompi_check_ucx_LIBS_save @%:@ Check whether --with-ucx was given. if test ${with_ucx+y} then : withval=$with_ucx; fi @%:@ Check whether --with-ucx-libdir was given. if test ${with_ucx_libdir+y} then : withval=$with_ucx_libdir; fi # ****************************** START CHECK PACKAGE FOR ucx ****************************** oac_var_scope_push ${LINENO} check_package_pml_ucx_save_CPPFLAGS check_package_pml_ucx_save_LDFLAGS check_package_pml_ucx_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_pml_ucx_save_CPPFLAGS="${CPPFLAGS}" check_package_pml_ucx_save_LDFLAGS="${LDFLAGS}" check_package_pml_ucx_save_LIBS="${LIBS}" pml_ucx_CPPFLAGS= pml_ucx_LDFLAGS= pml_ucx_STATIC_LDFLAGS= pml_ucx_LIBS= pml_ucx_STATIC_LIBS= { pml_ucx_PC_MODULES=; unset pml_ucx_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_ucx" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package ucx disabled by user" >&5 printf "%s\n" "$as_me: Package ucx disabled by user" >&6;} check_package_happy=0 elif test "${with_ucx}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_ucx}" ;; esac fi check_package_libdir= if test "${with_ucx_libdir}" = "no" -o "${with_ucx_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-ucx-libdir" "$LINENO" 5 elif test -n "${with_ucx_libdir}" then : check_package_libdir="${with_ucx_libdir}" fi check_package_incdir= if test "${with_ucx_incdir}" = "no" -o "${with_ucx_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-ucx-incdir" "$LINENO" 5 elif test -n "${with_ucx_incdir}" then : check_package_incdir="${with_ucx_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${ucx_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-ucx or --with-ucx-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-ucx only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config name" >&5 printf %s "checking for ucx pkg-config name... " >&6; } if test ${oac_cv_check_package_ucx_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_ucx_pcfilename="ucx" if test -n "${check_package_libdir}" then : oac_cv_check_package_ucx_pcfilename="${check_package_libdir}/pkgconfig/ucx.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_ucx_pcfilename="ucx" elif test -r "${check_package_prefix}/lib/pkgconfig/ucx.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/ucx.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found ucx in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-ucx-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_ucx_pcfilename="${check_package_prefix}/lib/pkgconfig/ucx.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/ucx.pc" then : oac_cv_check_package_ucx_pcfilename="${check_package_prefix}/lib64/pkgconfig/ucx.pc" else case e in @%:@( e) oac_cv_check_package_ucx_pcfilename="${check_package_prefix}/lib/pkgconfig/ucx.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ucx pkg-config module exists" >&5 printf %s "checking if ucx pkg-config module exists... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : pml_ucx_PC_MODULES=${oac_cv_check_package_ucx_pcfilename} oac_cv_check_package_ucx_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_ucx_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_ucx_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config cflags" >&5 printf %s "checking for ucx pkg-config cflags... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucx_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_cppflags" >&6; } pml_ucx_CPPFLAGS="${oac_cv_check_package_ucx_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config ldflags" >&5 printf %s "checking for ucx pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucx_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_ldflags" >&6; } pml_ucx_LDFLAGS="${oac_cv_check_package_ucx_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config static ldflags" >&5 printf %s "checking for ucx pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucx_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_static_ldflags" >&6; } pml_ucx_STATIC_LDFLAGS="${oac_cv_check_package_ucx_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config libs" >&5 printf %s "checking for ucx pkg-config libs... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucx_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_libs" >&6; } pml_ucx_LIBS="${oac_cv_check_package_ucx_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config static libs" >&5 printf %s "checking for ucx pkg-config static libs... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucx_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_static_libs" >&6; } pml_ucx_STATIC_LIBS="${oac_cv_check_package_ucx_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${ucx_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-ucx argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler" >&5 printf %s "checking for ucx wrapper compiler... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_ucx_wrapper_compiler="ucxcc" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler="${check_package_prefix}/bin/ucxcc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ucx wrapper compiler works" >&5 printf %s "checking if ucx wrapper compiler works... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_ucx_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_ucx_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler cppflags" >&5 printf %s "checking for ucx wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucx_wrapper_compiler_cppflags}" then : oac_cv_check_package_ucx_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_cppflags="${oac_cv_check_package_ucx_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_cppflags" >&6; } pml_ucx_CPPFLAGS="${oac_cv_check_package_ucx_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler ldflags" >&5 printf %s "checking for ucx wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucx_wrapper_compiler_ldflags}" then : oac_cv_check_package_ucx_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_ldflags="${oac_cv_check_package_ucx_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_ldflags" >&6; } pml_ucx_LDFLAGS="${oac_cv_check_package_ucx_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler static ldflags" >&5 printf %s "checking for ucx wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucx_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_ucx_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_static_ldflags="${oac_cv_check_package_ucx_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_static_ldflags" >&6; } pml_ucx_STATIC_LDFLAGS="${oac_cv_check_package_ucx_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler libs" >&5 printf %s "checking for ucx wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucx_wrapper_compiler_libs}" then : oac_cv_check_package_ucx_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_libs="${oac_cv_check_package_ucx_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_libs" >&6; } pml_ucx_LIBS="$oac_cv_check_package_ucx_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler static libs" >&5 printf %s "checking for ucx wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucx_wrapper_compiler_static_libs}" then : oac_cv_check_package_ucx_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_static_libs="${oac_cv_check_package_ucx_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_static_libs" >&6; } pml_ucx_STATIC_LIBS="${oac_cv_check_package_ucx_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "ucp/api/ucp.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "ucp -luct -lucm -lucs" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx header at ${check_package_generic_incdir}" >&5 printf %s "checking for ucx header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 pml_ucx_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for ucx library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 pml_ucx_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for ucx library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-ucx-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 pml_ucx_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 pml_ucx_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 pml_ucx_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for ucx in default search paths" >&5 printf "%s\n" "$as_me: Searching for ucx in default search paths" >&6;} ucx_CPPFLAGS= ucx_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in ucp -luct -lucm -lucs ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${pml_ucx_LIBS}" then : pml_ucx_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) pml_ucx_LIBS="${pml_ucx_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${pml_ucx_STATIC_LIBS}" then : pml_ucx_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) pml_ucx_STATIC_LIBS="${pml_ucx_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx cppflags" >&5 printf %s "checking for ucx cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $pml_ucx_CPPFLAGS" >&5 printf "%s\n" "$pml_ucx_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx ldflags" >&5 printf %s "checking for ucx ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $pml_ucx_LDFLAGS" >&5 printf "%s\n" "$pml_ucx_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx libs" >&5 printf %s "checking for ucx libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $pml_ucx_LIBS" >&5 printf "%s\n" "$pml_ucx_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx static libs" >&5 printf %s "checking for ucx static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $pml_ucx_STATIC_LIBS" >&5 printf "%s\n" "$pml_ucx_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${pml_ucx_LDFLAGS}" then : pml_ucx_LDFLAGS="${pml_ucx_STATIC_LDFLAGS}" else case e in @%:@( e) pml_ucx_LDFLAGS="${pml_ucx_LDFLAGS} ${pml_ucx_STATIC_LDFLAGS}" ;; esac fi if test -z "${pml_ucx_LIBS}" then : pml_ucx_LIBS="${pml_ucx_STATIC_LIBS}" else case e in @%:@( e) pml_ucx_LIBS="${pml_ucx_LIBS} ${pml_ucx_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "ucp/api/ucp.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${pml_ucx_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${pml_ucx_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${pml_ucx_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${pml_ucx_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${pml_ucx_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${pml_ucx_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "ucp_cleanup" "ac_cv_func_ucp_cleanup" if test "x$ac_cv_func_ucp_cleanup" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ucx requires libnl v1 or v3" >&5 printf %s "checking if ucx requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_ucx+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void ucp_cleanup (void); int main(int argc, char *argv[]) { ucp_cleanup (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib ucx" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib ucx" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_ucx=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_ucx" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_ucx" >&6; } result_msg=$opal_libnl_sanity_check_cv_ucx this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, ucx links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, ucx links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libucx (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libucx (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libucx." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libucx." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas ucx requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas ucx requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libucx (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libucx (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libucx." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libucx." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs ucx" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas ucx requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas ucx requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libucx (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libucx (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libucx." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libucx." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs ucx" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi pml_ucx_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : pml_ucx_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) pml_ucx_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi ompi_check_ucx_happy="yes" else case e in @%:@( e) if test "${with_ucx}" = "no" then : pml_ucx_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) pml_ucx_SUMMARY="no (not found)" ;; esac fi { pml_ucx_CPPFLAGS=; unset pml_ucx_CPPFLAGS;} { pml_ucx_LDFLAGS=; unset pml_ucx_LDFLAGS;} { pml_ucx_STATIC_LDFLAGS=; unset pml_ucx_STATIC_LDFLAGS;} { pml_ucx_LIBS=; unset pml_ucx_LIBS;} { pml_ucx_STATIC_LIBS=; unset pml_ucx_STATIC_LIBS;} ompi_check_ucx_happy="no" ;; esac fi CPPFLAGS="${check_package_pml_ucx_save_CPPFLAGS}" LDFLAGS="${check_package_pml_ucx_save_LDFLAGS}" LIBS="${check_package_pml_ucx_save_LIBS}" oac_var_scope_pop check_package_pml_ucx_save_CPPFLAGS check_package_pml_ucx_save_LDFLAGS check_package_pml_ucx_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR ucx ****************************** ompi_check_ucx_CPPFLAGS_save=${CPPFLAGS} ompi_check_ucx_LDLAGS_save=${LDFLAGS} ompi_check_ucx_LIBS_save=${LIBS} oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${pml_ucx_CPPFLAGS}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${CPPFLAGS}; 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 "${CPPFLAGS}" then : CPPFLAGS="$oac_list_arg" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${pml_ucx_LDFLAGS}; 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 case e in @%:@( e) LDFLAGS="${LDFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in ${pml_ucx_LIBS}; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${LIBS} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${LIBS}" then : LIBS="${oac_list_arg}" else case e in @%:@( e) LIBS="${LIBS} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${LIBS}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi LIBS="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${LIBS}" then : LIBS="${oac_list_arg}" else case e in @%:@( e) LIBS="${LIBS} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable if test "$ompi_check_ucx_happy" = yes then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for UCX version header" >&5 printf %s "checking for UCX version header... " >&6; } if test ${ompi_check_ucx_cv_have_version_header+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : ompi_check_ucx_cv_have_version_header="yes" else case e in @%:@( e) ompi_check_ucx_cv_have_version_header="no" ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_check_ucx_cv_have_version_header" >&5 printf "%s\n" "$ompi_check_ucx_cv_have_version_header" >&6; } if test "${ompi_check_ucx_cv_have_version_header}" != "yes" then : ompi_check_ucx_happy=no fi fi if test "$ompi_check_ucx_happy" = yes then : # Turn off UCX version v1.8 due to issue #8321 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking UCX version 1.8.x" >&5 printf %s "checking UCX version 1.8.x... " >&6; } if test ${ompi_check_ucx_cv_have_version_1_8+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #if (UCP_API_MAJOR == 1) && (UCP_API_MINOR == 8) #error "Invalid version" #endif ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO" then : ompi_check_ucx_cv_have_version_1_8=no else case e in @%:@( e) ompi_check_ucx_cv_have_version_1_8=yes ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_check_ucx_cv_have_version_1_8" >&5 printf "%s\n" "$ompi_check_ucx_cv_have_version_1_8" >&6; } if test "${ompi_check_ucx_cv_have_version_1_8}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: UCX support skipped because version 1.8.x was found, which has a known catastrophic issue." >&5 printf "%s\n" "$as_me: WARNING: UCX support skipped because version 1.8.x was found, which has a known catastrophic issue." >&2;} ompi_check_ucx_happy=no fi fi cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #if (UCP_API_MAJOR < 1) || ((UCP_API_MAJOR == 1) && (UCP_API_MINOR < 9)) #error "Version too low" #endif ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: UCX version is too old, please upgrade to 1.9 or higher." >&5 printf "%s\n" "$as_me: WARNING: UCX version is too old, please upgrade to 1.9 or higher." >&2;} ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext if test "$ompi_check_ucx_happy" = yes then : ac_fn_check_decl "$LINENO" "ucp_tag_send_nbr" "ac_cv_have_decl_ucp_tag_send_nbr" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_tag_send_nbr" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_TAG_SEND_NBR $ac_have_decl" >>confdefs.h if test $ac_have_decl = 1 then : printf "%s\n" "@%:@define HAVE_UCP_TAG_SEND_NBR 1" >>confdefs.h fi ac_fn_check_decl "$LINENO" "ucp_ep_flush_nb" "ac_cv_have_decl_ucp_ep_flush_nb" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_ep_flush_nb" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_EP_FLUSH_NB $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_worker_flush_nb" "ac_cv_have_decl_ucp_worker_flush_nb" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_worker_flush_nb" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_WORKER_FLUSH_NB $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_request_check_status" "ac_cv_have_decl_ucp_request_check_status" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_request_check_status" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_REQUEST_CHECK_STATUS $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_put_nb" "ac_cv_have_decl_ucp_put_nb" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_put_nb" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_PUT_NB $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_get_nb" "ac_cv_have_decl_ucp_get_nb" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_get_nb" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_GET_NB $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_put_nbx" "ac_cv_have_decl_ucp_put_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_put_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_PUT_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_get_nbx" "ac_cv_have_decl_ucp_get_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_get_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_GET_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_atomic_op_nbx" "ac_cv_have_decl_ucp_atomic_op_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_atomic_op_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_OP_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_ep_flush_nbx" "ac_cv_have_decl_ucp_ep_flush_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_ep_flush_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_EP_FLUSH_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucm_test_events" "ac_cv_have_decl_ucm_test_events" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucm_test_events" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCM_TEST_EVENTS $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucm_test_external_events" "ac_cv_have_decl_ucm_test_external_events" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucm_test_external_events" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCM_TEST_EXTERNAL_EVENTS $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_POST_OP_AND" "ac_cv_have_decl_UCP_ATOMIC_POST_OP_AND" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_POST_OP_AND" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_POST_OP_AND $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_POST_OP_OR" "ac_cv_have_decl_UCP_ATOMIC_POST_OP_OR" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_POST_OP_OR" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_POST_OP_OR $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_POST_OP_XOR" "ac_cv_have_decl_UCP_ATOMIC_POST_OP_XOR" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_POST_OP_XOR" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_POST_OP_XOR $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_FETCH_OP_FAND" "ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FAND" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FAND" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_FETCH_OP_FAND $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_FETCH_OP_FOR" "ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FOR" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FOR" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_FETCH_OP_FOR $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_FETCH_OP_FXOR" "ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FXOR" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FXOR" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_FETCH_OP_FXOR $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_PARAM_FIELD_ESTIMATED_NUM_PPN" "ac_cv_have_decl_UCP_PARAM_FIELD_ESTIMATED_NUM_PPN" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_PARAM_FIELD_ESTIMATED_NUM_PPN" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_PARAM_FIELD_ESTIMATED_NUM_PPN $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_WORKER_FLAG_IGNORE_REQUEST_LEAK" "ac_cv_have_decl_UCP_WORKER_FLAG_IGNORE_REQUEST_LEAK" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_WORKER_FLAG_IGNORE_REQUEST_LEAK" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_WORKER_FLAG_IGNORE_REQUEST_LEAK $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_OP_ATTR_FLAG_MULTI_SEND" "ac_cv_have_decl_UCP_OP_ATTR_FLAG_MULTI_SEND" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_OP_ATTR_FLAG_MULTI_SEND" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_OP_ATTR_FLAG_MULTI_SEND $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_MEM_MAP_SYMMETRIC_RKEY" "ac_cv_have_decl_UCP_MEM_MAP_SYMMETRIC_RKEY" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_MEM_MAP_SYMMETRIC_RKEY" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_MEM_MAP_SYMMETRIC_RKEY $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCS_MEMORY_TYPE_RDMA" "ac_cv_have_decl_UCS_MEMORY_TYPE_RDMA" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCS_MEMORY_TYPE_RDMA" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCS_MEMORY_TYPE_RDMA $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS" "ac_cv_have_decl_UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS $ac_have_decl" >>confdefs.h if test $ac_have_decl = 1 then : printf "%s\n" "@%:@define HAVE_UCP_WORKER_ADDRESS_FLAGS 1" >>confdefs.h fi ac_fn_check_decl "$LINENO" "UCP_ATTR_FIELD_MEMORY_TYPES" "ac_cv_have_decl_UCP_ATTR_FIELD_MEMORY_TYPES" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATTR_FIELD_MEMORY_TYPES" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATTR_FIELD_MEMORY_TYPES $ac_have_decl" >>confdefs.h if test $ac_have_decl = 1 then : printf "%s\n" "@%:@define HAVE_UCP_ATTR_MEMORY_TYPES 1" >>confdefs.h fi ac_fn_check_decl "$LINENO" "UCP_EP_ATTR_FIELD_TRANSPORTS" "ac_cv_have_decl_UCP_EP_ATTR_FIELD_TRANSPORTS" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_EP_ATTR_FIELD_TRANSPORTS" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_EP_ATTR_FIELD_TRANSPORTS $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_tag_send_nbx" "ac_cv_have_decl_ucp_tag_send_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_tag_send_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_TAG_SEND_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_tag_send_sync_nbx" "ac_cv_have_decl_ucp_tag_send_sync_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_tag_send_sync_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_TAG_SEND_SYNC_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_tag_recv_nbx" "ac_cv_have_decl_ucp_tag_recv_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_tag_recv_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_TAG_RECV_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_rkey_compare" "ac_cv_have_decl_ucp_rkey_compare" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_rkey_compare" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_RKEY_COMPARE $ac_have_decl" >>confdefs.h ac_fn_c_check_type "$LINENO" "ucp_request_param_t" "ac_cv_type_ucp_request_param_t" "#include " if test "x$ac_cv_type_ucp_request_param_t" = xyes then : printf "%s\n" "@%:@define HAVE_UCP_REQUEST_PARAM_T 1" >>confdefs.h fi fi CPPFLAGS=${ompi_check_ucx_CPPFLAGS_save} LDFLAGS=${ompi_check_ucx_LDLAGS_save} LIBS=${ompi_check_ucx_LIBS_save} 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="Open UCX: $ompi_check_ucx_happy" oac_summary_key="TransportsOpen_UCX" # Use the section name variable as an indicator for whether or not # the section has already been created. if test ${oac_summary_section_Transports_name+y} then : else case e in @%:@( e) oac_summary_section_Transports_name="Transports" if test -z "${oac_summary_sections}" then : oac_summary_sections="Transports" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} Transports" ;; esac fi ;; esac 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 case e in @%:@( e) eval "${oac_summary_key}=1" if test ${oac_summary_section_Transports_value+y} then : as_fn_append oac_summary_section_Transports_value "${oac_summary_newline}${oac_summary_line}" else case e in @%:@( e) oac_summary_section_Transports_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key if test "$ompi_check_ucx_happy" = "yes" then : pml_ucx_happy="yes" else case e in @%:@( e) if test ! -z "$with_ucx" && test "$with_ucx" != "no" then : as_fn_error $? "UCX support requested but not found. Aborting" "$LINENO" 5 fi pml_ucx_happy="no" ;; esac fi opal_var_scope_pop ompi_check_ucx_happy ompi_check_ucx_CPPFLAGS_save ompi_check_ucx_LDFLAGS_save ompi_check_ucx_LIBS_save if test "${pml_ucx_happy}" = "yes" then : opal_var_scope_push ${LINENO} component_compile_mode dependency_compile_mode if test ${ompi_pml_ucx_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_pml" SHARED_COMPONENT="$DSO_pml_ucx" STATIC_FRAMEWORK="$STATIC_pml" STATIC_COMPONENT="$STATIC_pml_ucx" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_pml_ucx_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component pml:ucx compile mode" >&5 printf %s "checking for MCA component pml:ucx compile mode... " >&6; } if test "$DIRECT_pml" = "ucx" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi component_compile_mode=$ompi_pml_ucx_compile_mode if test ${opal_common_ucx_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_common" SHARED_COMPONENT="$DSO_common_ucx" STATIC_FRAMEWORK="$STATIC_common" STATIC_COMPONENT="$STATIC_common_ucx" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi opal_common_ucx_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component common:ucx compile mode" >&5 printf %s "checking for MCA component common:ucx compile mode... " >&6; } if test "$DIRECT_common" = "ucx" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi dependency_compile_mode=$opal_common_ucx_compile_mode if test "${component_compile_mode}" = "static" -a "${dependency_compile_mode}" = "dso" then : as_fn_error $? "Component pml:ucx is set to build as a static component, but its dependency common:ucx is set to build as a dynamic component. This configuration is not supported. Please either build common:ucx as a static component or build pml:ucx as a dynamic component." "$LINENO" 5 fi opal_var_scope_pop component_compile_mode dependency_compile_mode fi if test "$pml_ucx_happy" = "yes" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi # substitute in the things needed to build ucx opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/pml/ucx/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components ucx" if test "$compile_mode" = "dso" ; then dso_components="$dso_components ucx" else if test "pml" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/pml/ucx/lib${OMPI_LIB_NAME}mca_pml_ucx.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/pml/ucx/libmca_pml_ucx.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_pml_ucx_component;" >> $outfile.extern echo " &mca_pml_ucx_component, " >> $outfile.struct static_components="$static_components ucx" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component pml:ucx can compile" >&5 printf %s "checking if MCA component pml:ucx can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_pml" = "ucx" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_pml_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** pml component ucx was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_pml" = "ucx" ; then as_fn_error $? "*** pml component ucx was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${pml_ucx_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${pml_ucx_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${pml_ucx_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${pml_ucx_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${pml_ucx_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${pml_ucx_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$pml_ucx_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $pml_ucx_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring pml_ucx_WRAPPER_EXTRA_CPPFLAGS ($pml_ucx_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring pml_ucx_WRAPPER_EXTRA_CPPFLAGS ($pml_ucx_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component pml:ucx can compile" >&5 printf %s "checking if MCA component pml:ucx can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_pml" = "ucx" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ucx\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ucx\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_pml" ; then if test "$DIRECT_pml" = "ucx" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ucx\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ucx\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components ucx" ;; esac fi if test "$should_build" = "1" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for index in endpoint array for tag PML" >&5 printf %s "checking for index in endpoint array for tag PML... " >&6; } if test -z "$OMPI_PROC_ENDPOINT_TAG_PML" then : OMPI_PROC_ENDPOINT_TAG_PML=$ompi_endpoint_tag_counter printf "%s\n" "@%:@define OMPI_PROC_ENDPOINT_TAG_PML $OMPI_PROC_ENDPOINT_TAG_PML" >>confdefs.h ompi_endpoint_tag_counter=`expr $ompi_endpoint_tag_counter + 1` fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OMPI_PROC_ENDPOINT_TAG_PML" >&5 printf "%s\n" "$OMPI_PROC_ENDPOINT_TAG_PML" >&6; } fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_ompi_pml_ucx_DSO=1 else case e in @%:@( e) BUILD_ompi_pml_ucx_DSO=0 ;; esac fi if test "$BUILD_ompi_pml_ucx_DSO" = "1"; then MCA_BUILD_ompi_pml_ucx_DSO_TRUE= MCA_BUILD_ompi_pml_ucx_DSO_FALSE='#' else MCA_BUILD_ompi_pml_ucx_DSO_TRUE='#' MCA_BUILD_ompi_pml_ucx_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component pml:v (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/ompi/mca/pml/v" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_pml" ; then if test "$DIRECT_pml" = "v" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_pml" = "1" then : want_component=0 fi if test "${DISABLE_pml_v}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${ompi_pml_v_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} component_compile_mode_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component pml:v compile mode" >&5 printf %s "checking for MCA component pml:v compile mode... " >&6; } component_compile_mode_tmp="static" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $component_compile_mode_tmp" >&5 printf "%s\n" "$component_compile_mode_tmp" >&6; } eval ompi_pml_v_compile_mode=\$$component_compile_mode_tmp opal_var_scope_pop component_compile_mode_tmp ;; esac fi compile_mode=$ompi_pml_v_compile_mode # try to configure the component ac_config_files="$ac_config_files ompi/mca/pml/v/Makefile" should_build=$should_build opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/pml/v/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components v" if test "$compile_mode" = "dso" ; then dso_components="$dso_components v" else if test "pml" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/pml/v/lib${OMPI_LIB_NAME}mca_pml_v.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/pml/v/libmca_pml_v.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_pml_v_component;" >> $outfile.extern echo " &mca_pml_v_component, " >> $outfile.struct static_components="$static_components v" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component pml:v can compile" >&5 printf %s "checking if MCA component pml:v can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_pml" = "v" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_pml_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** pml component v was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_pml" = "v" ; then as_fn_error $? "*** pml component v was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${pml_v_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${pml_v_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${pml_v_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${pml_v_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${pml_v_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${pml_v_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$pml_v_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $pml_v_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring pml_v_WRAPPER_EXTRA_CPPFLAGS ($pml_v_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring pml_v_WRAPPER_EXTRA_CPPFLAGS ($pml_v_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component pml:v can compile" >&5 printf %s "checking if MCA component pml:v can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_pml" = "v" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"v\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"v\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_pml" ; then if test "$DIRECT_pml" = "v" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"v\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"v\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components v" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_ompi_pml_v_DSO=1 else case e in @%:@( e) BUILD_ompi_pml_v_DSO=0 ;; esac fi if test "$BUILD_ompi_pml_v_DSO" = "1"; then MCA_BUILD_ompi_pml_v_DSO_TRUE= MCA_BUILD_ompi_pml_v_DSO_FALSE='#' else MCA_BUILD_ompi_pml_v_DSO_TRUE='#' MCA_BUILD_ompi_pml_v_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test ${DIRECT_pml+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for pml framework" >&5 printf %s "checking if direct-selection component exists for pml framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_pml" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_pml requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_pml" >&5 printf "%s\n" "$DIRECT_pml" >&6; } fi MCA_ompi_pml_ALL_COMPONENTS="$all_components" MCA_ompi_pml_STATIC_COMPONENTS="$static_components" MCA_ompi_pml_DSO_COMPONENTS="$dso_components" MCA_ompi_pml_STATIC_LTLIBS="$static_ltlibs" MCA_ompi_pml_ALL_SUBDIRS= for item in $all_components ; do MCA_ompi_pml_ALL_SUBDIRS="$MCA_ompi_pml_ALL_SUBDIRS mca/pml/$item" done MCA_ompi_pml_STATIC_SUBDIRS= for item in $static_components ; do MCA_ompi_pml_STATIC_SUBDIRS="$MCA_ompi_pml_STATIC_SUBDIRS mca/pml/$item" done MCA_ompi_pml_DSO_SUBDIRS= for item in $dso_components ; do MCA_ompi_pml_DSO_SUBDIRS="$MCA_ompi_pml_DSO_SUBDIRS mca/pml/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "pml" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real # this is a direct callable component, so set that up. if test ! -z "$DIRECT_pml" ; then MCA_ompi_pml_DIRECT_CALL_COMPONENT=$DIRECT_pml MCA_ompi_pml_DIRECT_CALL=1 else MCA_ompi_pml_DIRECT_CALL_COMPONENT= MCA_ompi_pml_DIRECT_CALL=0 fi printf "%s\n" "@%:@define MCA_ompi_pml_DIRECT_CALL $MCA_ompi_pml_DIRECT_CALL" >>confdefs.h printf "%s\n" "@%:@define MCA_ompi_pml_DIRECT_CALL_COMPONENT $MCA_ompi_pml_DIRECT_CALL_COMPONENT" >>confdefs.h printf "%s\n" "@%:@define MCA_ompi_pml_DIRECT_CALL_HEADER \"$MCA_ompi_pml_DIRECT_CALL_HEADER\"" >>confdefs.h MCA_ompi_FRAMEWORKS="$MCA_ompi_FRAMEWORKS sharedfp" MCA_ompi_FRAMEWORKS_SUBDIRS="$MCA_ompi_FRAMEWORKS_SUBDIRS mca/sharedfp" MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_ompi_sharedfp_ALL_SUBDIRS)" MCA_ompi_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_ompi_sharedfp_DSO_SUBDIRS)" MCA_ompi_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_ompi_sharedfp_STATIC_SUBDIRS)" mca_ompi_framework_base_lib="mca/sharedfp/libmca_sharedfp.la" MCA_ompi_FRAMEWORK_LIBS="$MCA_ompi_FRAMEWORK_LIBS ${mca_ompi_framework_base_lib} \$(MCA_ompi_sharedfp_STATIC_LTLIBS)" opal_var_scope_push ${LINENO} want_io_ompio if test "$enable_io_ompio" != "no" then : want_io_ompio=1 else case e in @%:@( e) want_io_ompio=0 ;; esac fi opal_show_subsubtitle "Configuring MCA framework sharedfp" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=ompi/mca/sharedfp/base as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files ompi/mca/sharedfp/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework sharedfp" >&5 printf %s "checking for no configure components in framework sharedfp... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: individual, lockedfile" >&5 printf "%s\n" "individual, lockedfile" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework sharedfp" >&5 printf %s "checking for m4 configure components in framework sharedfp... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: sm" >&5 printf "%s\n" "sm" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components opal_show_subsubsubtitle "MCA component sharedfp:individual (no configuration)" opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: before, should_build=$want_io_ompio" component_path="$srcdir/ompi/mca/sharedfp/individual" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_sharedfp" ; then if test "$DIRECT_sharedfp" = "individual" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_sharedfp" = "1" then : want_component=0 fi if test "${DISABLE_sharedfp_individual}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$want_io_ompio else case e in @%:@( e) should_build=0 ;; esac fi if test ${ompi_sharedfp_individual_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_sharedfp" SHARED_COMPONENT="$DSO_sharedfp_individual" STATIC_FRAMEWORK="$STATIC_sharedfp" STATIC_COMPONENT="$STATIC_sharedfp_individual" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_sharedfp_individual_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component sharedfp:individual compile mode" >&5 printf %s "checking for MCA component sharedfp:individual compile mode... " >&6; } if test "$DIRECT_sharedfp" = "individual" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_sharedfp_individual_compile_mode opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" ; then # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/sharedfp/individual/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components individual" if test "$compile_mode" = "dso" ; then dso_components="$dso_components individual" else if test "sharedfp" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/sharedfp/individual/lib${OMPI_LIB_NAME}mca_sharedfp_individual.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/sharedfp/individual/libmca_sharedfp_individual.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_sharedfp_individual_component;" >> $outfile.extern echo " &mca_sharedfp_individual_component, " >> $outfile.struct static_components="$static_components individual" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component sharedfp:individual can compile" >&5 printf %s "checking if MCA component sharedfp:individual can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_sharedfp" = "individual" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_sharedfp_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** sharedfp component individual was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_sharedfp" = "individual" ; then as_fn_error $? "*** sharedfp component individual was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${sharedfp_individual_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${sharedfp_individual_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${sharedfp_individual_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${sharedfp_individual_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${sharedfp_individual_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${sharedfp_individual_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$sharedfp_individual_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $sharedfp_individual_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring sharedfp_individual_WRAPPER_EXTRA_CPPFLAGS ($sharedfp_individual_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring sharedfp_individual_WRAPPER_EXTRA_CPPFLAGS ($sharedfp_individual_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component sharedfp:individual can compile" >&5 printf %s "checking if MCA component sharedfp:individual can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_sharedfp" = "individual" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"individual\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"individual\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_sharedfp" ; then if test "$DIRECT_sharedfp" = "individual" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"individual\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"individual\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components individual" fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" ; then BUILD_ompi_sharedfp_individual_DSO=1 else BUILD_ompi_sharedfp_individual_DSO=0 fi if test "$BUILD_ompi_sharedfp_individual_DSO" = "1"; then MCA_BUILD_ompi_sharedfp_individual_DSO_TRUE= MCA_BUILD_ompi_sharedfp_individual_DSO_FALSE='#' else MCA_BUILD_ompi_sharedfp_individual_DSO_TRUE='#' MCA_BUILD_ompi_sharedfp_individual_DSO_FALSE= fi ac_config_files="$ac_config_files ompi/mca/sharedfp/individual/Makefile" unset compile_mode opal_show_subsubsubtitle "MCA component sharedfp:lockedfile (no configuration)" opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: before, should_build=$want_io_ompio" component_path="$srcdir/ompi/mca/sharedfp/lockedfile" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_sharedfp" ; then if test "$DIRECT_sharedfp" = "lockedfile" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_sharedfp" = "1" then : want_component=0 fi if test "${DISABLE_sharedfp_lockedfile}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$want_io_ompio else case e in @%:@( e) should_build=0 ;; esac fi if test ${ompi_sharedfp_lockedfile_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_sharedfp" SHARED_COMPONENT="$DSO_sharedfp_lockedfile" STATIC_FRAMEWORK="$STATIC_sharedfp" STATIC_COMPONENT="$STATIC_sharedfp_lockedfile" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_sharedfp_lockedfile_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component sharedfp:lockedfile compile mode" >&5 printf %s "checking for MCA component sharedfp:lockedfile compile mode... " >&6; } if test "$DIRECT_sharedfp" = "lockedfile" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_sharedfp_lockedfile_compile_mode opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" ; then # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/sharedfp/lockedfile/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components lockedfile" if test "$compile_mode" = "dso" ; then dso_components="$dso_components lockedfile" else if test "sharedfp" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/sharedfp/lockedfile/lib${OMPI_LIB_NAME}mca_sharedfp_lockedfile.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/sharedfp/lockedfile/libmca_sharedfp_lockedfile.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_sharedfp_lockedfile_component;" >> $outfile.extern echo " &mca_sharedfp_lockedfile_component, " >> $outfile.struct static_components="$static_components lockedfile" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component sharedfp:lockedfile can compile" >&5 printf %s "checking if MCA component sharedfp:lockedfile can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_sharedfp" = "lockedfile" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_sharedfp_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** sharedfp component lockedfile was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_sharedfp" = "lockedfile" ; then as_fn_error $? "*** sharedfp component lockedfile was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${sharedfp_lockedfile_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${sharedfp_lockedfile_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${sharedfp_lockedfile_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${sharedfp_lockedfile_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${sharedfp_lockedfile_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${sharedfp_lockedfile_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$sharedfp_lockedfile_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $sharedfp_lockedfile_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring sharedfp_lockedfile_WRAPPER_EXTRA_CPPFLAGS ($sharedfp_lockedfile_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring sharedfp_lockedfile_WRAPPER_EXTRA_CPPFLAGS ($sharedfp_lockedfile_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component sharedfp:lockedfile can compile" >&5 printf %s "checking if MCA component sharedfp:lockedfile can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_sharedfp" = "lockedfile" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"lockedfile\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"lockedfile\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_sharedfp" ; then if test "$DIRECT_sharedfp" = "lockedfile" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"lockedfile\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"lockedfile\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components lockedfile" fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" ; then BUILD_ompi_sharedfp_lockedfile_DSO=1 else BUILD_ompi_sharedfp_lockedfile_DSO=0 fi if test "$BUILD_ompi_sharedfp_lockedfile_DSO" = "1"; then MCA_BUILD_ompi_sharedfp_lockedfile_DSO_TRUE= MCA_BUILD_ompi_sharedfp_lockedfile_DSO_FALSE='#' else MCA_BUILD_ompi_sharedfp_lockedfile_DSO_TRUE='#' MCA_BUILD_ompi_sharedfp_lockedfile_DSO_FALSE= fi ac_config_files="$ac_config_files ompi/mca/sharedfp/lockedfile/Makefile" unset compile_mode # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=$want_io_ompio components_last_result=0 opal_show_subsubsubtitle "MCA component sharedfp:sm (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/ompi/mca/sharedfp/sm" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_sharedfp" ; then if test "$DIRECT_sharedfp" = "sm" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_sharedfp" = "1" then : want_component=0 fi if test "${DISABLE_sharedfp_sm}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${ompi_sharedfp_sm_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_sharedfp" SHARED_COMPONENT="$DSO_sharedfp_sm" STATIC_FRAMEWORK="$STATIC_sharedfp" STATIC_COMPONENT="$STATIC_sharedfp_sm" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_sharedfp_sm_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component sharedfp:sm compile mode" >&5 printf %s "checking for MCA component sharedfp:sm compile mode... " >&6; } if test "$DIRECT_sharedfp" = "sm" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_sharedfp_sm_compile_mode # try to configure the component ac_config_files="$ac_config_files ompi/mca/sharedfp/sm/Makefile" sharedfp_sm_happy=no ac_fn_c_check_header_compile "$LINENO" "semaphore.h" "ac_cv_header_semaphore_h" "$ac_includes_default" if test "x$ac_cv_header_semaphore_h" = xyes then : opal_var_scope_push ${LINENO} LIBS_save add LIBS_save=$LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing sem_open" >&5 printf %s "checking for library containing sem_open... " >&6; } if test ${ac_cv_search_sem_open+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* 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. The 'extern "C"' is for builds by C++ compilers; although this is not generally supported in C code supporting it here has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif char sem_open (void); int main (void) { return sem_open (); ; return 0; } _ACEOF for ac_lib in '' pthread do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO" then : ac_cv_search_sem_open=$ac_res fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext if test ${ac_cv_search_sem_open+y} then : break fi done if test ${ac_cv_search_sem_open+y} then : else case e in @%:@( e) ac_cv_search_sem_open=no ;; esac fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_sem_open" >&5 printf "%s\n" "$ac_cv_search_sem_open" >&6; } ac_res=$ac_cv_search_sem_open if test "$ac_res" != no then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" # Found it! See if anything was added to LIBS add=`printf '%s\n' "$LIBS" | sed -e "s/$LIBS_save$//"` if test -n "$add" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $add; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${sharedfp_sm_LIBS}; 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 "${sharedfp_sm_LIBS}" then : sharedfp_sm_LIBS="$oac_list_arg" else case e in @%:@( e) sharedfp_sm_LIBS="${sharedfp_sm_LIBS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi sharedfp_sm_have_sem_open=1 for ac_func in sem_open do : ac_fn_c_check_func "$LINENO" "sem_open" "ac_cv_func_sem_open" if test "x$ac_cv_func_sem_open" = xyes then : printf "%s\n" "@%:@define HAVE_SEM_OPEN 1" >>confdefs.h sharedfp_sm_happy="yes" fi done else case e in @%:@( e) sharedfp_sm_have_sem_open=0 ;; esac fi printf "%s\n" "@%:@define OPAL_HAVE_SHAREDFP_SM $sharedfp_sm_have_sem_open" >>confdefs.h opal_var_scope_pop LIBS_save add fi ac_fn_c_check_header_compile "$LINENO" "semaphore.h" "ac_cv_header_semaphore_h" "$ac_includes_default" if test "x$ac_cv_header_semaphore_h" = xyes then : opal_var_scope_push ${LINENO} LIBS_save add LIBS_save=$LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing sem_init" >&5 printf %s "checking for library containing sem_init... " >&6; } if test ${ac_cv_search_sem_init+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* 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. The 'extern "C"' is for builds by C++ compilers; although this is not generally supported in C code supporting it here has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif char sem_init (void); int main (void) { return sem_init (); ; return 0; } _ACEOF for ac_lib in '' pthread do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO" then : ac_cv_search_sem_init=$ac_res fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext if test ${ac_cv_search_sem_init+y} then : break fi done if test ${ac_cv_search_sem_init+y} then : else case e in @%:@( e) ac_cv_search_sem_init=no ;; esac fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_sem_init" >&5 printf "%s\n" "$ac_cv_search_sem_init" >&6; } ac_res=$ac_cv_search_sem_init if test "$ac_res" != no then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" # Found it! See if anything was added to LIBS add=`printf '%s\n' "$LIBS" | sed -e "s/$LIBS_save$//"` if test -n "$add" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $add; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${sharedfp_sm_LIBS}; 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 "${sharedfp_sm_LIBS}" then : sharedfp_sm_LIBS="$oac_list_arg" else case e in @%:@( e) sharedfp_sm_LIBS="${sharedfp_sm_LIBS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi sharedfp_sm_have_sem_init=1 for ac_func in sem_init do : ac_fn_c_check_func "$LINENO" "sem_init" "ac_cv_func_sem_init" if test "x$ac_cv_func_sem_init" = xyes then : printf "%s\n" "@%:@define HAVE_SEM_INIT 1" >>confdefs.h sharedfp_sm_happy="yes" fi done else case e in @%:@( e) sharedfp_sm_have_sem_init=0 ;; esac fi printf "%s\n" "@%:@define OPAL_HAVE_SHAREDFP_SM $sharedfp_sm_have_sem_init" >>confdefs.h opal_var_scope_pop LIBS_save add fi if test "$sharedfp_sm_happy" = "yes" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/sharedfp/sm/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components sm" if test "$compile_mode" = "dso" ; then dso_components="$dso_components sm" else if test "sharedfp" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/sharedfp/sm/lib${OMPI_LIB_NAME}mca_sharedfp_sm.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/sharedfp/sm/libmca_sharedfp_sm.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_sharedfp_sm_component;" >> $outfile.extern echo " &mca_sharedfp_sm_component, " >> $outfile.struct static_components="$static_components sm" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component sharedfp:sm can compile" >&5 printf %s "checking if MCA component sharedfp:sm can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_sharedfp" = "sm" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_sharedfp_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** sharedfp component sm was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_sharedfp" = "sm" ; then as_fn_error $? "*** sharedfp component sm was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${sharedfp_sm_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${sharedfp_sm_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${sharedfp_sm_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${sharedfp_sm_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${sharedfp_sm_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${sharedfp_sm_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$sharedfp_sm_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $sharedfp_sm_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring sharedfp_sm_WRAPPER_EXTRA_CPPFLAGS ($sharedfp_sm_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring sharedfp_sm_WRAPPER_EXTRA_CPPFLAGS ($sharedfp_sm_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component sharedfp:sm can compile" >&5 printf %s "checking if MCA component sharedfp:sm can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_sharedfp" = "sm" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"sm\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"sm\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_sharedfp" ; then if test "$DIRECT_sharedfp" = "sm" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"sm\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"sm\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components sm" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_ompi_sharedfp_sm_DSO=1 else case e in @%:@( e) BUILD_ompi_sharedfp_sm_DSO=0 ;; esac fi if test "$BUILD_ompi_sharedfp_sm_DSO" = "1"; then MCA_BUILD_ompi_sharedfp_sm_DSO_TRUE= MCA_BUILD_ompi_sharedfp_sm_DSO_FALSE='#' else MCA_BUILD_ompi_sharedfp_sm_DSO_TRUE='#' MCA_BUILD_ompi_sharedfp_sm_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test ${DIRECT_sharedfp+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for sharedfp framework" >&5 printf %s "checking if direct-selection component exists for sharedfp framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_sharedfp" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_sharedfp requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_sharedfp" >&5 printf "%s\n" "$DIRECT_sharedfp" >&6; } fi MCA_ompi_sharedfp_ALL_COMPONENTS="$all_components" MCA_ompi_sharedfp_STATIC_COMPONENTS="$static_components" MCA_ompi_sharedfp_DSO_COMPONENTS="$dso_components" MCA_ompi_sharedfp_STATIC_LTLIBS="$static_ltlibs" MCA_ompi_sharedfp_ALL_SUBDIRS= for item in $all_components ; do MCA_ompi_sharedfp_ALL_SUBDIRS="$MCA_ompi_sharedfp_ALL_SUBDIRS mca/sharedfp/$item" done MCA_ompi_sharedfp_STATIC_SUBDIRS= for item in $static_components ; do MCA_ompi_sharedfp_STATIC_SUBDIRS="$MCA_ompi_sharedfp_STATIC_SUBDIRS mca/sharedfp/$item" done MCA_ompi_sharedfp_DSO_SUBDIRS= for item in $dso_components ; do MCA_ompi_sharedfp_DSO_SUBDIRS="$MCA_ompi_sharedfp_DSO_SUBDIRS mca/sharedfp/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "sharedfp" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real opal_var_scope_pop want_io_ompio MCA_ompi_FRAMEWORKS="$MCA_ompi_FRAMEWORKS topo" MCA_ompi_FRAMEWORKS_SUBDIRS="$MCA_ompi_FRAMEWORKS_SUBDIRS mca/topo" MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_ompi_topo_ALL_SUBDIRS)" MCA_ompi_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_ompi_topo_DSO_SUBDIRS)" MCA_ompi_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_ompi_topo_STATIC_SUBDIRS)" mca_ompi_framework_base_lib="mca/topo/libmca_topo.la" MCA_ompi_FRAMEWORK_LIBS="$MCA_ompi_FRAMEWORK_LIBS ${mca_ompi_framework_base_lib} \$(MCA_ompi_topo_STATIC_LTLIBS)" opal_show_subsubtitle "Configuring MCA framework topo" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=ompi/mca/topo/base as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files ompi/mca/topo/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework topo" >&5 printf %s "checking for no configure components in framework topo... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: basic" >&5 printf "%s\n" "basic" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework topo" >&5 printf %s "checking for m4 configure components in framework topo... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: treematch" >&5 printf "%s\n" "treematch" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components opal_show_subsubsubtitle "MCA component topo:basic (no configuration)" opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: before, should_build=1" component_path="$srcdir/ompi/mca/topo/basic" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_topo" ; then if test "$DIRECT_topo" = "basic" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_topo" = "1" then : want_component=0 fi if test "${DISABLE_topo_basic}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=1 else case e in @%:@( e) should_build=0 ;; esac fi if test ${ompi_topo_basic_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_topo" SHARED_COMPONENT="$DSO_topo_basic" STATIC_FRAMEWORK="$STATIC_topo" STATIC_COMPONENT="$STATIC_topo_basic" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_topo_basic_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component topo:basic compile mode" >&5 printf %s "checking for MCA component topo:basic compile mode... " >&6; } if test "$DIRECT_topo" = "basic" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_topo_basic_compile_mode opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" ; then # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/topo/basic/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components basic" if test "$compile_mode" = "dso" ; then dso_components="$dso_components basic" else if test "topo" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/topo/basic/lib${OMPI_LIB_NAME}mca_topo_basic.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/topo/basic/libmca_topo_basic.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_topo_basic_component;" >> $outfile.extern echo " &mca_topo_basic_component, " >> $outfile.struct static_components="$static_components basic" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component topo:basic can compile" >&5 printf %s "checking if MCA component topo:basic can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_topo" = "basic" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_topo_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** topo component basic was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_topo" = "basic" ; then as_fn_error $? "*** topo component basic was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${topo_basic_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${topo_basic_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${topo_basic_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${topo_basic_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${topo_basic_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${topo_basic_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$topo_basic_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $topo_basic_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring topo_basic_WRAPPER_EXTRA_CPPFLAGS ($topo_basic_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring topo_basic_WRAPPER_EXTRA_CPPFLAGS ($topo_basic_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component topo:basic can compile" >&5 printf %s "checking if MCA component topo:basic can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_topo" = "basic" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"basic\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"basic\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_topo" ; then if test "$DIRECT_topo" = "basic" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"basic\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"basic\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components basic" fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" ; then BUILD_ompi_topo_basic_DSO=1 else BUILD_ompi_topo_basic_DSO=0 fi if test "$BUILD_ompi_topo_basic_DSO" = "1"; then MCA_BUILD_ompi_topo_basic_DSO_TRUE= MCA_BUILD_ompi_topo_basic_DSO_FALSE='#' else MCA_BUILD_ompi_topo_basic_DSO_TRUE='#' MCA_BUILD_ompi_topo_basic_DSO_FALSE= fi ac_config_files="$ac_config_files ompi/mca/topo/basic/Makefile" unset compile_mode # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=1 components_last_result=0 opal_show_subsubsubtitle "MCA component topo:treematch (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/ompi/mca/topo/treematch" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_topo" ; then if test "$DIRECT_topo" = "treematch" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_topo" = "1" then : want_component=0 fi if test "${DISABLE_topo_treematch}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${ompi_topo_treematch_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_topo" SHARED_COMPONENT="$DSO_topo_treematch" STATIC_FRAMEWORK="$STATIC_topo" STATIC_COMPONENT="$STATIC_topo_treematch" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_topo_treematch_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component topo:treematch compile mode" >&5 printf %s "checking for MCA component topo:treematch compile mode... " >&6; } if test "$DIRECT_topo" = "treematch" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_topo_treematch_compile_mode # try to configure the component opal_var_scope_push ${LINENO} treematch_builddir @%:@ Check whether --with-treematch was given. if test ${with_treematch+y} then : withval=$with_treematch; else case e in @%:@( e) with_treematch=yes ;; esac fi if test "$with_treematch" != "yes" -a "$with_treematch" != "no" then : as_fn_error $? "Valid values for --with-treematch are yes or no." "$LINENO" 5 fi treematch_builddir="${OMPI_TOP_BUILDDIR}/3rd-party/treematch" if test "${opal_config_treematch_run_once}" != "yes" then : if ! test -d ${treematch_builddir} then : mkdir -p ${treematch_builddir} fi cat > ${treematch_builddir}/config.h << EOF /* * This file is automatically generated by configure. Edits will be lost * * This is an dummy config.h in order to prevent the embedded treematch from using * the config.h from the embedded hwloc * * see https://github.com/open-mpi/ompi/pull/6185#issuecomment-458807930 */ EOF ac_config_files="$ac_config_files 3rd-party/treematch/Makefile" OPAL_3RDPARTY_DIST_SUBDIRS="$OPAL_3RDPARTY_DIST_SUBDIRS treematch" if test "${with_treematch}" = "yes" then : OPAL_3RDPARTY_SUBDIRS="$OPAL_3RDPARTY_SUBDIRS treematch" fi opal_config_treematch_run_once=yes fi topo_treematch_CPPFLAGS="-I$OMPI_TOP_SRCDIR/3rd-party/treematch" topo_treematch_LIBS="${OMPI_TOP_BUILDDIR}/3rd-party/treematch/libtreematch.la" if test "${with_treematch}" = "yes" then : should_build=$should_build else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Treematch explicitly disabled via --with-treematch=no" >&5 printf "%s\n" "$as_me: Treematch explicitly disabled via --with-treematch=no" >&6;} should_build=0 ;; esac fi opal_var_scope_pop treematch_builddir ac_config_files="$ac_config_files ompi/mca/topo/treematch/Makefile" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/topo/treematch/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components treematch" if test "$compile_mode" = "dso" ; then dso_components="$dso_components treematch" else if test "topo" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/topo/treematch/lib${OMPI_LIB_NAME}mca_topo_treematch.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/topo/treematch/libmca_topo_treematch.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_topo_treematch_component;" >> $outfile.extern echo " &mca_topo_treematch_component, " >> $outfile.struct static_components="$static_components treematch" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component topo:treematch can compile" >&5 printf %s "checking if MCA component topo:treematch can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_topo" = "treematch" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_topo_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** topo component treematch was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_topo" = "treematch" ; then as_fn_error $? "*** topo component treematch was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${topo_treematch_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${topo_treematch_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${topo_treematch_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${topo_treematch_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${topo_treematch_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${topo_treematch_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$topo_treematch_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $topo_treematch_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring topo_treematch_WRAPPER_EXTRA_CPPFLAGS ($topo_treematch_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring topo_treematch_WRAPPER_EXTRA_CPPFLAGS ($topo_treematch_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component topo:treematch can compile" >&5 printf %s "checking if MCA component topo:treematch can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_topo" = "treematch" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"treematch\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"treematch\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_topo" ; then if test "$DIRECT_topo" = "treematch" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"treematch\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"treematch\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components treematch" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_ompi_topo_treematch_DSO=1 else case e in @%:@( e) BUILD_ompi_topo_treematch_DSO=0 ;; esac fi if test "$BUILD_ompi_topo_treematch_DSO" = "1"; then MCA_BUILD_ompi_topo_treematch_DSO_TRUE= MCA_BUILD_ompi_topo_treematch_DSO_FALSE='#' else MCA_BUILD_ompi_topo_treematch_DSO_TRUE='#' MCA_BUILD_ompi_topo_treematch_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test ${DIRECT_topo+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for topo framework" >&5 printf %s "checking if direct-selection component exists for topo framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_topo" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_topo requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_topo" >&5 printf "%s\n" "$DIRECT_topo" >&6; } fi MCA_ompi_topo_ALL_COMPONENTS="$all_components" MCA_ompi_topo_STATIC_COMPONENTS="$static_components" MCA_ompi_topo_DSO_COMPONENTS="$dso_components" MCA_ompi_topo_STATIC_LTLIBS="$static_ltlibs" MCA_ompi_topo_ALL_SUBDIRS= for item in $all_components ; do MCA_ompi_topo_ALL_SUBDIRS="$MCA_ompi_topo_ALL_SUBDIRS mca/topo/$item" done MCA_ompi_topo_STATIC_SUBDIRS= for item in $static_components ; do MCA_ompi_topo_STATIC_SUBDIRS="$MCA_ompi_topo_STATIC_SUBDIRS mca/topo/$item" done MCA_ompi_topo_DSO_SUBDIRS= for item in $dso_components ; do MCA_ompi_topo_DSO_SUBDIRS="$MCA_ompi_topo_DSO_SUBDIRS mca/topo/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "topo" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real MCA_ompi_FRAMEWORKS="$MCA_ompi_FRAMEWORKS vprotocol" MCA_ompi_FRAMEWORKS_SUBDIRS="$MCA_ompi_FRAMEWORKS_SUBDIRS mca/vprotocol" MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_ompi_vprotocol_ALL_SUBDIRS)" MCA_ompi_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_ompi_vprotocol_DSO_SUBDIRS)" MCA_ompi_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_ompi_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_ompi_vprotocol_STATIC_SUBDIRS)" mca_ompi_framework_base_lib="mca/vprotocol/libmca_vprotocol.la" MCA_ompi_FRAMEWORK_LIBS="$MCA_ompi_FRAMEWORK_LIBS ${mca_ompi_framework_base_lib} \$(MCA_ompi_vprotocol_STATIC_LTLIBS)" opal_show_subsubtitle "Configuring MCA framework vprotocol" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=ompi/mca/vprotocol/base as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files ompi/mca/vprotocol/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework vprotocol" >&5 printf %s "checking for no configure components in framework vprotocol... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: pessimist" >&5 printf "%s\n" "pessimist" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework vprotocol" >&5 printf %s "checking for m4 configure components in framework vprotocol... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components opal_show_subsubsubtitle "MCA component vprotocol:pessimist (no configuration)" opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: before, should_build=1" component_path="$srcdir/ompi/mca/vprotocol/pessimist" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_vprotocol" ; then if test "$DIRECT_vprotocol" = "pessimist" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_vprotocol" = "1" then : want_component=0 fi if test "${DISABLE_vprotocol_pessimist}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=1 else case e in @%:@( e) should_build=0 ;; esac fi if test ${ompi_vprotocol_pessimist_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_vprotocol" SHARED_COMPONENT="$DSO_vprotocol_pessimist" STATIC_FRAMEWORK="$STATIC_vprotocol" STATIC_COMPONENT="$STATIC_vprotocol_pessimist" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi ompi_vprotocol_pessimist_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component vprotocol:pessimist compile mode" >&5 printf %s "checking for MCA component vprotocol:pessimist compile mode... " >&6; } if test "$DIRECT_vprotocol" = "pessimist" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$ompi_vprotocol_pessimist_compile_mode opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" ; then # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/ompi/mca/vprotocol/pessimist/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components pessimist" if test "$compile_mode" = "dso" ; then dso_components="$dso_components pessimist" else if test "vprotocol" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/vprotocol/pessimist/lib${OMPI_LIB_NAME}mca_vprotocol_pessimist.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/vprotocol/pessimist/libmca_vprotocol_pessimist.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_vprotocol_pessimist_component;" >> $outfile.extern echo " &mca_vprotocol_pessimist_component, " >> $outfile.struct static_components="$static_components pessimist" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component vprotocol:pessimist can compile" >&5 printf %s "checking if MCA component vprotocol:pessimist can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_vprotocol" = "pessimist" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_ompi_vprotocol_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** vprotocol component pessimist was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_vprotocol" = "pessimist" ; then as_fn_error $? "*** vprotocol component pessimist was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${vprotocol_pessimist_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${vprotocol_pessimist_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${vprotocol_pessimist_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${vprotocol_pessimist_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${vprotocol_pessimist_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${vprotocol_pessimist_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$vprotocol_pessimist_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $vprotocol_pessimist_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring vprotocol_pessimist_WRAPPER_EXTRA_CPPFLAGS ($vprotocol_pessimist_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring vprotocol_pessimist_WRAPPER_EXTRA_CPPFLAGS ($vprotocol_pessimist_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component vprotocol:pessimist can compile" >&5 printf %s "checking if MCA component vprotocol:pessimist can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_vprotocol" = "pessimist" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"pessimist\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"pessimist\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_vprotocol" ; then if test "$DIRECT_vprotocol" = "pessimist" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"pessimist\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"pessimist\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components pessimist" fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" ; then BUILD_ompi_vprotocol_pessimist_DSO=1 else BUILD_ompi_vprotocol_pessimist_DSO=0 fi if test "$BUILD_ompi_vprotocol_pessimist_DSO" = "1"; then MCA_BUILD_ompi_vprotocol_pessimist_DSO_TRUE= MCA_BUILD_ompi_vprotocol_pessimist_DSO_FALSE='#' else MCA_BUILD_ompi_vprotocol_pessimist_DSO_TRUE='#' MCA_BUILD_ompi_vprotocol_pessimist_DSO_FALSE= fi ac_config_files="$ac_config_files ompi/mca/vprotocol/pessimist/Makefile" unset compile_mode # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=1 components_last_result=0 if test ${DIRECT_vprotocol+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for vprotocol framework" >&5 printf %s "checking if direct-selection component exists for vprotocol framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_vprotocol" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_vprotocol requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_vprotocol" >&5 printf "%s\n" "$DIRECT_vprotocol" >&6; } fi MCA_ompi_vprotocol_ALL_COMPONENTS="$all_components" MCA_ompi_vprotocol_STATIC_COMPONENTS="$static_components" MCA_ompi_vprotocol_DSO_COMPONENTS="$dso_components" MCA_ompi_vprotocol_STATIC_LTLIBS="$static_ltlibs" MCA_ompi_vprotocol_ALL_SUBDIRS= for item in $all_components ; do MCA_ompi_vprotocol_ALL_SUBDIRS="$MCA_ompi_vprotocol_ALL_SUBDIRS mca/vprotocol/$item" done MCA_ompi_vprotocol_STATIC_SUBDIRS= for item in $static_components ; do MCA_ompi_vprotocol_STATIC_SUBDIRS="$MCA_ompi_vprotocol_STATIC_SUBDIRS mca/vprotocol/$item" done MCA_ompi_vprotocol_DSO_SUBDIRS= for item in $dso_components ; do MCA_ompi_vprotocol_DSO_SUBDIRS="$MCA_ompi_vprotocol_DSO_SUBDIRS mca/vprotocol/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "vprotocol" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real # note that mca_wrapper_extra_* is a running list, and we take checkpoints at the end of our project ompi_mca_wrapper_extra_cppflags="$mca_wrapper_extra_cppflags" ompi_mca_wrapper_extra_ldflags="$mca_wrapper_extra_ldflags" ompi_mca_wrapper_extra_libs="$mca_wrapper_extra_libs" MCA_PROJECT_SUBDIRS="$MCA_PROJECT_SUBDIRS oshmem" MCA_PROJECT_DIST_SUBDIRS="$MCA_PROJECT_DIST_SUBDIRS oshmem" # can't use a variable rename here because these need to be evaled # at auto* time. opal_show_subtitle "Configuring MCA for oshmem" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for frameworks for oshmem" >&5 printf %s "checking for frameworks for oshmem... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: atomic, memheap, scoll, spml, sshmem" >&5 printf "%s\n" "atomic, memheap, scoll, spml, sshmem" >&6; } # iterate through the list of frameworks. There is something # funky with m4 foreach if the list is defined, but empty. It # will call the 3rd argument once with an empty value for the # first argument. Protect against calling MCA_CONFIGURE_FRAMEWORK # with an empty second argument. Grrr.... # if there isn't a project list, abort # # Also setup two variables for Makefiles: # MCA_project_FRAMEWORKS - list of frameworks in that project # MCA_project_FRAMEWORK_LIBS - list of libraries (or variables pointing # to more libraries) that must be included # in the project's main library MCA_oshmem_FRAMEWORKS= MCA_oshmem_FRAMEWORKS_SUBDIRS= MCA_oshmem_FRAMEWORK_COMPONENT_ALL_SUBDIRS= MCA_oshmem_FRAMEWORK_COMPONENT_DSO_SUBDIRS= MCA_oshmem_FRAMEWORK_COMPONENT_STATIC_SUBDIRS= MCA_oshmem_FRAMEWORK_LIBS= MCA_oshmem_FRAMEWORK_CORE_LIBS= MCA_oshmem_FRAMEWORKS="$MCA_oshmem_FRAMEWORKS atomic" MCA_oshmem_FRAMEWORKS_SUBDIRS="$MCA_oshmem_FRAMEWORKS_SUBDIRS mca/atomic" MCA_oshmem_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_oshmem_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_oshmem_atomic_ALL_SUBDIRS)" MCA_oshmem_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_oshmem_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_oshmem_atomic_DSO_SUBDIRS)" MCA_oshmem_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_oshmem_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_oshmem_atomic_STATIC_SUBDIRS)" mca_oshmem_framework_base_lib="mca/atomic/libmca_atomic.la" MCA_oshmem_FRAMEWORK_LIBS="$MCA_oshmem_FRAMEWORK_LIBS ${mca_oshmem_framework_base_lib} \$(MCA_oshmem_atomic_STATIC_LTLIBS)" opal_show_subsubtitle "Configuring MCA framework atomic" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=oshmem/mca/atomic/base as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files oshmem/mca/atomic/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework atomic" >&5 printf %s "checking for no configure components in framework atomic... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: basic" >&5 printf "%s\n" "basic" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework atomic" >&5 printf %s "checking for m4 configure components in framework atomic... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ucx" >&5 printf "%s\n" "ucx" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components opal_show_subsubsubtitle "MCA component atomic:basic (no configuration)" opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: before, should_build=1" component_path="$srcdir/oshmem/mca/atomic/basic" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_atomic" ; then if test "$DIRECT_atomic" = "basic" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_atomic" = "1" then : want_component=0 fi if test "${DISABLE_atomic_basic}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=1 else case e in @%:@( e) should_build=0 ;; esac fi if test ${oshmem_atomic_basic_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_atomic" SHARED_COMPONENT="$DSO_atomic_basic" STATIC_FRAMEWORK="$STATIC_atomic" STATIC_COMPONENT="$STATIC_atomic_basic" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi oshmem_atomic_basic_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component atomic:basic compile mode" >&5 printf %s "checking for MCA component atomic:basic compile mode... " >&6; } if test "$DIRECT_atomic" = "basic" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$oshmem_atomic_basic_compile_mode opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" ; then # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/oshmem/mca/atomic/basic/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components basic" if test "$compile_mode" = "dso" ; then dso_components="$dso_components basic" else if test "atomic" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/atomic/basic/lib${OSHMEM_LIB_NAME}mca_atomic_basic.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/atomic/basic/libmca_atomic_basic.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_atomic_basic_component;" >> $outfile.extern echo " &mca_atomic_basic_component, " >> $outfile.struct static_components="$static_components basic" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component atomic:basic can compile" >&5 printf %s "checking if MCA component atomic:basic can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_atomic" = "basic" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_oshmem_atomic_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** atomic component basic was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_atomic" = "basic" ; then as_fn_error $? "*** atomic component basic was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${atomic_basic_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${atomic_basic_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${atomic_basic_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${atomic_basic_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${atomic_basic_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${atomic_basic_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$atomic_basic_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $atomic_basic_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring atomic_basic_WRAPPER_EXTRA_CPPFLAGS ($atomic_basic_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring atomic_basic_WRAPPER_EXTRA_CPPFLAGS ($atomic_basic_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component atomic:basic can compile" >&5 printf %s "checking if MCA component atomic:basic can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_atomic" = "basic" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"basic\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"basic\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_atomic" ; then if test "$DIRECT_atomic" = "basic" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"basic\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"basic\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components basic" fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" ; then BUILD_oshmem_atomic_basic_DSO=1 else BUILD_oshmem_atomic_basic_DSO=0 fi if test "$BUILD_oshmem_atomic_basic_DSO" = "1"; then MCA_BUILD_oshmem_atomic_basic_DSO_TRUE= MCA_BUILD_oshmem_atomic_basic_DSO_FALSE='#' else MCA_BUILD_oshmem_atomic_basic_DSO_TRUE='#' MCA_BUILD_oshmem_atomic_basic_DSO_FALSE= fi ac_config_files="$ac_config_files oshmem/mca/atomic/basic/Makefile" unset compile_mode # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=1 components_last_result=0 opal_show_subsubsubtitle "MCA component atomic:ucx (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/oshmem/mca/atomic/ucx" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_atomic" ; then if test "$DIRECT_atomic" = "ucx" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_atomic" = "1" then : want_component=0 fi if test "${DISABLE_atomic_ucx}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${oshmem_atomic_ucx_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_atomic" SHARED_COMPONENT="$DSO_atomic_ucx" STATIC_FRAMEWORK="$STATIC_atomic" STATIC_COMPONENT="$STATIC_atomic_ucx" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi oshmem_atomic_ucx_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component atomic:ucx compile mode" >&5 printf %s "checking for MCA component atomic:ucx compile mode... " >&6; } if test "$DIRECT_atomic" = "ucx" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$oshmem_atomic_ucx_compile_mode # try to configure the component ac_config_files="$ac_config_files oshmem/mca/atomic/ucx/Makefile" opal_var_scope_push ${LINENO} ompi_check_ucx_happy ompi_check_ucx_CPPFLAGS_save ompi_check_ucx_LDFLAGS_save ompi_check_ucx_LIBS_save @%:@ Check whether --with-ucx was given. if test ${with_ucx+y} then : withval=$with_ucx; fi @%:@ Check whether --with-ucx-libdir was given. if test ${with_ucx_libdir+y} then : withval=$with_ucx_libdir; fi # ****************************** START CHECK PACKAGE FOR ucx ****************************** oac_var_scope_push ${LINENO} check_package_atomic_ucx_save_CPPFLAGS check_package_atomic_ucx_save_LDFLAGS check_package_atomic_ucx_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_atomic_ucx_save_CPPFLAGS="${CPPFLAGS}" check_package_atomic_ucx_save_LDFLAGS="${LDFLAGS}" check_package_atomic_ucx_save_LIBS="${LIBS}" atomic_ucx_CPPFLAGS= atomic_ucx_LDFLAGS= atomic_ucx_STATIC_LDFLAGS= atomic_ucx_LIBS= atomic_ucx_STATIC_LIBS= { atomic_ucx_PC_MODULES=; unset atomic_ucx_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_ucx" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package ucx disabled by user" >&5 printf "%s\n" "$as_me: Package ucx disabled by user" >&6;} check_package_happy=0 elif test "${with_ucx}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_ucx}" ;; esac fi check_package_libdir= if test "${with_ucx_libdir}" = "no" -o "${with_ucx_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-ucx-libdir" "$LINENO" 5 elif test -n "${with_ucx_libdir}" then : check_package_libdir="${with_ucx_libdir}" fi check_package_incdir= if test "${with_ucx_incdir}" = "no" -o "${with_ucx_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-ucx-incdir" "$LINENO" 5 elif test -n "${with_ucx_incdir}" then : check_package_incdir="${with_ucx_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${ucx_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-ucx or --with-ucx-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-ucx only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config name" >&5 printf %s "checking for ucx pkg-config name... " >&6; } if test ${oac_cv_check_package_ucx_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_ucx_pcfilename="ucx" if test -n "${check_package_libdir}" then : oac_cv_check_package_ucx_pcfilename="${check_package_libdir}/pkgconfig/ucx.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_ucx_pcfilename="ucx" elif test -r "${check_package_prefix}/lib/pkgconfig/ucx.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/ucx.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found ucx in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-ucx-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_ucx_pcfilename="${check_package_prefix}/lib/pkgconfig/ucx.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/ucx.pc" then : oac_cv_check_package_ucx_pcfilename="${check_package_prefix}/lib64/pkgconfig/ucx.pc" else case e in @%:@( e) oac_cv_check_package_ucx_pcfilename="${check_package_prefix}/lib/pkgconfig/ucx.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ucx pkg-config module exists" >&5 printf %s "checking if ucx pkg-config module exists... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : atomic_ucx_PC_MODULES=${oac_cv_check_package_ucx_pcfilename} oac_cv_check_package_ucx_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_ucx_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_ucx_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config cflags" >&5 printf %s "checking for ucx pkg-config cflags... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucx_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_cppflags" >&6; } atomic_ucx_CPPFLAGS="${oac_cv_check_package_ucx_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config ldflags" >&5 printf %s "checking for ucx pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucx_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_ldflags" >&6; } atomic_ucx_LDFLAGS="${oac_cv_check_package_ucx_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config static ldflags" >&5 printf %s "checking for ucx pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucx_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_static_ldflags" >&6; } atomic_ucx_STATIC_LDFLAGS="${oac_cv_check_package_ucx_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config libs" >&5 printf %s "checking for ucx pkg-config libs... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucx_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_libs" >&6; } atomic_ucx_LIBS="${oac_cv_check_package_ucx_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config static libs" >&5 printf %s "checking for ucx pkg-config static libs... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucx_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_static_libs" >&6; } atomic_ucx_STATIC_LIBS="${oac_cv_check_package_ucx_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${ucx_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-ucx argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler" >&5 printf %s "checking for ucx wrapper compiler... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_ucx_wrapper_compiler="ucxcc" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler="${check_package_prefix}/bin/ucxcc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ucx wrapper compiler works" >&5 printf %s "checking if ucx wrapper compiler works... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_ucx_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_ucx_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler cppflags" >&5 printf %s "checking for ucx wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucx_wrapper_compiler_cppflags}" then : oac_cv_check_package_ucx_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_cppflags="${oac_cv_check_package_ucx_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_cppflags" >&6; } atomic_ucx_CPPFLAGS="${oac_cv_check_package_ucx_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler ldflags" >&5 printf %s "checking for ucx wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucx_wrapper_compiler_ldflags}" then : oac_cv_check_package_ucx_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_ldflags="${oac_cv_check_package_ucx_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_ldflags" >&6; } atomic_ucx_LDFLAGS="${oac_cv_check_package_ucx_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler static ldflags" >&5 printf %s "checking for ucx wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucx_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_ucx_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_static_ldflags="${oac_cv_check_package_ucx_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_static_ldflags" >&6; } atomic_ucx_STATIC_LDFLAGS="${oac_cv_check_package_ucx_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler libs" >&5 printf %s "checking for ucx wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucx_wrapper_compiler_libs}" then : oac_cv_check_package_ucx_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_libs="${oac_cv_check_package_ucx_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_libs" >&6; } atomic_ucx_LIBS="$oac_cv_check_package_ucx_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler static libs" >&5 printf %s "checking for ucx wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucx_wrapper_compiler_static_libs}" then : oac_cv_check_package_ucx_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_static_libs="${oac_cv_check_package_ucx_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_static_libs" >&6; } atomic_ucx_STATIC_LIBS="${oac_cv_check_package_ucx_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "ucp/api/ucp.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "ucp -luct -lucm -lucs" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx header at ${check_package_generic_incdir}" >&5 printf %s "checking for ucx header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 atomic_ucx_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for ucx library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 atomic_ucx_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for ucx library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-ucx-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 atomic_ucx_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 atomic_ucx_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 atomic_ucx_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for ucx in default search paths" >&5 printf "%s\n" "$as_me: Searching for ucx in default search paths" >&6;} ucx_CPPFLAGS= ucx_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in ucp -luct -lucm -lucs ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${atomic_ucx_LIBS}" then : atomic_ucx_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) atomic_ucx_LIBS="${atomic_ucx_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${atomic_ucx_STATIC_LIBS}" then : atomic_ucx_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) atomic_ucx_STATIC_LIBS="${atomic_ucx_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx cppflags" >&5 printf %s "checking for ucx cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $atomic_ucx_CPPFLAGS" >&5 printf "%s\n" "$atomic_ucx_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx ldflags" >&5 printf %s "checking for ucx ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $atomic_ucx_LDFLAGS" >&5 printf "%s\n" "$atomic_ucx_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx libs" >&5 printf %s "checking for ucx libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $atomic_ucx_LIBS" >&5 printf "%s\n" "$atomic_ucx_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx static libs" >&5 printf %s "checking for ucx static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $atomic_ucx_STATIC_LIBS" >&5 printf "%s\n" "$atomic_ucx_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${atomic_ucx_LDFLAGS}" then : atomic_ucx_LDFLAGS="${atomic_ucx_STATIC_LDFLAGS}" else case e in @%:@( e) atomic_ucx_LDFLAGS="${atomic_ucx_LDFLAGS} ${atomic_ucx_STATIC_LDFLAGS}" ;; esac fi if test -z "${atomic_ucx_LIBS}" then : atomic_ucx_LIBS="${atomic_ucx_STATIC_LIBS}" else case e in @%:@( e) atomic_ucx_LIBS="${atomic_ucx_LIBS} ${atomic_ucx_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "ucp/api/ucp.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${atomic_ucx_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${atomic_ucx_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${atomic_ucx_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${atomic_ucx_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${atomic_ucx_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${atomic_ucx_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "ucp_cleanup" "ac_cv_func_ucp_cleanup" if test "x$ac_cv_func_ucp_cleanup" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ucx requires libnl v1 or v3" >&5 printf %s "checking if ucx requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_ucx+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void ucp_cleanup (void); int main(int argc, char *argv[]) { ucp_cleanup (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib ucx" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib ucx" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_ucx=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_ucx" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_ucx" >&6; } result_msg=$opal_libnl_sanity_check_cv_ucx this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, ucx links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, ucx links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libucx (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libucx (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libucx." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libucx." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas ucx requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas ucx requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libucx (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libucx (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libucx." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libucx." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs ucx" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas ucx requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas ucx requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libucx (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libucx (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libucx." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libucx." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs ucx" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi atomic_ucx_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : atomic_ucx_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) atomic_ucx_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi ompi_check_ucx_happy="yes" else case e in @%:@( e) if test "${with_ucx}" = "no" then : atomic_ucx_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) atomic_ucx_SUMMARY="no (not found)" ;; esac fi { atomic_ucx_CPPFLAGS=; unset atomic_ucx_CPPFLAGS;} { atomic_ucx_LDFLAGS=; unset atomic_ucx_LDFLAGS;} { atomic_ucx_STATIC_LDFLAGS=; unset atomic_ucx_STATIC_LDFLAGS;} { atomic_ucx_LIBS=; unset atomic_ucx_LIBS;} { atomic_ucx_STATIC_LIBS=; unset atomic_ucx_STATIC_LIBS;} ompi_check_ucx_happy="no" ;; esac fi CPPFLAGS="${check_package_atomic_ucx_save_CPPFLAGS}" LDFLAGS="${check_package_atomic_ucx_save_LDFLAGS}" LIBS="${check_package_atomic_ucx_save_LIBS}" oac_var_scope_pop check_package_atomic_ucx_save_CPPFLAGS check_package_atomic_ucx_save_LDFLAGS check_package_atomic_ucx_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR ucx ****************************** ompi_check_ucx_CPPFLAGS_save=${CPPFLAGS} ompi_check_ucx_LDLAGS_save=${LDFLAGS} ompi_check_ucx_LIBS_save=${LIBS} oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${atomic_ucx_CPPFLAGS}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${CPPFLAGS}; 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 "${CPPFLAGS}" then : CPPFLAGS="$oac_list_arg" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${atomic_ucx_LDFLAGS}; 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 case e in @%:@( e) LDFLAGS="${LDFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in ${atomic_ucx_LIBS}; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${LIBS} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${LIBS}" then : LIBS="${oac_list_arg}" else case e in @%:@( e) LIBS="${LIBS} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${LIBS}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi LIBS="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${LIBS}" then : LIBS="${oac_list_arg}" else case e in @%:@( e) LIBS="${LIBS} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable if test "$ompi_check_ucx_happy" = yes then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for UCX version header" >&5 printf %s "checking for UCX version header... " >&6; } if test ${ompi_check_ucx_cv_have_version_header+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : ompi_check_ucx_cv_have_version_header="yes" else case e in @%:@( e) ompi_check_ucx_cv_have_version_header="no" ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_check_ucx_cv_have_version_header" >&5 printf "%s\n" "$ompi_check_ucx_cv_have_version_header" >&6; } if test "${ompi_check_ucx_cv_have_version_header}" != "yes" then : ompi_check_ucx_happy=no fi fi if test "$ompi_check_ucx_happy" = yes then : # Turn off UCX version v1.8 due to issue #8321 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking UCX version 1.8.x" >&5 printf %s "checking UCX version 1.8.x... " >&6; } if test ${ompi_check_ucx_cv_have_version_1_8+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #if (UCP_API_MAJOR == 1) && (UCP_API_MINOR == 8) #error "Invalid version" #endif ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO" then : ompi_check_ucx_cv_have_version_1_8=no else case e in @%:@( e) ompi_check_ucx_cv_have_version_1_8=yes ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_check_ucx_cv_have_version_1_8" >&5 printf "%s\n" "$ompi_check_ucx_cv_have_version_1_8" >&6; } if test "${ompi_check_ucx_cv_have_version_1_8}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: UCX support skipped because version 1.8.x was found, which has a known catastrophic issue." >&5 printf "%s\n" "$as_me: WARNING: UCX support skipped because version 1.8.x was found, which has a known catastrophic issue." >&2;} ompi_check_ucx_happy=no fi fi cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #if (UCP_API_MAJOR < 1) || ((UCP_API_MAJOR == 1) && (UCP_API_MINOR < 9)) #error "Version too low" #endif ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: UCX version is too old, please upgrade to 1.9 or higher." >&5 printf "%s\n" "$as_me: WARNING: UCX version is too old, please upgrade to 1.9 or higher." >&2;} ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext if test "$ompi_check_ucx_happy" = yes then : ac_fn_check_decl "$LINENO" "ucp_tag_send_nbr" "ac_cv_have_decl_ucp_tag_send_nbr" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_tag_send_nbr" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_TAG_SEND_NBR $ac_have_decl" >>confdefs.h if test $ac_have_decl = 1 then : printf "%s\n" "@%:@define HAVE_UCP_TAG_SEND_NBR 1" >>confdefs.h fi ac_fn_check_decl "$LINENO" "ucp_ep_flush_nb" "ac_cv_have_decl_ucp_ep_flush_nb" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_ep_flush_nb" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_EP_FLUSH_NB $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_worker_flush_nb" "ac_cv_have_decl_ucp_worker_flush_nb" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_worker_flush_nb" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_WORKER_FLUSH_NB $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_request_check_status" "ac_cv_have_decl_ucp_request_check_status" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_request_check_status" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_REQUEST_CHECK_STATUS $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_put_nb" "ac_cv_have_decl_ucp_put_nb" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_put_nb" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_PUT_NB $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_get_nb" "ac_cv_have_decl_ucp_get_nb" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_get_nb" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_GET_NB $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_put_nbx" "ac_cv_have_decl_ucp_put_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_put_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_PUT_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_get_nbx" "ac_cv_have_decl_ucp_get_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_get_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_GET_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_atomic_op_nbx" "ac_cv_have_decl_ucp_atomic_op_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_atomic_op_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_OP_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_ep_flush_nbx" "ac_cv_have_decl_ucp_ep_flush_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_ep_flush_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_EP_FLUSH_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucm_test_events" "ac_cv_have_decl_ucm_test_events" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucm_test_events" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCM_TEST_EVENTS $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucm_test_external_events" "ac_cv_have_decl_ucm_test_external_events" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucm_test_external_events" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCM_TEST_EXTERNAL_EVENTS $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_POST_OP_AND" "ac_cv_have_decl_UCP_ATOMIC_POST_OP_AND" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_POST_OP_AND" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_POST_OP_AND $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_POST_OP_OR" "ac_cv_have_decl_UCP_ATOMIC_POST_OP_OR" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_POST_OP_OR" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_POST_OP_OR $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_POST_OP_XOR" "ac_cv_have_decl_UCP_ATOMIC_POST_OP_XOR" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_POST_OP_XOR" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_POST_OP_XOR $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_FETCH_OP_FAND" "ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FAND" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FAND" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_FETCH_OP_FAND $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_FETCH_OP_FOR" "ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FOR" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FOR" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_FETCH_OP_FOR $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_FETCH_OP_FXOR" "ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FXOR" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FXOR" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_FETCH_OP_FXOR $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_PARAM_FIELD_ESTIMATED_NUM_PPN" "ac_cv_have_decl_UCP_PARAM_FIELD_ESTIMATED_NUM_PPN" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_PARAM_FIELD_ESTIMATED_NUM_PPN" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_PARAM_FIELD_ESTIMATED_NUM_PPN $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_WORKER_FLAG_IGNORE_REQUEST_LEAK" "ac_cv_have_decl_UCP_WORKER_FLAG_IGNORE_REQUEST_LEAK" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_WORKER_FLAG_IGNORE_REQUEST_LEAK" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_WORKER_FLAG_IGNORE_REQUEST_LEAK $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_OP_ATTR_FLAG_MULTI_SEND" "ac_cv_have_decl_UCP_OP_ATTR_FLAG_MULTI_SEND" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_OP_ATTR_FLAG_MULTI_SEND" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_OP_ATTR_FLAG_MULTI_SEND $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_MEM_MAP_SYMMETRIC_RKEY" "ac_cv_have_decl_UCP_MEM_MAP_SYMMETRIC_RKEY" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_MEM_MAP_SYMMETRIC_RKEY" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_MEM_MAP_SYMMETRIC_RKEY $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCS_MEMORY_TYPE_RDMA" "ac_cv_have_decl_UCS_MEMORY_TYPE_RDMA" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCS_MEMORY_TYPE_RDMA" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCS_MEMORY_TYPE_RDMA $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS" "ac_cv_have_decl_UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS $ac_have_decl" >>confdefs.h if test $ac_have_decl = 1 then : printf "%s\n" "@%:@define HAVE_UCP_WORKER_ADDRESS_FLAGS 1" >>confdefs.h fi ac_fn_check_decl "$LINENO" "UCP_ATTR_FIELD_MEMORY_TYPES" "ac_cv_have_decl_UCP_ATTR_FIELD_MEMORY_TYPES" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATTR_FIELD_MEMORY_TYPES" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATTR_FIELD_MEMORY_TYPES $ac_have_decl" >>confdefs.h if test $ac_have_decl = 1 then : printf "%s\n" "@%:@define HAVE_UCP_ATTR_MEMORY_TYPES 1" >>confdefs.h fi ac_fn_check_decl "$LINENO" "UCP_EP_ATTR_FIELD_TRANSPORTS" "ac_cv_have_decl_UCP_EP_ATTR_FIELD_TRANSPORTS" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_EP_ATTR_FIELD_TRANSPORTS" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_EP_ATTR_FIELD_TRANSPORTS $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_tag_send_nbx" "ac_cv_have_decl_ucp_tag_send_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_tag_send_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_TAG_SEND_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_tag_send_sync_nbx" "ac_cv_have_decl_ucp_tag_send_sync_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_tag_send_sync_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_TAG_SEND_SYNC_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_tag_recv_nbx" "ac_cv_have_decl_ucp_tag_recv_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_tag_recv_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_TAG_RECV_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_rkey_compare" "ac_cv_have_decl_ucp_rkey_compare" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_rkey_compare" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_RKEY_COMPARE $ac_have_decl" >>confdefs.h ac_fn_c_check_type "$LINENO" "ucp_request_param_t" "ac_cv_type_ucp_request_param_t" "#include " if test "x$ac_cv_type_ucp_request_param_t" = xyes then : printf "%s\n" "@%:@define HAVE_UCP_REQUEST_PARAM_T 1" >>confdefs.h fi fi CPPFLAGS=${ompi_check_ucx_CPPFLAGS_save} LDFLAGS=${ompi_check_ucx_LDLAGS_save} LIBS=${ompi_check_ucx_LIBS_save} 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="Open UCX: $ompi_check_ucx_happy" oac_summary_key="TransportsOpen_UCX" # Use the section name variable as an indicator for whether or not # the section has already been created. if test ${oac_summary_section_Transports_name+y} then : else case e in @%:@( e) oac_summary_section_Transports_name="Transports" if test -z "${oac_summary_sections}" then : oac_summary_sections="Transports" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} Transports" ;; esac fi ;; esac 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 case e in @%:@( e) eval "${oac_summary_key}=1" if test ${oac_summary_section_Transports_value+y} then : as_fn_append oac_summary_section_Transports_value "${oac_summary_newline}${oac_summary_line}" else case e in @%:@( e) oac_summary_section_Transports_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key if test "$ompi_check_ucx_happy" = "yes" then : atomic_ucx_happy="yes" else case e in @%:@( e) if test ! -z "$with_ucx" && test "$with_ucx" != "no" then : as_fn_error $? "UCX support requested but not found. Aborting" "$LINENO" 5 fi atomic_ucx_happy="no" ;; esac fi opal_var_scope_pop ompi_check_ucx_happy ompi_check_ucx_CPPFLAGS_save ompi_check_ucx_LDFLAGS_save ompi_check_ucx_LIBS_save if test "$atomic_ucx_happy" = "yes" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi # substitute in the things needed to build ucx opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/oshmem/mca/atomic/ucx/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components ucx" if test "$compile_mode" = "dso" ; then dso_components="$dso_components ucx" else if test "atomic" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/atomic/ucx/lib${OSHMEM_LIB_NAME}mca_atomic_ucx.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/atomic/ucx/libmca_atomic_ucx.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_atomic_ucx_component;" >> $outfile.extern echo " &mca_atomic_ucx_component, " >> $outfile.struct static_components="$static_components ucx" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component atomic:ucx can compile" >&5 printf %s "checking if MCA component atomic:ucx can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_atomic" = "ucx" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_oshmem_atomic_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** atomic component ucx was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_atomic" = "ucx" ; then as_fn_error $? "*** atomic component ucx was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${atomic_ucx_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${atomic_ucx_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${atomic_ucx_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${atomic_ucx_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${atomic_ucx_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${atomic_ucx_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$atomic_ucx_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $atomic_ucx_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring atomic_ucx_WRAPPER_EXTRA_CPPFLAGS ($atomic_ucx_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring atomic_ucx_WRAPPER_EXTRA_CPPFLAGS ($atomic_ucx_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component atomic:ucx can compile" >&5 printf %s "checking if MCA component atomic:ucx can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_atomic" = "ucx" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ucx\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ucx\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_atomic" ; then if test "$DIRECT_atomic" = "ucx" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ucx\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ucx\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components ucx" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_oshmem_atomic_ucx_DSO=1 else case e in @%:@( e) BUILD_oshmem_atomic_ucx_DSO=0 ;; esac fi if test "$BUILD_oshmem_atomic_ucx_DSO" = "1"; then MCA_BUILD_oshmem_atomic_ucx_DSO_TRUE= MCA_BUILD_oshmem_atomic_ucx_DSO_FALSE='#' else MCA_BUILD_oshmem_atomic_ucx_DSO_TRUE='#' MCA_BUILD_oshmem_atomic_ucx_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test ${DIRECT_atomic+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for atomic framework" >&5 printf %s "checking if direct-selection component exists for atomic framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_atomic" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_atomic requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_atomic" >&5 printf "%s\n" "$DIRECT_atomic" >&6; } fi MCA_oshmem_atomic_ALL_COMPONENTS="$all_components" MCA_oshmem_atomic_STATIC_COMPONENTS="$static_components" MCA_oshmem_atomic_DSO_COMPONENTS="$dso_components" MCA_oshmem_atomic_STATIC_LTLIBS="$static_ltlibs" MCA_oshmem_atomic_ALL_SUBDIRS= for item in $all_components ; do MCA_oshmem_atomic_ALL_SUBDIRS="$MCA_oshmem_atomic_ALL_SUBDIRS mca/atomic/$item" done MCA_oshmem_atomic_STATIC_SUBDIRS= for item in $static_components ; do MCA_oshmem_atomic_STATIC_SUBDIRS="$MCA_oshmem_atomic_STATIC_SUBDIRS mca/atomic/$item" done MCA_oshmem_atomic_DSO_SUBDIRS= for item in $dso_components ; do MCA_oshmem_atomic_DSO_SUBDIRS="$MCA_oshmem_atomic_DSO_SUBDIRS mca/atomic/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "atomic" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real MCA_oshmem_FRAMEWORKS="$MCA_oshmem_FRAMEWORKS memheap" MCA_oshmem_FRAMEWORKS_SUBDIRS="$MCA_oshmem_FRAMEWORKS_SUBDIRS mca/memheap" MCA_oshmem_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_oshmem_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_oshmem_memheap_ALL_SUBDIRS)" MCA_oshmem_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_oshmem_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_oshmem_memheap_DSO_SUBDIRS)" MCA_oshmem_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_oshmem_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_oshmem_memheap_STATIC_SUBDIRS)" mca_oshmem_framework_base_lib="mca/memheap/libmca_memheap.la" MCA_oshmem_FRAMEWORK_LIBS="$MCA_oshmem_FRAMEWORK_LIBS ${mca_oshmem_framework_base_lib} \$(MCA_oshmem_memheap_STATIC_LTLIBS)" # configure all the components opal_show_subsubtitle "Configuring MCA framework memheap" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=oshmem/mca/memheap/base as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files oshmem/mca/memheap/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework memheap" >&5 printf %s "checking for no configure components in framework memheap... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: buddy, ptmalloc" >&5 printf "%s\n" "buddy, ptmalloc" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework memheap" >&5 printf %s "checking for m4 configure components in framework memheap... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components opal_show_subsubsubtitle "MCA component memheap:buddy (no configuration)" opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: before, should_build=1" component_path="$srcdir/oshmem/mca/memheap/buddy" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_memheap" ; then if test "$DIRECT_memheap" = "buddy" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_memheap" = "1" then : want_component=0 fi if test "${DISABLE_memheap_buddy}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=1 else case e in @%:@( e) should_build=0 ;; esac fi if test ${oshmem_memheap_buddy_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_memheap" SHARED_COMPONENT="$DSO_memheap_buddy" STATIC_FRAMEWORK="$STATIC_memheap" STATIC_COMPONENT="$STATIC_memheap_buddy" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi oshmem_memheap_buddy_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component memheap:buddy compile mode" >&5 printf %s "checking for MCA component memheap:buddy compile mode... " >&6; } if test "$DIRECT_memheap" = "buddy" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$oshmem_memheap_buddy_compile_mode opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" ; then # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/oshmem/mca/memheap/buddy/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components buddy" if test "$compile_mode" = "dso" ; then dso_components="$dso_components buddy" else if test "memheap" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/memheap/buddy/lib${OSHMEM_LIB_NAME}mca_memheap_buddy.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/memheap/buddy/libmca_memheap_buddy.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_memheap_buddy_component;" >> $outfile.extern echo " &mca_memheap_buddy_component, " >> $outfile.struct static_components="$static_components buddy" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component memheap:buddy can compile" >&5 printf %s "checking if MCA component memheap:buddy can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_memheap" = "buddy" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_oshmem_memheap_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** memheap component buddy was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_memheap" = "buddy" ; then as_fn_error $? "*** memheap component buddy was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${memheap_buddy_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${memheap_buddy_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${memheap_buddy_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${memheap_buddy_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${memheap_buddy_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${memheap_buddy_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$memheap_buddy_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $memheap_buddy_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring memheap_buddy_WRAPPER_EXTRA_CPPFLAGS ($memheap_buddy_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring memheap_buddy_WRAPPER_EXTRA_CPPFLAGS ($memheap_buddy_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component memheap:buddy can compile" >&5 printf %s "checking if MCA component memheap:buddy can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_memheap" = "buddy" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"buddy\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"buddy\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_memheap" ; then if test "$DIRECT_memheap" = "buddy" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"buddy\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"buddy\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components buddy" fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" ; then BUILD_oshmem_memheap_buddy_DSO=1 else BUILD_oshmem_memheap_buddy_DSO=0 fi if test "$BUILD_oshmem_memheap_buddy_DSO" = "1"; then MCA_BUILD_oshmem_memheap_buddy_DSO_TRUE= MCA_BUILD_oshmem_memheap_buddy_DSO_FALSE='#' else MCA_BUILD_oshmem_memheap_buddy_DSO_TRUE='#' MCA_BUILD_oshmem_memheap_buddy_DSO_FALSE= fi ac_config_files="$ac_config_files oshmem/mca/memheap/buddy/Makefile" unset compile_mode opal_show_subsubsubtitle "MCA component memheap:ptmalloc (no configuration)" opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: before, should_build=1" component_path="$srcdir/oshmem/mca/memheap/ptmalloc" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_memheap" ; then if test "$DIRECT_memheap" = "ptmalloc" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_memheap" = "1" then : want_component=0 fi if test "${DISABLE_memheap_ptmalloc}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=1 else case e in @%:@( e) should_build=0 ;; esac fi if test ${oshmem_memheap_ptmalloc_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_memheap" SHARED_COMPONENT="$DSO_memheap_ptmalloc" STATIC_FRAMEWORK="$STATIC_memheap" STATIC_COMPONENT="$STATIC_memheap_ptmalloc" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi oshmem_memheap_ptmalloc_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component memheap:ptmalloc compile mode" >&5 printf %s "checking for MCA component memheap:ptmalloc compile mode... " >&6; } if test "$DIRECT_memheap" = "ptmalloc" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$oshmem_memheap_ptmalloc_compile_mode opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" ; then # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/oshmem/mca/memheap/ptmalloc/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components ptmalloc" if test "$compile_mode" = "dso" ; then dso_components="$dso_components ptmalloc" else if test "memheap" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/memheap/ptmalloc/lib${OSHMEM_LIB_NAME}mca_memheap_ptmalloc.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/memheap/ptmalloc/libmca_memheap_ptmalloc.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_memheap_ptmalloc_component;" >> $outfile.extern echo " &mca_memheap_ptmalloc_component, " >> $outfile.struct static_components="$static_components ptmalloc" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component memheap:ptmalloc can compile" >&5 printf %s "checking if MCA component memheap:ptmalloc can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_memheap" = "ptmalloc" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_oshmem_memheap_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** memheap component ptmalloc was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_memheap" = "ptmalloc" ; then as_fn_error $? "*** memheap component ptmalloc was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${memheap_ptmalloc_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${memheap_ptmalloc_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${memheap_ptmalloc_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${memheap_ptmalloc_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${memheap_ptmalloc_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${memheap_ptmalloc_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$memheap_ptmalloc_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $memheap_ptmalloc_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring memheap_ptmalloc_WRAPPER_EXTRA_CPPFLAGS ($memheap_ptmalloc_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring memheap_ptmalloc_WRAPPER_EXTRA_CPPFLAGS ($memheap_ptmalloc_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component memheap:ptmalloc can compile" >&5 printf %s "checking if MCA component memheap:ptmalloc can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_memheap" = "ptmalloc" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ptmalloc\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ptmalloc\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_memheap" ; then if test "$DIRECT_memheap" = "ptmalloc" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ptmalloc\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ptmalloc\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components ptmalloc" fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" ; then BUILD_oshmem_memheap_ptmalloc_DSO=1 else BUILD_oshmem_memheap_ptmalloc_DSO=0 fi if test "$BUILD_oshmem_memheap_ptmalloc_DSO" = "1"; then MCA_BUILD_oshmem_memheap_ptmalloc_DSO_TRUE= MCA_BUILD_oshmem_memheap_ptmalloc_DSO_FALSE='#' else MCA_BUILD_oshmem_memheap_ptmalloc_DSO_TRUE='#' MCA_BUILD_oshmem_memheap_ptmalloc_DSO_FALSE= fi ac_config_files="$ac_config_files oshmem/mca/memheap/ptmalloc/Makefile" unset compile_mode # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=1 components_last_result=0 if test ${DIRECT_memheap+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for memheap framework" >&5 printf %s "checking if direct-selection component exists for memheap framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_memheap" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_memheap requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_memheap" >&5 printf "%s\n" "$DIRECT_memheap" >&6; } fi MCA_oshmem_memheap_ALL_COMPONENTS="$all_components" MCA_oshmem_memheap_STATIC_COMPONENTS="$static_components" MCA_oshmem_memheap_DSO_COMPONENTS="$dso_components" MCA_oshmem_memheap_STATIC_LTLIBS="$static_ltlibs" MCA_oshmem_memheap_ALL_SUBDIRS= for item in $all_components ; do MCA_oshmem_memheap_ALL_SUBDIRS="$MCA_oshmem_memheap_ALL_SUBDIRS mca/memheap/$item" done MCA_oshmem_memheap_STATIC_SUBDIRS= for item in $static_components ; do MCA_oshmem_memheap_STATIC_SUBDIRS="$MCA_oshmem_memheap_STATIC_SUBDIRS mca/memheap/$item" done MCA_oshmem_memheap_DSO_SUBDIRS= for item in $dso_components ; do MCA_oshmem_memheap_DSO_SUBDIRS="$MCA_oshmem_memheap_DSO_SUBDIRS mca/memheap/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "memheap" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real # this is a direct callable component, so set that up. if test ! -z "$DIRECT_memheap" ; then MCA_oshmem_memheap_DIRECT_CALL_COMPONENT=$DIRECT_memheap MCA_oshmem_memheap_DIRECT_CALL=1 else MCA_oshmem_memheap_DIRECT_CALL_COMPONENT= MCA_oshmem_memheap_DIRECT_CALL=0 fi printf "%s\n" "@%:@define MCA_oshmem_memheap_DIRECT_CALL $MCA_oshmem_memheap_DIRECT_CALL" >>confdefs.h printf "%s\n" "@%:@define MCA_oshmem_memheap_DIRECT_CALL_COMPONENT $MCA_oshmem_memheap_DIRECT_CALL_COMPONENT" >>confdefs.h printf "%s\n" "@%:@define MCA_oshmem_memheap_DIRECT_CALL_HEADER \"$MCA_oshmem_memheap_DIRECT_CALL_HEADER\"" >>confdefs.h MCA_oshmem_FRAMEWORKS="$MCA_oshmem_FRAMEWORKS scoll" MCA_oshmem_FRAMEWORKS_SUBDIRS="$MCA_oshmem_FRAMEWORKS_SUBDIRS mca/scoll" MCA_oshmem_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_oshmem_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_oshmem_scoll_ALL_SUBDIRS)" MCA_oshmem_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_oshmem_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_oshmem_scoll_DSO_SUBDIRS)" MCA_oshmem_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_oshmem_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_oshmem_scoll_STATIC_SUBDIRS)" mca_oshmem_framework_base_lib="mca/scoll/libmca_scoll.la" MCA_oshmem_FRAMEWORK_LIBS="$MCA_oshmem_FRAMEWORK_LIBS ${mca_oshmem_framework_base_lib} \$(MCA_oshmem_scoll_STATIC_LTLIBS)" opal_show_subsubtitle "Configuring MCA framework scoll" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=oshmem/mca/scoll/base as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files oshmem/mca/scoll/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework scoll" >&5 printf %s "checking for no configure components in framework scoll... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: basic, mpi" >&5 printf "%s\n" "basic, mpi" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework scoll" >&5 printf %s "checking for m4 configure components in framework scoll... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ucc" >&5 printf "%s\n" "ucc" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components opal_show_subsubsubtitle "MCA component scoll:basic (no configuration)" opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: before, should_build=1" component_path="$srcdir/oshmem/mca/scoll/basic" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_scoll" ; then if test "$DIRECT_scoll" = "basic" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_scoll" = "1" then : want_component=0 fi if test "${DISABLE_scoll_basic}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=1 else case e in @%:@( e) should_build=0 ;; esac fi if test ${oshmem_scoll_basic_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_scoll" SHARED_COMPONENT="$DSO_scoll_basic" STATIC_FRAMEWORK="$STATIC_scoll" STATIC_COMPONENT="$STATIC_scoll_basic" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi oshmem_scoll_basic_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component scoll:basic compile mode" >&5 printf %s "checking for MCA component scoll:basic compile mode... " >&6; } if test "$DIRECT_scoll" = "basic" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$oshmem_scoll_basic_compile_mode opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" ; then # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/oshmem/mca/scoll/basic/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components basic" if test "$compile_mode" = "dso" ; then dso_components="$dso_components basic" else if test "scoll" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/scoll/basic/lib${OSHMEM_LIB_NAME}mca_scoll_basic.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/scoll/basic/libmca_scoll_basic.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_scoll_basic_component;" >> $outfile.extern echo " &mca_scoll_basic_component, " >> $outfile.struct static_components="$static_components basic" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component scoll:basic can compile" >&5 printf %s "checking if MCA component scoll:basic can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_scoll" = "basic" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_oshmem_scoll_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** scoll component basic was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_scoll" = "basic" ; then as_fn_error $? "*** scoll component basic was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${scoll_basic_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${scoll_basic_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${scoll_basic_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${scoll_basic_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${scoll_basic_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${scoll_basic_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$scoll_basic_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $scoll_basic_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring scoll_basic_WRAPPER_EXTRA_CPPFLAGS ($scoll_basic_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring scoll_basic_WRAPPER_EXTRA_CPPFLAGS ($scoll_basic_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component scoll:basic can compile" >&5 printf %s "checking if MCA component scoll:basic can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_scoll" = "basic" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"basic\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"basic\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_scoll" ; then if test "$DIRECT_scoll" = "basic" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"basic\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"basic\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components basic" fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" ; then BUILD_oshmem_scoll_basic_DSO=1 else BUILD_oshmem_scoll_basic_DSO=0 fi if test "$BUILD_oshmem_scoll_basic_DSO" = "1"; then MCA_BUILD_oshmem_scoll_basic_DSO_TRUE= MCA_BUILD_oshmem_scoll_basic_DSO_FALSE='#' else MCA_BUILD_oshmem_scoll_basic_DSO_TRUE='#' MCA_BUILD_oshmem_scoll_basic_DSO_FALSE= fi ac_config_files="$ac_config_files oshmem/mca/scoll/basic/Makefile" unset compile_mode opal_show_subsubsubtitle "MCA component scoll:mpi (no configuration)" opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: before, should_build=1" component_path="$srcdir/oshmem/mca/scoll/mpi" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_scoll" ; then if test "$DIRECT_scoll" = "mpi" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_scoll" = "1" then : want_component=0 fi if test "${DISABLE_scoll_mpi}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=1 else case e in @%:@( e) should_build=0 ;; esac fi if test ${oshmem_scoll_mpi_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_scoll" SHARED_COMPONENT="$DSO_scoll_mpi" STATIC_FRAMEWORK="$STATIC_scoll" STATIC_COMPONENT="$STATIC_scoll_mpi" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi oshmem_scoll_mpi_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component scoll:mpi compile mode" >&5 printf %s "checking for MCA component scoll:mpi compile mode... " >&6; } if test "$DIRECT_scoll" = "mpi" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$oshmem_scoll_mpi_compile_mode opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" ; then # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/oshmem/mca/scoll/mpi/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components mpi" if test "$compile_mode" = "dso" ; then dso_components="$dso_components mpi" else if test "scoll" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/scoll/mpi/lib${OSHMEM_LIB_NAME}mca_scoll_mpi.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/scoll/mpi/libmca_scoll_mpi.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_scoll_mpi_component;" >> $outfile.extern echo " &mca_scoll_mpi_component, " >> $outfile.struct static_components="$static_components mpi" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component scoll:mpi can compile" >&5 printf %s "checking if MCA component scoll:mpi can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_scoll" = "mpi" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_oshmem_scoll_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** scoll component mpi was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_scoll" = "mpi" ; then as_fn_error $? "*** scoll component mpi was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${scoll_mpi_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${scoll_mpi_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${scoll_mpi_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${scoll_mpi_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${scoll_mpi_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${scoll_mpi_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$scoll_mpi_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $scoll_mpi_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring scoll_mpi_WRAPPER_EXTRA_CPPFLAGS ($scoll_mpi_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring scoll_mpi_WRAPPER_EXTRA_CPPFLAGS ($scoll_mpi_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component scoll:mpi can compile" >&5 printf %s "checking if MCA component scoll:mpi can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_scoll" = "mpi" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"mpi\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"mpi\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_scoll" ; then if test "$DIRECT_scoll" = "mpi" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"mpi\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"mpi\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components mpi" fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" ; then BUILD_oshmem_scoll_mpi_DSO=1 else BUILD_oshmem_scoll_mpi_DSO=0 fi if test "$BUILD_oshmem_scoll_mpi_DSO" = "1"; then MCA_BUILD_oshmem_scoll_mpi_DSO_TRUE= MCA_BUILD_oshmem_scoll_mpi_DSO_FALSE='#' else MCA_BUILD_oshmem_scoll_mpi_DSO_TRUE='#' MCA_BUILD_oshmem_scoll_mpi_DSO_FALSE= fi ac_config_files="$ac_config_files oshmem/mca/scoll/mpi/Makefile" unset compile_mode # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=1 components_last_result=0 opal_show_subsubsubtitle "MCA component scoll:ucc (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/oshmem/mca/scoll/ucc" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_scoll" ; then if test "$DIRECT_scoll" = "ucc" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_scoll" = "1" then : want_component=0 fi if test "${DISABLE_scoll_ucc}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${oshmem_scoll_ucc_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_scoll" SHARED_COMPONENT="$DSO_scoll_ucc" STATIC_FRAMEWORK="$STATIC_scoll" STATIC_COMPONENT="$STATIC_scoll_ucc" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi oshmem_scoll_ucc_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component scoll:ucc compile mode" >&5 printf %s "checking for MCA component scoll:ucc compile mode... " >&6; } if test "$DIRECT_scoll" = "ucc" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$oshmem_scoll_ucc_compile_mode # try to configure the component ac_config_files="$ac_config_files oshmem/mca/scoll/ucc/Makefile" opal_var_scope_push ${LINENO} ompi_check_ucc_happy CPPFLAGS_save LDFLAGS_save LIBS_save @%:@ Check whether --with-ucc was given. if test ${with_ucc+y} then : withval=$with_ucc; fi # ****************************** START CHECK PACKAGE FOR ucc ****************************** oac_var_scope_push ${LINENO} check_package_scoll_ucc_save_CPPFLAGS check_package_scoll_ucc_save_LDFLAGS check_package_scoll_ucc_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_scoll_ucc_save_CPPFLAGS="${CPPFLAGS}" check_package_scoll_ucc_save_LDFLAGS="${LDFLAGS}" check_package_scoll_ucc_save_LIBS="${LIBS}" scoll_ucc_CPPFLAGS= scoll_ucc_LDFLAGS= scoll_ucc_STATIC_LDFLAGS= scoll_ucc_LIBS= scoll_ucc_STATIC_LIBS= { scoll_ucc_PC_MODULES=; unset scoll_ucc_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_ucc" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package ucc disabled by user" >&5 printf "%s\n" "$as_me: Package ucc disabled by user" >&6;} check_package_happy=0 elif test "${with_ucc}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_ucc}" ;; esac fi check_package_libdir= if test "${with_ucc_libdir}" = "no" -o "${with_ucc_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-ucc-libdir" "$LINENO" 5 elif test -n "${with_ucc_libdir}" then : check_package_libdir="${with_ucc_libdir}" fi check_package_incdir= if test "${with_ucc_incdir}" = "no" -o "${with_ucc_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-ucc-incdir" "$LINENO" 5 elif test -n "${with_ucc_incdir}" then : check_package_incdir="${with_ucc_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${ucc_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-ucc or --with-ucc-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-ucc only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucc pkg-config name" >&5 printf %s "checking for ucc pkg-config name... " >&6; } if test ${oac_cv_check_package_ucc_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_ucc_pcfilename="ucc" if test -n "${check_package_libdir}" then : oac_cv_check_package_ucc_pcfilename="${check_package_libdir}/pkgconfig/ucc.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_ucc_pcfilename="ucc" elif test -r "${check_package_prefix}/lib/pkgconfig/ucc.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/ucc.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found ucc in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-ucc-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_ucc_pcfilename="${check_package_prefix}/lib/pkgconfig/ucc.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/ucc.pc" then : oac_cv_check_package_ucc_pcfilename="${check_package_prefix}/lib64/pkgconfig/ucc.pc" else case e in @%:@( e) oac_cv_check_package_ucc_pcfilename="${check_package_prefix}/lib/pkgconfig/ucc.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucc_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_ucc_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ucc pkg-config module exists" >&5 printf %s "checking if ucc pkg-config module exists... " >&6; } if test ${oac_cv_check_package_ucc_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_ucc_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_ucc_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : scoll_ucc_PC_MODULES=${oac_cv_check_package_ucc_pcfilename} oac_cv_check_package_ucc_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_ucc_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucc_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_ucc_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_ucc_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucc pkg-config cflags" >&5 printf %s "checking for ucc pkg-config cflags... " >&6; } if test ${oac_cv_check_package_ucc_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_ucc_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_ucc_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucc_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucc cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucc_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_ucc_pkg_config_cppflags" >&6; } scoll_ucc_CPPFLAGS="${oac_cv_check_package_ucc_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucc pkg-config ldflags" >&5 printf %s "checking for ucc pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_ucc_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_ucc_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_ucc_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucc_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucc ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucc_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ucc_pkg_config_ldflags" >&6; } scoll_ucc_LDFLAGS="${oac_cv_check_package_ucc_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucc pkg-config static ldflags" >&5 printf %s "checking for ucc pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_ucc_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_ucc_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_ucc_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucc_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucc static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucc_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ucc_pkg_config_static_ldflags" >&6; } scoll_ucc_STATIC_LDFLAGS="${oac_cv_check_package_ucc_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucc pkg-config libs" >&5 printf %s "checking for ucc pkg-config libs... " >&6; } if test ${oac_cv_check_package_ucc_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_ucc_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_ucc_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucc_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucc libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucc_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_ucc_pkg_config_libs" >&6; } scoll_ucc_LIBS="${oac_cv_check_package_ucc_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucc pkg-config static libs" >&5 printf %s "checking for ucc pkg-config static libs... " >&6; } if test ${oac_cv_check_package_ucc_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_ucc_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_ucc_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucc_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucc libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucc_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_ucc_pkg_config_static_libs" >&6; } scoll_ucc_STATIC_LIBS="${oac_cv_check_package_ucc_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${ucc_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-ucc argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucc wrapper compiler" >&5 printf %s "checking for ucc wrapper compiler... " >&6; } if test ${oac_cv_check_package_ucc_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_ucc_wrapper_compiler="ucccc" else case e in @%:@( e) oac_cv_check_package_ucc_wrapper_compiler="${check_package_prefix}/bin/ucccc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucc_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_ucc_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ucc wrapper compiler works" >&5 printf %s "checking if ucc wrapper compiler works... " >&6; } if test ${oac_cv_check_package_ucc_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucc_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucc_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_ucc_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_ucc_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucc_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_ucc_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_ucc_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucc wrapper compiler cppflags" >&5 printf %s "checking for ucc wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_ucc_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucc_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucc_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucc_wrapper_compiler_cppflags}" then : oac_cv_check_package_ucc_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucc_wrapper_compiler_cppflags="${oac_cv_check_package_ucc_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucc cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucc_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_ucc_wrapper_compiler_cppflags" >&6; } scoll_ucc_CPPFLAGS="${oac_cv_check_package_ucc_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucc wrapper compiler ldflags" >&5 printf %s "checking for ucc wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_ucc_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucc_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucc_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucc_wrapper_compiler_ldflags}" then : oac_cv_check_package_ucc_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucc_wrapper_compiler_ldflags="${oac_cv_check_package_ucc_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucc ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucc_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ucc_wrapper_compiler_ldflags" >&6; } scoll_ucc_LDFLAGS="${oac_cv_check_package_ucc_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucc wrapper compiler static ldflags" >&5 printf %s "checking for ucc wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_ucc_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucc_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucc_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucc_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_ucc_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucc_wrapper_compiler_static_ldflags="${oac_cv_check_package_ucc_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucc static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucc_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ucc_wrapper_compiler_static_ldflags" >&6; } scoll_ucc_STATIC_LDFLAGS="${oac_cv_check_package_ucc_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucc wrapper compiler libs" >&5 printf %s "checking for ucc wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_ucc_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucc_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucc_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucc_wrapper_compiler_libs}" then : oac_cv_check_package_ucc_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucc_wrapper_compiler_libs="${oac_cv_check_package_ucc_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucc libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucc_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_ucc_wrapper_compiler_libs" >&6; } scoll_ucc_LIBS="$oac_cv_check_package_ucc_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucc wrapper compiler static libs" >&5 printf %s "checking for ucc wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_ucc_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucc_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucc_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucc_wrapper_compiler_static_libs}" then : oac_cv_check_package_ucc_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucc_wrapper_compiler_static_libs="${oac_cv_check_package_ucc_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucc static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucc_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_ucc_wrapper_compiler_static_libs" >&6; } scoll_ucc_STATIC_LIBS="${oac_cv_check_package_ucc_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "ucc/api/ucc.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "ucc" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucc header at ${check_package_generic_incdir}" >&5 printf %s "checking for ucc header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 scoll_ucc_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucc library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for ucc library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 scoll_ucc_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucc library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for ucc library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-ucc-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 scoll_ucc_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 scoll_ucc_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 scoll_ucc_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for ucc in default search paths" >&5 printf "%s\n" "$as_me: Searching for ucc in default search paths" >&6;} ucc_CPPFLAGS= ucc_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in ucc ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${scoll_ucc_LIBS}" then : scoll_ucc_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) scoll_ucc_LIBS="${scoll_ucc_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${scoll_ucc_STATIC_LIBS}" then : scoll_ucc_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) scoll_ucc_STATIC_LIBS="${scoll_ucc_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucc cppflags" >&5 printf %s "checking for ucc cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $scoll_ucc_CPPFLAGS" >&5 printf "%s\n" "$scoll_ucc_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucc ldflags" >&5 printf %s "checking for ucc ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $scoll_ucc_LDFLAGS" >&5 printf "%s\n" "$scoll_ucc_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucc libs" >&5 printf %s "checking for ucc libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $scoll_ucc_LIBS" >&5 printf "%s\n" "$scoll_ucc_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucc static libs" >&5 printf %s "checking for ucc static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $scoll_ucc_STATIC_LIBS" >&5 printf "%s\n" "$scoll_ucc_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${scoll_ucc_LDFLAGS}" then : scoll_ucc_LDFLAGS="${scoll_ucc_STATIC_LDFLAGS}" else case e in @%:@( e) scoll_ucc_LDFLAGS="${scoll_ucc_LDFLAGS} ${scoll_ucc_STATIC_LDFLAGS}" ;; esac fi if test -z "${scoll_ucc_LIBS}" then : scoll_ucc_LIBS="${scoll_ucc_STATIC_LIBS}" else case e in @%:@( e) scoll_ucc_LIBS="${scoll_ucc_LIBS} ${scoll_ucc_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "ucc/api/ucc.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${scoll_ucc_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${scoll_ucc_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${scoll_ucc_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${scoll_ucc_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${scoll_ucc_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${scoll_ucc_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "ucc_init_version" "ac_cv_func_ucc_init_version" if test "x$ac_cv_func_ucc_init_version" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ucc requires libnl v1 or v3" >&5 printf %s "checking if ucc requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_ucc+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void ucc_init_version (void); int main(int argc, char *argv[]) { ucc_init_version (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib ucc" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib ucc" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_ucc=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_ucc" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_ucc" >&6; } result_msg=$opal_libnl_sanity_check_cv_ucc this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, ucc links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, ucc links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libucc (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libucc (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libucc." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libucc." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas ucc requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas ucc requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libucc (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libucc (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libucc." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libucc." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs ucc" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas ucc requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas ucc requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libucc (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libucc (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libucc." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libucc." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs ucc" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi scoll_ucc_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : scoll_ucc_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) scoll_ucc_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi ompi_check_ucc_happy="yes" else case e in @%:@( e) if test "${with_ucc}" = "no" then : scoll_ucc_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) scoll_ucc_SUMMARY="no (not found)" ;; esac fi { scoll_ucc_CPPFLAGS=; unset scoll_ucc_CPPFLAGS;} { scoll_ucc_LDFLAGS=; unset scoll_ucc_LDFLAGS;} { scoll_ucc_STATIC_LDFLAGS=; unset scoll_ucc_STATIC_LDFLAGS;} { scoll_ucc_LIBS=; unset scoll_ucc_LIBS;} { scoll_ucc_STATIC_LIBS=; unset scoll_ucc_STATIC_LIBS;} ompi_check_ucc_happy="no" ;; esac fi CPPFLAGS="${check_package_scoll_ucc_save_CPPFLAGS}" LDFLAGS="${check_package_scoll_ucc_save_LDFLAGS}" LIBS="${check_package_scoll_ucc_save_LIBS}" oac_var_scope_pop check_package_scoll_ucc_save_CPPFLAGS check_package_scoll_ucc_save_LDFLAGS check_package_scoll_ucc_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR ucc ****************************** if test "$ompi_check_ucc_happy" = "yes" then : CPPFLAGS_save=$CPPFLAGS LDFLAGS_save=$LDFLAGS LIBS_save=$LIBS CPPFLAGS="${scoll_ucc_CPPFLAGS} ${CPPFLAGS}" LDFLAGS="${scoll_ucc_LDFLAGS} ${LDFLAGS}" LIBS="${scoll_ucc_LIBS} ${LIBS}" ac_fn_c_check_func "$LINENO" "ucc_comm_free" "ac_cv_func_ucc_comm_free" if test "x$ac_cv_func_ucc_comm_free" = xyes then : printf "%s\n" "@%:@define HAVE_UCC_COMM_FREE 1" >>confdefs.h fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if UCC supports float128 and float32(64,128)_complex datatypes" >&5 printf %s "checking if UCC supports float128 and float32(64,128)_complex datatypes... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { ucc_datatype_t dt = UCC_DT_FLOAT32_COMPLEX; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : flag=1 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } else case e in @%:@( e) flag=0 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext printf "%s\n" "@%:@define UCC_HAVE_COMPLEX_AND_FLOAT128_DT $flag" >>confdefs.h CPPFLAGS=$CPPFLAGS_save LDFLAGS=$LDFLAGS_save LIBS=$LIBS_save fi if test "$ompi_check_ucc_happy" = "yes" && test "$enable_progress_threads" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ucc driver does not currently support progress threads. Disabling UCC." >&5 printf "%s\n" "$as_me: WARNING: ucc driver does not currently support progress threads. Disabling UCC." >&2;} ompi_check_ucc_happy="no" fi if test "$ompi_check_ucc_happy" = "yes" then : scoll_ucc_happy="yes" else case e in @%:@( e) if test ! -z "$with_ucc" && test "$with_ucc" != "no" then : as_fn_error $? "UCC support requested but not found. Aborting" "$LINENO" 5 fi scoll_ucc_happy="no" ;; esac fi opal_var_scope_pop ompi_check_ucc_happy CPPFLAGS_save LDFLAGS_save LIBS_save if test "$scoll_ucc_happy" = "yes" then : scoll_ucc_WRAPPER_EXTRA_LDFLAGS="$scoll_ucc_LDFLAGS" scoll_ucc_CPPFLAGS="$scoll_ucc_CPPFLAGS" scoll_ucc_WRAPPER_EXTRA_LIBS="$scoll_ucc_LIBS" should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi # substitute in the things needed to build ucc opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/oshmem/mca/scoll/ucc/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components ucc" if test "$compile_mode" = "dso" ; then dso_components="$dso_components ucc" else if test "scoll" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/scoll/ucc/lib${OSHMEM_LIB_NAME}mca_scoll_ucc.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/scoll/ucc/libmca_scoll_ucc.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_scoll_ucc_component;" >> $outfile.extern echo " &mca_scoll_ucc_component, " >> $outfile.struct static_components="$static_components ucc" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component scoll:ucc can compile" >&5 printf %s "checking if MCA component scoll:ucc can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_scoll" = "ucc" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_oshmem_scoll_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** scoll component ucc was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_scoll" = "ucc" ; then as_fn_error $? "*** scoll component ucc was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${scoll_ucc_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${scoll_ucc_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${scoll_ucc_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${scoll_ucc_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${scoll_ucc_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${scoll_ucc_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$scoll_ucc_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $scoll_ucc_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring scoll_ucc_WRAPPER_EXTRA_CPPFLAGS ($scoll_ucc_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring scoll_ucc_WRAPPER_EXTRA_CPPFLAGS ($scoll_ucc_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component scoll:ucc can compile" >&5 printf %s "checking if MCA component scoll:ucc can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_scoll" = "ucc" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ucc\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ucc\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_scoll" ; then if test "$DIRECT_scoll" = "ucc" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ucc\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ucc\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components ucc" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_oshmem_scoll_ucc_DSO=1 else case e in @%:@( e) BUILD_oshmem_scoll_ucc_DSO=0 ;; esac fi if test "$BUILD_oshmem_scoll_ucc_DSO" = "1"; then MCA_BUILD_oshmem_scoll_ucc_DSO_TRUE= MCA_BUILD_oshmem_scoll_ucc_DSO_FALSE='#' else MCA_BUILD_oshmem_scoll_ucc_DSO_TRUE='#' MCA_BUILD_oshmem_scoll_ucc_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test ${DIRECT_scoll+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for scoll framework" >&5 printf %s "checking if direct-selection component exists for scoll framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_scoll" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_scoll requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_scoll" >&5 printf "%s\n" "$DIRECT_scoll" >&6; } fi MCA_oshmem_scoll_ALL_COMPONENTS="$all_components" MCA_oshmem_scoll_STATIC_COMPONENTS="$static_components" MCA_oshmem_scoll_DSO_COMPONENTS="$dso_components" MCA_oshmem_scoll_STATIC_LTLIBS="$static_ltlibs" MCA_oshmem_scoll_ALL_SUBDIRS= for item in $all_components ; do MCA_oshmem_scoll_ALL_SUBDIRS="$MCA_oshmem_scoll_ALL_SUBDIRS mca/scoll/$item" done MCA_oshmem_scoll_STATIC_SUBDIRS= for item in $static_components ; do MCA_oshmem_scoll_STATIC_SUBDIRS="$MCA_oshmem_scoll_STATIC_SUBDIRS mca/scoll/$item" done MCA_oshmem_scoll_DSO_SUBDIRS= for item in $dso_components ; do MCA_oshmem_scoll_DSO_SUBDIRS="$MCA_oshmem_scoll_DSO_SUBDIRS mca/scoll/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "scoll" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real MCA_oshmem_FRAMEWORKS="$MCA_oshmem_FRAMEWORKS spml" MCA_oshmem_FRAMEWORKS_SUBDIRS="$MCA_oshmem_FRAMEWORKS_SUBDIRS mca/spml" MCA_oshmem_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_oshmem_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_oshmem_spml_ALL_SUBDIRS)" MCA_oshmem_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_oshmem_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_oshmem_spml_DSO_SUBDIRS)" MCA_oshmem_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_oshmem_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_oshmem_spml_STATIC_SUBDIRS)" mca_oshmem_framework_base_lib="mca/spml/libmca_spml.la" MCA_oshmem_FRAMEWORK_LIBS="$MCA_oshmem_FRAMEWORK_LIBS ${mca_oshmem_framework_base_lib} \$(MCA_oshmem_spml_STATIC_LTLIBS)" # configure all the components opal_show_subsubtitle "Configuring MCA framework spml" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=oshmem/mca/spml/base as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files oshmem/mca/spml/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework spml" >&5 printf %s "checking for no configure components in framework spml... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework spml" >&5 printf %s "checking for m4 configure components in framework spml... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ucx" >&5 printf "%s\n" "ucx" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=1 components_last_result=0 opal_show_subsubsubtitle "MCA component spml:ucx (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/oshmem/mca/spml/ucx" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_spml" ; then if test "$DIRECT_spml" = "ucx" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_spml" = "1" then : want_component=0 fi if test "${DISABLE_spml_ucx}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${oshmem_spml_ucx_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_spml" SHARED_COMPONENT="$DSO_spml_ucx" STATIC_FRAMEWORK="$STATIC_spml" STATIC_COMPONENT="$STATIC_spml_ucx" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi oshmem_spml_ucx_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component spml:ucx compile mode" >&5 printf %s "checking for MCA component spml:ucx compile mode... " >&6; } if test "$DIRECT_spml" = "ucx" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$oshmem_spml_ucx_compile_mode # try to configure the component ac_config_files="$ac_config_files oshmem/mca/spml/ucx/Makefile" opal_var_scope_push ${LINENO} ompi_check_ucx_happy ompi_check_ucx_CPPFLAGS_save ompi_check_ucx_LDFLAGS_save ompi_check_ucx_LIBS_save @%:@ Check whether --with-ucx was given. if test ${with_ucx+y} then : withval=$with_ucx; fi @%:@ Check whether --with-ucx-libdir was given. if test ${with_ucx_libdir+y} then : withval=$with_ucx_libdir; fi # ****************************** START CHECK PACKAGE FOR ucx ****************************** oac_var_scope_push ${LINENO} check_package_spml_ucx_save_CPPFLAGS check_package_spml_ucx_save_LDFLAGS check_package_spml_ucx_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_spml_ucx_save_CPPFLAGS="${CPPFLAGS}" check_package_spml_ucx_save_LDFLAGS="${LDFLAGS}" check_package_spml_ucx_save_LIBS="${LIBS}" spml_ucx_CPPFLAGS= spml_ucx_LDFLAGS= spml_ucx_STATIC_LDFLAGS= spml_ucx_LIBS= spml_ucx_STATIC_LIBS= { spml_ucx_PC_MODULES=; unset spml_ucx_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_ucx" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package ucx disabled by user" >&5 printf "%s\n" "$as_me: Package ucx disabled by user" >&6;} check_package_happy=0 elif test "${with_ucx}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_ucx}" ;; esac fi check_package_libdir= if test "${with_ucx_libdir}" = "no" -o "${with_ucx_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-ucx-libdir" "$LINENO" 5 elif test -n "${with_ucx_libdir}" then : check_package_libdir="${with_ucx_libdir}" fi check_package_incdir= if test "${with_ucx_incdir}" = "no" -o "${with_ucx_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-ucx-incdir" "$LINENO" 5 elif test -n "${with_ucx_incdir}" then : check_package_incdir="${with_ucx_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${ucx_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-ucx or --with-ucx-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-ucx only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config name" >&5 printf %s "checking for ucx pkg-config name... " >&6; } if test ${oac_cv_check_package_ucx_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_ucx_pcfilename="ucx" if test -n "${check_package_libdir}" then : oac_cv_check_package_ucx_pcfilename="${check_package_libdir}/pkgconfig/ucx.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_ucx_pcfilename="ucx" elif test -r "${check_package_prefix}/lib/pkgconfig/ucx.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/ucx.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found ucx in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-ucx-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_ucx_pcfilename="${check_package_prefix}/lib/pkgconfig/ucx.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/ucx.pc" then : oac_cv_check_package_ucx_pcfilename="${check_package_prefix}/lib64/pkgconfig/ucx.pc" else case e in @%:@( e) oac_cv_check_package_ucx_pcfilename="${check_package_prefix}/lib/pkgconfig/ucx.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ucx pkg-config module exists" >&5 printf %s "checking if ucx pkg-config module exists... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : spml_ucx_PC_MODULES=${oac_cv_check_package_ucx_pcfilename} oac_cv_check_package_ucx_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_ucx_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_ucx_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config cflags" >&5 printf %s "checking for ucx pkg-config cflags... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucx_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_cppflags" >&6; } spml_ucx_CPPFLAGS="${oac_cv_check_package_ucx_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config ldflags" >&5 printf %s "checking for ucx pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucx_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_ldflags" >&6; } spml_ucx_LDFLAGS="${oac_cv_check_package_ucx_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config static ldflags" >&5 printf %s "checking for ucx pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucx_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_static_ldflags" >&6; } spml_ucx_STATIC_LDFLAGS="${oac_cv_check_package_ucx_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config libs" >&5 printf %s "checking for ucx pkg-config libs... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucx_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_libs" >&6; } spml_ucx_LIBS="${oac_cv_check_package_ucx_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config static libs" >&5 printf %s "checking for ucx pkg-config static libs... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucx_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_static_libs" >&6; } spml_ucx_STATIC_LIBS="${oac_cv_check_package_ucx_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${ucx_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-ucx argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler" >&5 printf %s "checking for ucx wrapper compiler... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_ucx_wrapper_compiler="ucxcc" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler="${check_package_prefix}/bin/ucxcc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ucx wrapper compiler works" >&5 printf %s "checking if ucx wrapper compiler works... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_ucx_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_ucx_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler cppflags" >&5 printf %s "checking for ucx wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucx_wrapper_compiler_cppflags}" then : oac_cv_check_package_ucx_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_cppflags="${oac_cv_check_package_ucx_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_cppflags" >&6; } spml_ucx_CPPFLAGS="${oac_cv_check_package_ucx_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler ldflags" >&5 printf %s "checking for ucx wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucx_wrapper_compiler_ldflags}" then : oac_cv_check_package_ucx_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_ldflags="${oac_cv_check_package_ucx_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_ldflags" >&6; } spml_ucx_LDFLAGS="${oac_cv_check_package_ucx_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler static ldflags" >&5 printf %s "checking for ucx wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucx_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_ucx_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_static_ldflags="${oac_cv_check_package_ucx_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_static_ldflags" >&6; } spml_ucx_STATIC_LDFLAGS="${oac_cv_check_package_ucx_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler libs" >&5 printf %s "checking for ucx wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucx_wrapper_compiler_libs}" then : oac_cv_check_package_ucx_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_libs="${oac_cv_check_package_ucx_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_libs" >&6; } spml_ucx_LIBS="$oac_cv_check_package_ucx_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler static libs" >&5 printf %s "checking for ucx wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucx_wrapper_compiler_static_libs}" then : oac_cv_check_package_ucx_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_static_libs="${oac_cv_check_package_ucx_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_static_libs" >&6; } spml_ucx_STATIC_LIBS="${oac_cv_check_package_ucx_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "ucp/api/ucp.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "ucp -luct -lucm -lucs" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx header at ${check_package_generic_incdir}" >&5 printf %s "checking for ucx header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 spml_ucx_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for ucx library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 spml_ucx_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for ucx library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-ucx-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 spml_ucx_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 spml_ucx_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 spml_ucx_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for ucx in default search paths" >&5 printf "%s\n" "$as_me: Searching for ucx in default search paths" >&6;} ucx_CPPFLAGS= ucx_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in ucp -luct -lucm -lucs ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${spml_ucx_LIBS}" then : spml_ucx_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) spml_ucx_LIBS="${spml_ucx_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${spml_ucx_STATIC_LIBS}" then : spml_ucx_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) spml_ucx_STATIC_LIBS="${spml_ucx_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx cppflags" >&5 printf %s "checking for ucx cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $spml_ucx_CPPFLAGS" >&5 printf "%s\n" "$spml_ucx_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx ldflags" >&5 printf %s "checking for ucx ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $spml_ucx_LDFLAGS" >&5 printf "%s\n" "$spml_ucx_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx libs" >&5 printf %s "checking for ucx libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $spml_ucx_LIBS" >&5 printf "%s\n" "$spml_ucx_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx static libs" >&5 printf %s "checking for ucx static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $spml_ucx_STATIC_LIBS" >&5 printf "%s\n" "$spml_ucx_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${spml_ucx_LDFLAGS}" then : spml_ucx_LDFLAGS="${spml_ucx_STATIC_LDFLAGS}" else case e in @%:@( e) spml_ucx_LDFLAGS="${spml_ucx_LDFLAGS} ${spml_ucx_STATIC_LDFLAGS}" ;; esac fi if test -z "${spml_ucx_LIBS}" then : spml_ucx_LIBS="${spml_ucx_STATIC_LIBS}" else case e in @%:@( e) spml_ucx_LIBS="${spml_ucx_LIBS} ${spml_ucx_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "ucp/api/ucp.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${spml_ucx_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${spml_ucx_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${spml_ucx_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${spml_ucx_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${spml_ucx_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${spml_ucx_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "ucp_cleanup" "ac_cv_func_ucp_cleanup" if test "x$ac_cv_func_ucp_cleanup" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ucx requires libnl v1 or v3" >&5 printf %s "checking if ucx requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_ucx+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void ucp_cleanup (void); int main(int argc, char *argv[]) { ucp_cleanup (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib ucx" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib ucx" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_ucx=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_ucx" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_ucx" >&6; } result_msg=$opal_libnl_sanity_check_cv_ucx this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, ucx links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, ucx links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libucx (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libucx (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libucx." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libucx." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas ucx requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas ucx requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libucx (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libucx (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libucx." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libucx." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs ucx" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas ucx requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas ucx requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libucx (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libucx (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libucx." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libucx." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs ucx" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi spml_ucx_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : spml_ucx_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) spml_ucx_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi ompi_check_ucx_happy="yes" else case e in @%:@( e) if test "${with_ucx}" = "no" then : spml_ucx_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) spml_ucx_SUMMARY="no (not found)" ;; esac fi { spml_ucx_CPPFLAGS=; unset spml_ucx_CPPFLAGS;} { spml_ucx_LDFLAGS=; unset spml_ucx_LDFLAGS;} { spml_ucx_STATIC_LDFLAGS=; unset spml_ucx_STATIC_LDFLAGS;} { spml_ucx_LIBS=; unset spml_ucx_LIBS;} { spml_ucx_STATIC_LIBS=; unset spml_ucx_STATIC_LIBS;} ompi_check_ucx_happy="no" ;; esac fi CPPFLAGS="${check_package_spml_ucx_save_CPPFLAGS}" LDFLAGS="${check_package_spml_ucx_save_LDFLAGS}" LIBS="${check_package_spml_ucx_save_LIBS}" oac_var_scope_pop check_package_spml_ucx_save_CPPFLAGS check_package_spml_ucx_save_LDFLAGS check_package_spml_ucx_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR ucx ****************************** ompi_check_ucx_CPPFLAGS_save=${CPPFLAGS} ompi_check_ucx_LDLAGS_save=${LDFLAGS} ompi_check_ucx_LIBS_save=${LIBS} oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${spml_ucx_CPPFLAGS}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${CPPFLAGS}; 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 "${CPPFLAGS}" then : CPPFLAGS="$oac_list_arg" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${spml_ucx_LDFLAGS}; 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 case e in @%:@( e) LDFLAGS="${LDFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in ${spml_ucx_LIBS}; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${LIBS} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${LIBS}" then : LIBS="${oac_list_arg}" else case e in @%:@( e) LIBS="${LIBS} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${LIBS}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi LIBS="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${LIBS}" then : LIBS="${oac_list_arg}" else case e in @%:@( e) LIBS="${LIBS} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable if test "$ompi_check_ucx_happy" = yes then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for UCX version header" >&5 printf %s "checking for UCX version header... " >&6; } if test ${ompi_check_ucx_cv_have_version_header+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : ompi_check_ucx_cv_have_version_header="yes" else case e in @%:@( e) ompi_check_ucx_cv_have_version_header="no" ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_check_ucx_cv_have_version_header" >&5 printf "%s\n" "$ompi_check_ucx_cv_have_version_header" >&6; } if test "${ompi_check_ucx_cv_have_version_header}" != "yes" then : ompi_check_ucx_happy=no fi fi if test "$ompi_check_ucx_happy" = yes then : # Turn off UCX version v1.8 due to issue #8321 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking UCX version 1.8.x" >&5 printf %s "checking UCX version 1.8.x... " >&6; } if test ${ompi_check_ucx_cv_have_version_1_8+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #if (UCP_API_MAJOR == 1) && (UCP_API_MINOR == 8) #error "Invalid version" #endif ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO" then : ompi_check_ucx_cv_have_version_1_8=no else case e in @%:@( e) ompi_check_ucx_cv_have_version_1_8=yes ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_check_ucx_cv_have_version_1_8" >&5 printf "%s\n" "$ompi_check_ucx_cv_have_version_1_8" >&6; } if test "${ompi_check_ucx_cv_have_version_1_8}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: UCX support skipped because version 1.8.x was found, which has a known catastrophic issue." >&5 printf "%s\n" "$as_me: WARNING: UCX support skipped because version 1.8.x was found, which has a known catastrophic issue." >&2;} ompi_check_ucx_happy=no fi fi cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #if (UCP_API_MAJOR < 1) || ((UCP_API_MAJOR == 1) && (UCP_API_MINOR < 9)) #error "Version too low" #endif ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: UCX version is too old, please upgrade to 1.9 or higher." >&5 printf "%s\n" "$as_me: WARNING: UCX version is too old, please upgrade to 1.9 or higher." >&2;} ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext if test "$ompi_check_ucx_happy" = yes then : ac_fn_check_decl "$LINENO" "ucp_tag_send_nbr" "ac_cv_have_decl_ucp_tag_send_nbr" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_tag_send_nbr" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_TAG_SEND_NBR $ac_have_decl" >>confdefs.h if test $ac_have_decl = 1 then : printf "%s\n" "@%:@define HAVE_UCP_TAG_SEND_NBR 1" >>confdefs.h fi ac_fn_check_decl "$LINENO" "ucp_ep_flush_nb" "ac_cv_have_decl_ucp_ep_flush_nb" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_ep_flush_nb" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_EP_FLUSH_NB $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_worker_flush_nb" "ac_cv_have_decl_ucp_worker_flush_nb" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_worker_flush_nb" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_WORKER_FLUSH_NB $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_request_check_status" "ac_cv_have_decl_ucp_request_check_status" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_request_check_status" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_REQUEST_CHECK_STATUS $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_put_nb" "ac_cv_have_decl_ucp_put_nb" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_put_nb" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_PUT_NB $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_get_nb" "ac_cv_have_decl_ucp_get_nb" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_get_nb" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_GET_NB $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_put_nbx" "ac_cv_have_decl_ucp_put_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_put_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_PUT_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_get_nbx" "ac_cv_have_decl_ucp_get_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_get_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_GET_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_atomic_op_nbx" "ac_cv_have_decl_ucp_atomic_op_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_atomic_op_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_OP_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_ep_flush_nbx" "ac_cv_have_decl_ucp_ep_flush_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_ep_flush_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_EP_FLUSH_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucm_test_events" "ac_cv_have_decl_ucm_test_events" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucm_test_events" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCM_TEST_EVENTS $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucm_test_external_events" "ac_cv_have_decl_ucm_test_external_events" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucm_test_external_events" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCM_TEST_EXTERNAL_EVENTS $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_POST_OP_AND" "ac_cv_have_decl_UCP_ATOMIC_POST_OP_AND" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_POST_OP_AND" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_POST_OP_AND $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_POST_OP_OR" "ac_cv_have_decl_UCP_ATOMIC_POST_OP_OR" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_POST_OP_OR" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_POST_OP_OR $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_POST_OP_XOR" "ac_cv_have_decl_UCP_ATOMIC_POST_OP_XOR" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_POST_OP_XOR" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_POST_OP_XOR $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_FETCH_OP_FAND" "ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FAND" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FAND" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_FETCH_OP_FAND $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_FETCH_OP_FOR" "ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FOR" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FOR" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_FETCH_OP_FOR $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_FETCH_OP_FXOR" "ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FXOR" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FXOR" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_FETCH_OP_FXOR $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_PARAM_FIELD_ESTIMATED_NUM_PPN" "ac_cv_have_decl_UCP_PARAM_FIELD_ESTIMATED_NUM_PPN" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_PARAM_FIELD_ESTIMATED_NUM_PPN" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_PARAM_FIELD_ESTIMATED_NUM_PPN $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_WORKER_FLAG_IGNORE_REQUEST_LEAK" "ac_cv_have_decl_UCP_WORKER_FLAG_IGNORE_REQUEST_LEAK" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_WORKER_FLAG_IGNORE_REQUEST_LEAK" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_WORKER_FLAG_IGNORE_REQUEST_LEAK $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_OP_ATTR_FLAG_MULTI_SEND" "ac_cv_have_decl_UCP_OP_ATTR_FLAG_MULTI_SEND" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_OP_ATTR_FLAG_MULTI_SEND" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_OP_ATTR_FLAG_MULTI_SEND $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_MEM_MAP_SYMMETRIC_RKEY" "ac_cv_have_decl_UCP_MEM_MAP_SYMMETRIC_RKEY" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_MEM_MAP_SYMMETRIC_RKEY" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_MEM_MAP_SYMMETRIC_RKEY $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCS_MEMORY_TYPE_RDMA" "ac_cv_have_decl_UCS_MEMORY_TYPE_RDMA" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCS_MEMORY_TYPE_RDMA" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCS_MEMORY_TYPE_RDMA $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS" "ac_cv_have_decl_UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS $ac_have_decl" >>confdefs.h if test $ac_have_decl = 1 then : printf "%s\n" "@%:@define HAVE_UCP_WORKER_ADDRESS_FLAGS 1" >>confdefs.h fi ac_fn_check_decl "$LINENO" "UCP_ATTR_FIELD_MEMORY_TYPES" "ac_cv_have_decl_UCP_ATTR_FIELD_MEMORY_TYPES" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATTR_FIELD_MEMORY_TYPES" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATTR_FIELD_MEMORY_TYPES $ac_have_decl" >>confdefs.h if test $ac_have_decl = 1 then : printf "%s\n" "@%:@define HAVE_UCP_ATTR_MEMORY_TYPES 1" >>confdefs.h fi ac_fn_check_decl "$LINENO" "UCP_EP_ATTR_FIELD_TRANSPORTS" "ac_cv_have_decl_UCP_EP_ATTR_FIELD_TRANSPORTS" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_EP_ATTR_FIELD_TRANSPORTS" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_EP_ATTR_FIELD_TRANSPORTS $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_tag_send_nbx" "ac_cv_have_decl_ucp_tag_send_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_tag_send_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_TAG_SEND_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_tag_send_sync_nbx" "ac_cv_have_decl_ucp_tag_send_sync_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_tag_send_sync_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_TAG_SEND_SYNC_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_tag_recv_nbx" "ac_cv_have_decl_ucp_tag_recv_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_tag_recv_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_TAG_RECV_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_rkey_compare" "ac_cv_have_decl_ucp_rkey_compare" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_rkey_compare" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_RKEY_COMPARE $ac_have_decl" >>confdefs.h ac_fn_c_check_type "$LINENO" "ucp_request_param_t" "ac_cv_type_ucp_request_param_t" "#include " if test "x$ac_cv_type_ucp_request_param_t" = xyes then : printf "%s\n" "@%:@define HAVE_UCP_REQUEST_PARAM_T 1" >>confdefs.h fi fi CPPFLAGS=${ompi_check_ucx_CPPFLAGS_save} LDFLAGS=${ompi_check_ucx_LDLAGS_save} LIBS=${ompi_check_ucx_LIBS_save} 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="Open UCX: $ompi_check_ucx_happy" oac_summary_key="TransportsOpen_UCX" # Use the section name variable as an indicator for whether or not # the section has already been created. if test ${oac_summary_section_Transports_name+y} then : else case e in @%:@( e) oac_summary_section_Transports_name="Transports" if test -z "${oac_summary_sections}" then : oac_summary_sections="Transports" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} Transports" ;; esac fi ;; esac 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 case e in @%:@( e) eval "${oac_summary_key}=1" if test ${oac_summary_section_Transports_value+y} then : as_fn_append oac_summary_section_Transports_value "${oac_summary_newline}${oac_summary_line}" else case e in @%:@( e) oac_summary_section_Transports_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key if test "$ompi_check_ucx_happy" = "yes" then : spml_ucx_happy="yes" else case e in @%:@( e) if test ! -z "$with_ucx" && test "$with_ucx" != "no" then : as_fn_error $? "UCX support requested but not found. Aborting" "$LINENO" 5 fi spml_ucx_happy="no" ;; esac fi opal_var_scope_pop ompi_check_ucx_happy ompi_check_ucx_CPPFLAGS_save ompi_check_ucx_LDFLAGS_save ompi_check_ucx_LIBS_save if test "$spml_ucx_happy" = "yes" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi # substitute in the things needed to build ucx opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/oshmem/mca/spml/ucx/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components ucx" if test "$compile_mode" = "dso" ; then dso_components="$dso_components ucx" else if test "spml" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/spml/ucx/lib${OSHMEM_LIB_NAME}mca_spml_ucx.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/spml/ucx/libmca_spml_ucx.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_spml_ucx_component;" >> $outfile.extern echo " &mca_spml_ucx_component, " >> $outfile.struct static_components="$static_components ucx" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component spml:ucx can compile" >&5 printf %s "checking if MCA component spml:ucx can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_spml" = "ucx" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_oshmem_spml_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** spml component ucx was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_spml" = "ucx" ; then as_fn_error $? "*** spml component ucx was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${spml_ucx_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${spml_ucx_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${spml_ucx_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${spml_ucx_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${spml_ucx_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${spml_ucx_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$spml_ucx_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $spml_ucx_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring spml_ucx_WRAPPER_EXTRA_CPPFLAGS ($spml_ucx_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring spml_ucx_WRAPPER_EXTRA_CPPFLAGS ($spml_ucx_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component spml:ucx can compile" >&5 printf %s "checking if MCA component spml:ucx can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_spml" = "ucx" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ucx\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ucx\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_spml" ; then if test "$DIRECT_spml" = "ucx" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ucx\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ucx\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components ucx" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_oshmem_spml_ucx_DSO=1 else case e in @%:@( e) BUILD_oshmem_spml_ucx_DSO=0 ;; esac fi if test "$BUILD_oshmem_spml_ucx_DSO" = "1"; then MCA_BUILD_oshmem_spml_ucx_DSO_TRUE= MCA_BUILD_oshmem_spml_ucx_DSO_FALSE='#' else MCA_BUILD_oshmem_spml_ucx_DSO_TRUE='#' MCA_BUILD_oshmem_spml_ucx_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test ${DIRECT_spml+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for spml framework" >&5 printf %s "checking if direct-selection component exists for spml framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_spml" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_spml requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_spml" >&5 printf "%s\n" "$DIRECT_spml" >&6; } fi MCA_oshmem_spml_ALL_COMPONENTS="$all_components" MCA_oshmem_spml_STATIC_COMPONENTS="$static_components" MCA_oshmem_spml_DSO_COMPONENTS="$dso_components" MCA_oshmem_spml_STATIC_LTLIBS="$static_ltlibs" MCA_oshmem_spml_ALL_SUBDIRS= for item in $all_components ; do MCA_oshmem_spml_ALL_SUBDIRS="$MCA_oshmem_spml_ALL_SUBDIRS mca/spml/$item" done MCA_oshmem_spml_STATIC_SUBDIRS= for item in $static_components ; do MCA_oshmem_spml_STATIC_SUBDIRS="$MCA_oshmem_spml_STATIC_SUBDIRS mca/spml/$item" done MCA_oshmem_spml_DSO_SUBDIRS= for item in $dso_components ; do MCA_oshmem_spml_DSO_SUBDIRS="$MCA_oshmem_spml_DSO_SUBDIRS mca/spml/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "spml" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real # this is a direct callable component, so set that up. if test ! -z "$DIRECT_spml" ; then MCA_oshmem_spml_DIRECT_CALL_COMPONENT=$DIRECT_spml MCA_oshmem_spml_DIRECT_CALL=1 else MCA_oshmem_spml_DIRECT_CALL_COMPONENT= MCA_oshmem_spml_DIRECT_CALL=0 fi printf "%s\n" "@%:@define MCA_oshmem_spml_DIRECT_CALL $MCA_oshmem_spml_DIRECT_CALL" >>confdefs.h printf "%s\n" "@%:@define MCA_oshmem_spml_DIRECT_CALL_COMPONENT $MCA_oshmem_spml_DIRECT_CALL_COMPONENT" >>confdefs.h printf "%s\n" "@%:@define MCA_oshmem_spml_DIRECT_CALL_HEADER \"$MCA_oshmem_spml_DIRECT_CALL_HEADER\"" >>confdefs.h if test -z "$MCA_oshmem_spml_DSO_COMPONENTS" && test -z "$MCA_oshmem_spml_STATIC_COMPONENTS"; then OSHMEM_FOUND_WORKING_SPML=0 else OSHMEM_FOUND_WORKING_SPML=1 fi MCA_oshmem_FRAMEWORKS="$MCA_oshmem_FRAMEWORKS sshmem" MCA_oshmem_FRAMEWORKS_SUBDIRS="$MCA_oshmem_FRAMEWORKS_SUBDIRS mca/sshmem" MCA_oshmem_FRAMEWORK_COMPONENT_ALL_SUBDIRS="$MCA_oshmem_FRAMEWORK_COMPONENT_ALL_SUBDIRS \$(MCA_oshmem_sshmem_ALL_SUBDIRS)" MCA_oshmem_FRAMEWORK_COMPONENT_DSO_SUBDIRS="$MCA_oshmem_FRAMEWORK_COMPONENT_DSO_SUBDIRS \$(MCA_oshmem_sshmem_DSO_SUBDIRS)" MCA_oshmem_FRAMEWORK_COMPONENT_STATIC_SUBDIRS="$MCA_oshmem_FRAMEWORK_COMPONENT_STATIC_SUBDIRS \$(MCA_oshmem_sshmem_STATIC_SUBDIRS)" mca_oshmem_framework_base_lib="mca/sshmem/libmca_sshmem.la" MCA_oshmem_FRAMEWORK_LIBS="$MCA_oshmem_FRAMEWORK_LIBS ${mca_oshmem_framework_base_lib} \$(MCA_oshmem_sshmem_STATIC_LTLIBS)" opal_show_subsubtitle "Configuring MCA framework sshmem" # setup for framework all_components= static_components= dso_components= static_ltlibs= # Ensure that the directory where the #include file is to live # exists. Need to do this for VPATH builds, because the directory # may not exist yet. For the "common" type, it's not really a # component, so it doesn't have a base. outdir=oshmem/mca/sshmem/base as_dir=$outdir; as_fn_mkdir_p # emit Makefile rule ac_config_files="$ac_config_files oshmem/mca/sshmem/Makefile" # remove any previously generated #include files outfile_real=$outdir/static-components.h outfile=$outfile_real.new rm -f $outfile $outfile.struct $outfile.extern touch $outfile.struct $outfile.extern # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for no configure components in framework sshmem" >&5 printf %s "checking for no configure components in framework sshmem... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 printf "%s\n" "" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for m4 configure components in framework sshmem" >&5 printf %s "checking for m4 configure components in framework sshmem... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: mmap, sysv, ucx" >&5 printf "%s\n" "mmap, sysv, ucx" >&6; } # If there are components in the no configure list, but we're # doing one of the "special" selection logics, abort with a # reasonable message. # run the configure logic for the no-config components # configure components that use built-in configuration scripts best_mca_component_priority=0 components_looking_for_succeed=1 components_last_result=0 opal_show_subsubsubtitle "MCA component sshmem:mmap (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/oshmem/mca/sshmem/mmap" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_sshmem" ; then if test "$DIRECT_sshmem" = "mmap" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_sshmem" = "1" then : want_component=0 fi if test "${DISABLE_sshmem_mmap}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${oshmem_sshmem_mmap_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_sshmem" SHARED_COMPONENT="$DSO_sshmem_mmap" STATIC_FRAMEWORK="$STATIC_sshmem" STATIC_COMPONENT="$STATIC_sshmem_mmap" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi oshmem_sshmem_mmap_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component sshmem:mmap compile mode" >&5 printf %s "checking for MCA component sshmem:mmap compile mode... " >&6; } if test "$DIRECT_sshmem" = "mmap" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$oshmem_sshmem_mmap_compile_mode # try to configure the component ac_config_files="$ac_config_files oshmem/mca/sshmem/mmap/Makefile" # do we have the mmap shm stuff? { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want mmap shared memory support" >&5 printf %s "checking if want mmap shared memory support... " >&6; } @%:@ Check whether --enable-mmap-sshmem was given. if test ${enable_mmap_sshmem+y} then : enableval=$enable_mmap_sshmem; fi if test "$enable_mmap_sshmem" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } oshmem_mmap_sm_build_mmap=0 else case e in @%:@( e) { 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 library containing mmap" >&5 printf %s "checking for library containing mmap... " >&6; } if test ${ac_cv_search_mmap+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* 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. The 'extern "C"' is for builds by C++ compilers; although this is not generally supported in C code supporting it here has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif char mmap (void); int main (void) { return mmap (); ; return 0; } _ACEOF for ac_lib in '' c do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO" then : ac_cv_search_mmap=$ac_res fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext if test ${ac_cv_search_mmap+y} then : break fi done if test ${ac_cv_search_mmap+y} then : else case e in @%:@( e) ac_cv_search_mmap=no ;; esac fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_mmap" >&5 printf "%s\n" "$ac_cv_search_mmap" >&6; } ac_res=$ac_cv_search_mmap if test "$ac_res" != no then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" oshmem_mmap_sm_build_mmap=1 else case e in @%:@( e) oshmem_mmap_sm_build_mmap=0 ;; esac fi ;; esac fi if test "$enable_mmap_sshmem" = "yes" && test "$oshmem_mmap_sm_build_mmap" = "0" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MMAP shared memory support requested but not found" >&5 printf "%s\n" "$as_me: WARNING: MMAP shared memory support requested but not found" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test "$oshmem_mmap_sm_build_mmap" = "1" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi printf "%s\n" "@%:@define OSHMEM_SSHMEM_MMAP $oshmem_mmap_sm_build_mmap" >>confdefs.h opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/oshmem/mca/sshmem/mmap/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components mmap" if test "$compile_mode" = "dso" ; then dso_components="$dso_components mmap" else if test "sshmem" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/sshmem/mmap/lib${OSHMEM_LIB_NAME}mca_sshmem_mmap.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/sshmem/mmap/libmca_sshmem_mmap.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_sshmem_mmap_component;" >> $outfile.extern echo " &mca_sshmem_mmap_component, " >> $outfile.struct static_components="$static_components mmap" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component sshmem:mmap can compile" >&5 printf %s "checking if MCA component sshmem:mmap can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_sshmem" = "mmap" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_oshmem_sshmem_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** sshmem component mmap was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_sshmem" = "mmap" ; then as_fn_error $? "*** sshmem component mmap was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${sshmem_mmap_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${sshmem_mmap_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${sshmem_mmap_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${sshmem_mmap_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${sshmem_mmap_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${sshmem_mmap_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$sshmem_mmap_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $sshmem_mmap_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring sshmem_mmap_WRAPPER_EXTRA_CPPFLAGS ($sshmem_mmap_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring sshmem_mmap_WRAPPER_EXTRA_CPPFLAGS ($sshmem_mmap_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component sshmem:mmap can compile" >&5 printf %s "checking if MCA component sshmem:mmap can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_sshmem" = "mmap" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"mmap\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"mmap\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_sshmem" ; then if test "$DIRECT_sshmem" = "mmap" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"mmap\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"mmap\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components mmap" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_oshmem_sshmem_mmap_DSO=1 else case e in @%:@( e) BUILD_oshmem_sshmem_mmap_DSO=0 ;; esac fi if test "$BUILD_oshmem_sshmem_mmap_DSO" = "1"; then MCA_BUILD_oshmem_sshmem_mmap_DSO_TRUE= MCA_BUILD_oshmem_sshmem_mmap_DSO_FALSE='#' else MCA_BUILD_oshmem_sshmem_mmap_DSO_TRUE='#' MCA_BUILD_oshmem_sshmem_mmap_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component sshmem:sysv (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/oshmem/mca/sshmem/sysv" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_sshmem" ; then if test "$DIRECT_sshmem" = "sysv" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_sshmem" = "1" then : want_component=0 fi if test "${DISABLE_sshmem_sysv}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${oshmem_sshmem_sysv_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_sshmem" SHARED_COMPONENT="$DSO_sshmem_sysv" STATIC_FRAMEWORK="$STATIC_sshmem" STATIC_COMPONENT="$STATIC_sshmem_sysv" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi oshmem_sshmem_sysv_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component sshmem:sysv compile mode" >&5 printf %s "checking for MCA component sshmem:sysv compile mode... " >&6; } if test "$DIRECT_sshmem" = "sysv" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$oshmem_sshmem_sysv_compile_mode # try to configure the component ac_config_files="$ac_config_files oshmem/mca/sshmem/sysv/Makefile" # do we have the sysv shm stuff? { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if want SYSV shared memory support" >&5 printf %s "checking if want SYSV shared memory support... " >&6; } @%:@ Check whether --enable-sysv-sshmem was given. if test ${enable_sysv_sshmem+y} then : enableval=$enable_sysv_sshmem; fi if test "$enable_sysv_sshmem" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } oshmem_sysv_sm_build_sysv=0 else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } ac_fn_c_check_func "$LINENO" "shmget" "ac_cv_func_shmget" if test "x$ac_cv_func_shmget" = xyes then : oshmem_sysv_sm_build_sysv=1 else case e in @%:@( e) oshmem_sysv_sm_build_sysv=0 ;; esac fi ;; esac fi if test "$enable_sysv_sshmem" = "yes" && test "$oshmem_sysv_sm_build_sysv" = "0" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: SYSV shared memory support requested but not found" >&5 printf "%s\n" "$as_me: WARNING: SYSV shared memory support requested but not found" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test "$oshmem_sysv_sm_build_sysv" = "1" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi printf "%s\n" "@%:@define OSHMEM_SSHMEM_SYSV $oshmem_sysv_sm_build_sysv" >>confdefs.h opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/oshmem/mca/sshmem/sysv/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components sysv" if test "$compile_mode" = "dso" ; then dso_components="$dso_components sysv" else if test "sshmem" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/sshmem/sysv/lib${OSHMEM_LIB_NAME}mca_sshmem_sysv.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/sshmem/sysv/libmca_sshmem_sysv.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_sshmem_sysv_component;" >> $outfile.extern echo " &mca_sshmem_sysv_component, " >> $outfile.struct static_components="$static_components sysv" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component sshmem:sysv can compile" >&5 printf %s "checking if MCA component sshmem:sysv can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_sshmem" = "sysv" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_oshmem_sshmem_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** sshmem component sysv was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_sshmem" = "sysv" ; then as_fn_error $? "*** sshmem component sysv was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${sshmem_sysv_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${sshmem_sysv_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${sshmem_sysv_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${sshmem_sysv_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${sshmem_sysv_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${sshmem_sysv_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$sshmem_sysv_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $sshmem_sysv_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring sshmem_sysv_WRAPPER_EXTRA_CPPFLAGS ($sshmem_sysv_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring sshmem_sysv_WRAPPER_EXTRA_CPPFLAGS ($sshmem_sysv_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component sshmem:sysv can compile" >&5 printf %s "checking if MCA component sshmem:sysv can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_sshmem" = "sysv" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"sysv\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"sysv\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_sshmem" ; then if test "$DIRECT_sshmem" = "sysv" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"sysv\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"sysv\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components sysv" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_oshmem_sshmem_sysv_DSO=1 else case e in @%:@( e) BUILD_oshmem_sshmem_sysv_DSO=0 ;; esac fi if test "$BUILD_oshmem_sshmem_sysv_DSO" = "1"; then MCA_BUILD_oshmem_sshmem_sysv_DSO_TRUE= MCA_BUILD_oshmem_sshmem_sysv_DSO_FALSE='#' else MCA_BUILD_oshmem_sshmem_sysv_DSO_TRUE='#' MCA_BUILD_oshmem_sshmem_sysv_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode opal_show_subsubsubtitle "MCA component sshmem:ucx (m4 configuration macro)" opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: before, should_build=$components_looking_for_succeed" component_path="$srcdir/oshmem/mca/sshmem/ucx" want_component=0 # build if: # - the component type is direct and we are that component # - there is no opal_ignore file # - there is an opal_ignore, but there is an empty opal_unignore # - there is an opal_ignore, but username is in opal_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.opal_ignore ; then # If there is an opal_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.opal_unignore ; then # if there is an empty opal_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.opal_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.opal_unignore`" ; then want_component=1 fi fi # if this component type is direct and we are not it, we don't want # to be built. Otherwise, we do want to be built. if test ! -z "$DIRECT_sshmem" ; then if test "$DIRECT_sshmem" = "ucx" ; then want_component=1 else want_component=0 fi fi fi # if we were explicitly disabled, don't build :) if test "$DISABLE_sshmem" = "1" then : want_component=0 fi if test "${DISABLE_sshmem_ucx}" = "1" then : want_component=0 fi if test "$want_component" = "1" then : should_build=$components_looking_for_succeed else case e in @%:@( e) should_build=0 ;; esac fi # Allow the component to override the build mode if it really wants to. # It is, of course, free to end up calling MCA_COMPONENT_COMPILE_MODE if test ${oshmem_sshmem_ucx_compile_mode+y} then : else case e in @%:@( e) opal_var_scope_push ${LINENO} compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT SHARED_FRAMEWORK="$DSO_sshmem" SHARED_COMPONENT="$DSO_sshmem_ucx" STATIC_FRAMEWORK="$STATIC_sshmem" STATIC_COMPONENT="$STATIC_sshmem_ucx" # Look for the most specific specifier between static/dso. If # there is a tie (either neither or both specified), prefer # static. if test "$STATIC_COMPONENT" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_COMPONENT" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_FRAMEWORK" = "1"; then compile_mode_internal_tmp=static elif test "$SHARED_FRAMEWORK" = "1"; then compile_mode_internal_tmp=dso elif test "$STATIC_all" = "1"; then compile_mode_internal_tmp=static elif test "$DSO_all" = "1"; then compile_mode_internal_tmp=dso else compile_mode_internal_tmp=static fi oshmem_sshmem_ucx_compile_mode=$compile_mode_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MCA component sshmem:ucx compile mode" >&5 printf %s "checking for MCA component sshmem:ucx compile mode... " >&6; } if test "$DIRECT_sshmem" = "ucx" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp - direct" >&5 printf "%s\n" "$compile_mode_internal_tmp - direct" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $compile_mode_internal_tmp" >&5 printf "%s\n" "$compile_mode_internal_tmp" >&6; } fi opal_var_scope_pop compile_mode_internal_tmp SHARED_FRAMEWORK SHARED_COMPONENT STATIC_FRAMEWORK STATIC_COMPONENT ;; esac fi compile_mode=$oshmem_sshmem_ucx_compile_mode # try to configure the component ac_config_files="$ac_config_files oshmem/mca/sshmem/ucx/Makefile" opal_var_scope_push ${LINENO} ompi_check_ucx_happy ompi_check_ucx_CPPFLAGS_save ompi_check_ucx_LDFLAGS_save ompi_check_ucx_LIBS_save @%:@ Check whether --with-ucx was given. if test ${with_ucx+y} then : withval=$with_ucx; fi @%:@ Check whether --with-ucx-libdir was given. if test ${with_ucx_libdir+y} then : withval=$with_ucx_libdir; fi # ****************************** START CHECK PACKAGE FOR ucx ****************************** oac_var_scope_push ${LINENO} check_package_sshmem_ucx_save_CPPFLAGS check_package_sshmem_ucx_save_LDFLAGS check_package_sshmem_ucx_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename check_package_sshmem_ucx_save_CPPFLAGS="${CPPFLAGS}" check_package_sshmem_ucx_save_LDFLAGS="${LDFLAGS}" check_package_sshmem_ucx_save_LIBS="${LIBS}" sshmem_ucx_CPPFLAGS= sshmem_ucx_LDFLAGS= sshmem_ucx_STATIC_LDFLAGS= sshmem_ucx_LIBS= sshmem_ucx_STATIC_LIBS= { sshmem_ucx_PC_MODULES=; unset sshmem_ucx_PC_MODULES;} check_package_happy=1 check_package_have_flags=0 check_package_type= # build a sane environment if test "$with_ucx" = "no" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Package ucx disabled by user" >&5 printf "%s\n" "$as_me: Package ucx disabled by user" >&6;} check_package_happy=0 elif test "${with_ucx}" = "yes" then : check_package_prefix= else case e in @%:@( e) check_package_prefix="${with_ucx}" ;; esac fi check_package_libdir= if test "${with_ucx_libdir}" = "no" -o "${with_ucx_libdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-ucx-libdir" "$LINENO" 5 elif test -n "${with_ucx_libdir}" then : check_package_libdir="${with_ucx_libdir}" fi check_package_incdir= if test "${with_ucx_incdir}" = "no" -o "${with_ucx_incdir}" = "yes" then : as_fn_error $? "\"yes\" or \"no\" are not valid arguments for --with-ucx-incdir" "$LINENO" 5 elif test -n "${with_ucx_incdir}" then : check_package_incdir="${with_ucx_incdir}" fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${ucx_USE_PKG_CONFIG}" != "0" then : # search for the package using pkg-config. If the user provided a # --with-ucx or --with-ucx-libdir argument, be explicit about where # we look for the pkg-config file, so we don't find the wrong one. # If they specified --with-ucx only, we look in # prefix/lib64/pkgconfig and if we don't find a file there, assume # prefix/lib is the right answer. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config name" >&5 printf %s "checking for ucx pkg-config name... " >&6; } if test ${oac_cv_check_package_ucx_pcfilename+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_cv_check_package_ucx_pcfilename="ucx" if test -n "${check_package_libdir}" then : oac_cv_check_package_ucx_pcfilename="${check_package_libdir}/pkgconfig/ucx.pc" elif test -z "${check_package_prefix}" then : oac_cv_check_package_ucx_pcfilename="ucx" elif test -r "${check_package_prefix}/lib/pkgconfig/ucx.pc" -a -r "${check_package_prefix}/lib64/pkgconfig/ucx.pc" then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found ucx in both ${check_package_prefix}/lib/pkgconfig and ${check_package_prefix}/lib64/pkgconfig. This is confusing. Please add --with-ucx-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_cv_ucx_pcfilename="${check_package_prefix}/lib/pkgconfig/ucx.pc" ;; esac fi elif test -r "${check_package_prefix}/lib64/pkgconfig/ucx.pc" then : oac_cv_check_package_ucx_pcfilename="${check_package_prefix}/lib64/pkgconfig/ucx.pc" else case e in @%:@( e) oac_cv_check_package_ucx_pcfilename="${check_package_prefix}/lib/pkgconfig/ucx.pc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pcfilename" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pcfilename" >&6; } oac_var_scope_push ${LINENO} check_package_pkgconfig_internal_result { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ucx pkg-config module exists" >&5 printf %s "checking if ucx pkg-config module exists... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_exists+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --exists ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_pkgconfig_internal_result=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : sshmem_ucx_PC_MODULES=${oac_cv_check_package_ucx_pcfilename} oac_cv_check_package_ucx_pkg_config_exists=yes else case e in @%:@( e) oac_cv_check_package_ucx_pkg_config_exists=no ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_exists" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_exists" >&6; } # if pkg-config --exists works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test "${oac_cv_check_package_ucx_pkg_config_exists}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config cflags" >&5 printf %s "checking for ucx pkg-config cflags... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --cflags ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucx_pkg_config_cppflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx cppflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_cppflags" >&6; } sshmem_ucx_CPPFLAGS="${oac_cv_check_package_ucx_pkg_config_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config ldflags" >&5 printf %s "checking for ucx pkg-config ldflags... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-L --libs-only-other ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucx_pkg_config_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_ldflags" >&6; } sshmem_ucx_LDFLAGS="${oac_cv_check_package_ucx_pkg_config_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config static ldflags" >&5 printf %s "checking for ucx pkg-config static ldflags... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-L --libs-only-other ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucx_pkg_config_static_ldflags=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx static ldflags from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_static_ldflags" >&6; } sshmem_ucx_STATIC_LDFLAGS="${oac_cv_check_package_ucx_pkg_config_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config libs" >&5 printf %s "checking for ucx pkg-config libs... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --libs-only-l ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucx_pkg_config_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_libs" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_libs" >&6; } sshmem_ucx_LIBS="${oac_cv_check_package_ucx_pkg_config_libs}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx pkg-config static libs" >&5 printf %s "checking for ucx pkg-config static libs... " >&6; } if test ${oac_cv_check_package_ucx_pkg_config_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_pkgconfig_run_results check_package_pkgconfig_run_happy check_package_pkgconfig_run_happy=no if test -n "${PKG_CONFIG}" then : printf "%s\n" "configure:__oline__: check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_ucx_pcfilename} 2>&1`" >&5 check_package_pkgconfig_run_results=`${PKG_CONFIG} --static --libs-only-l ${oac_cv_check_package_ucx_pcfilename} 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : oac_cv_check_package_ucx_pkg_config_static_libs=$check_package_pkgconfig_run_results check_package_pkgconfig_run_happy=yes fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: pkg-config output: ${check_package_pkgconfig_run_results}" >&5 fi if test "${check_package_pkgconfig_run_happy}" = "yes" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx libs from pkg-config" "$LINENO" 5 ;; esac fi oac_var_scope_pop check_package_pkgconfig_run_results check_package_pkgconfig_run_happy ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_pkg_config_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_ucx_pkg_config_static_libs" >&6; } sshmem_ucx_STATIC_LIBS="${oac_cv_check_package_ucx_pkg_config_static_libs}" check_package_type="pkg-config" check_package_have_flags=1 fi oac_var_scope_pop check_package_pkgconfig_internal_result fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : if test "${ucx_USE_WRAPPER_COMPILER}" = "1" then : # search for the package using wrapper compilers. If the user # provided a --with-ucx argument, be explicit about where we look # for the compiler, so we don't find the wrong one. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler" >&5 printf %s "checking for ucx wrapper compiler... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "${check_package_prefix}" then : oac_cv_check_package_ucx_wrapper_compiler="ucxcc" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler="${check_package_prefix}/bin/ucxcc" ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler" >&6; } oac_var_scope_push ${LINENO} check_package_wrapper_internal_result check_package_wrapper_internal_tmp { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ucx wrapper compiler works" >&5 printf %s "checking if ucx wrapper compiler works... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:version 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:version 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results oac_cv_check_package_ucx_wrapper_compiler_works=yes else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_works=no ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_works" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_works" >&6; } # if wrapper --showme:version works, but getting one of the standard flags fails, we consider # that a hard failure. It should not happen, outside of a weird system configuration # issue where we're probably not going to like the results anyway. if test ${oac_cv_check_package_ucx_wrapper_compiler_works} = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler cppflags" >&5 printf %s "checking for ucx wrapper compiler cppflags... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_cppflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:incdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:incdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucx_wrapper_compiler_cppflags}" then : oac_cv_check_package_ucx_wrapper_compiler_cppflags=""-I${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_cppflags="${oac_cv_check_package_ucx_wrapper_compiler_cppflags} "-I${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx cppflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_cppflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_cppflags" >&6; } sshmem_ucx_CPPFLAGS="${oac_cv_check_package_ucx_wrapper_compiler_cppflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler ldflags" >&5 printf %s "checking for ucx wrapper compiler ldflags... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libdirs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libdirs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucx_wrapper_compiler_ldflags}" then : oac_cv_check_package_ucx_wrapper_compiler_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_ldflags="${oac_cv_check_package_ucx_wrapper_compiler_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_ldflags" >&6; } sshmem_ucx_LDFLAGS="${oac_cv_check_package_ucx_wrapper_compiler_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler static ldflags" >&5 printf %s "checking for ucx wrapper compiler static ldflags... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_static_ldflags+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libdirs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libdirs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucx_wrapper_compiler_static_ldflags}" then : oac_cv_check_package_ucx_wrapper_compiler_static_ldflags=""-L${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_static_ldflags="${oac_cv_check_package_ucx_wrapper_compiler_static_ldflags} "-L${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx static ldflags from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_static_ldflags" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_static_ldflags" >&6; } sshmem_ucx_STATIC_LDFLAGS="${oac_cv_check_package_ucx_wrapper_compiler_static_ldflags}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler libs" >&5 printf %s "checking for ucx wrapper compiler libs... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libs 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libs 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucx_wrapper_compiler_libs}" then : oac_cv_check_package_ucx_wrapper_compiler_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_libs="${oac_cv_check_package_ucx_wrapper_compiler_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_libs" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_libs" >&6; } sshmem_ucx_LIBS="$oac_cv_check_package_ucx_wrapper_compiler_libs" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx wrapper compiler static libs" >&5 printf %s "checking for ucx wrapper compiler static libs... " >&6; } if test ${oac_cv_check_package_ucx_wrapper_compiler_static_libs+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) oac_var_scope_push ${LINENO} check_package_wrapper_run_results printf "%s\n" "configure:__oline__: check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libs_static 2>&1`" >&5 check_package_wrapper_run_results=`${oac_cv_check_package_ucx_wrapper_compiler} --showme:libs_static 2>&1` 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : check_package_wrapper_internal_result=$check_package_wrapper_run_results for check_package_wrapper_internal_tmp in ${check_package_wrapper_internal_result} ; do if test -z "${oac_cv_check_package_ucx_wrapper_compiler_static_libs}" then : oac_cv_check_package_ucx_wrapper_compiler_static_libs=""-l${check_package_wrapper_internal_tmp}"" else case e in @%:@( e) oac_cv_check_package_ucx_wrapper_compiler_static_libs="${oac_cv_check_package_ucx_wrapper_compiler_static_libs} "-l${check_package_wrapper_internal_tmp}"" ;; esac fi done else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: error" >&5 printf "%s\n" "error" >&6; } as_fn_error $? "An error occurred retrieving ucx static libs from wrapper compiler" "$LINENO" 5 ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} printf "%s\n" "configure:__oline__: wrapper output: ${check_package_wrapper_run_results}" >&5 oac_var_scope_pop check_package_wrapper_run_results ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $oac_cv_check_package_ucx_wrapper_compiler_static_libs" >&5 printf "%s\n" "$oac_cv_check_package_ucx_wrapper_compiler_static_libs" >&6; } sshmem_ucx_STATIC_LIBS="${oac_cv_check_package_ucx_wrapper_compiler_static_libs}" check_package_type="wrapper compiler" check_package_have_flags=1 fi oac_var_scope_pop check_package_wrapper_internal_result check_package_wrapper_internal_tmp fi fi if test ${check_package_happy} -eq 1 -a ${check_package_have_flags} -eq 0 then : oac_var_scope_push ${LINENO} check_package_generic_happy check_package_generic_lib check_package_generic_happy=0 if test -n "${check_package_prefix}" then : oac_var_scope_push ${LINENO} check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir check_package_generic_search_header=`echo "ucp/api/ucp.h" | cut -f1 -d' '` check_package_generic_search_lib=`echo "ucp -luct -lucm -lucs" | cut -f1 -d' ' | sed -e 's/^-l//'` check_package_generic_prefix_happy=0 if test -n "${check_package_incdir}" then : check_package_generic_incdir="${check_package_incdir}" else case e in @%:@( e) check_package_generic_incdir="${check_package_prefix}/include" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx header at ${check_package_generic_incdir}" >&5 printf %s "checking for ucx header at ${check_package_generic_incdir}... " >&6; } if test -r ${check_package_generic_incdir}/${check_package_generic_search_header} then : check_package_generic_prefix_happy=1 sshmem_ucx_CPPFLAGS="-I${check_package_generic_incdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_prefix_happy=0 if test -n "${check_package_libdir}" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx library (${check_package_generic_search_lib}) in ${check_package_libdir}" >&5 printf %s "checking for ucx library (${check_package_generic_search_lib}) in ${check_package_libdir}... " >&6; } ls ${check_package_libdir}/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_happy=1 sshmem_ucx_LDFLAGS="-L${check_package_libdir}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi else case e in @%:@( e) check_package_generic_prefix_lib=0 check_package_generic_prefix_lib64=0 ls ${check_package_prefix}/lib/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib=1 fi ls ${check_package_prefix}/lib64/lib${check_package_generic_search_lib}.* 1>&/dev/null 2>&1 if test $? -eq 0 then : check_package_generic_prefix_lib64=1 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx library (${check_package_generic_search_lib}) in ${check_package_prefix}" >&5 printf %s "checking for ucx library (${check_package_generic_search_lib}) in ${check_package_prefix}... " >&6; } if test ${check_package_generic_prefix_lib} -eq 1 -a ${check_package_generic_prefix_lib64} -eq 1 then : if test ! -L "${check_package_prefix}/lib" && test ! -L "${check_package_prefix}/lib64" then : as_fn_error $? "Found library $check_package_generic_search_lib in both ${check_package_prefix}/lib and ${check_package_prefix}/lib64. This has confused configure. Please add --with-ucx-libdir=PATH to configure to help disambiguate." "$LINENO" 5 else case e in @%:@( e) check_package_generic_prefix_happy=1 sshmem_ucx_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } ;; esac fi elif test ${check_package_generic_prefix_lib} -eq 1 then : check_package_generic_prefix_happy=1 sshmem_ucx_LDFLAGS=-L${check_package_prefix}/lib { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib" >&5 printf "%s\n" "found -- lib" >&6; } elif test $check_package_generic_prefix_lib64 -eq 1 then : check_package_generic_prefix_happy=1 sshmem_ucx_LDFLAGS=-L${check_package_prefix}/lib64 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found -- lib64" >&5 printf "%s\n" "found -- lib64" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 printf "%s\n" "not found" >&6; } ;; esac fi ;; esac fi fi if test ${check_package_generic_prefix_happy} -eq 1 then : check_package_generic_happy=1 fi oac_var_scope_pop check_package_generic_search_header check_package_generic_search_lib check_package_generic_incdir else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Searching for ucx in default search paths" >&5 printf "%s\n" "$as_me: Searching for ucx in default search paths" >&6;} ucx_CPPFLAGS= ucx_LDFLAGS= check_package_generic_happy=1 ;; esac fi if test ${check_package_generic_happy} -eq 1 then : for check_package_generic_lib in ucp -luct -lucm -lucs ; do check_package_generic_lib=`echo ${check_package_generic_lib} | sed -e 's/^-l//'` if test -z "${sshmem_ucx_LIBS}" then : sshmem_ucx_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) sshmem_ucx_LIBS="${sshmem_ucx_LIBS} "-l${check_package_generic_lib}"" ;; esac fi if test -z "${sshmem_ucx_STATIC_LIBS}" then : sshmem_ucx_STATIC_LIBS=""-l${check_package_generic_lib}"" else case e in @%:@( e) sshmem_ucx_STATIC_LIBS="${sshmem_ucx_STATIC_LIBS} "-l${check_package_generic_lib}"" ;; esac fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx cppflags" >&5 printf %s "checking for ucx cppflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $sshmem_ucx_CPPFLAGS" >&5 printf "%s\n" "$sshmem_ucx_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx ldflags" >&5 printf %s "checking for ucx ldflags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $sshmem_ucx_LDFLAGS" >&5 printf "%s\n" "$sshmem_ucx_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx libs" >&5 printf %s "checking for ucx libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $sshmem_ucx_LIBS" >&5 printf "%s\n" "$sshmem_ucx_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ucx static libs" >&5 printf %s "checking for ucx static libs... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $sshmem_ucx_STATIC_LIBS" >&5 printf "%s\n" "$sshmem_ucx_STATIC_LIBS" >&6; } check_package_type="" check_package_have_flags=1 fi oac_var_scope_pop check_package_generic_happy check_package_generic_lib fi if test ${check_package_have_flags} -eq 0 then : check_package_happy=0 fi if test ${check_package_happy} -eq 1 -a "${oac_cv_check_package_static_linker_flag}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&5 printf "%s\n" "$as_me: Copying STATIC_LIBS and STATIC_LDFLAGS to LIBS and LDFLAGS because static linking" >&6;} if test -z "${sshmem_ucx_LDFLAGS}" then : sshmem_ucx_LDFLAGS="${sshmem_ucx_STATIC_LDFLAGS}" else case e in @%:@( e) sshmem_ucx_LDFLAGS="${sshmem_ucx_LDFLAGS} ${sshmem_ucx_STATIC_LDFLAGS}" ;; esac fi if test -z "${sshmem_ucx_LIBS}" then : sshmem_ucx_LIBS="${sshmem_ucx_STATIC_LIBS}" else case e in @%:@( e) sshmem_ucx_LIBS="${sshmem_ucx_LIBS} ${sshmem_ucx_STATIC_LIBS}" ;; esac fi fi if test ${check_package_happy} -eq 1 then : oac_var_scope_push ${LINENO} check_package_verify_search_header check_package_verify_happy check_package_verify_search_header=`echo "ucp/api/ucp.h" | cut -f1 -d' '` if test -z "${CPPFLAGS}" then : CPPFLAGS="${sshmem_ucx_CPPFLAGS}" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} ${sshmem_ucx_CPPFLAGS}" ;; esac fi if test -z "${LDFLAGS}" then : LDFLAGS="${sshmem_ucx_LDFLAGS}" else case e in @%:@( e) LDFLAGS="${LDFLAGS} ${sshmem_ucx_LDFLAGS}" ;; esac fi if test -z "${LIBS}" then : LIBS="${sshmem_ucx_LIBS}" else case e in @%:@( e) LIBS="${LIBS} ${sshmem_ucx_LIBS}" ;; esac fi check_package_verify_happy=1 if test ${check_package_verify_happy} -eq 1 then : as_ac_Header=`printf "%s\n" "ac_cv_header_${check_package_verify_search_header}" | sed "$as_sed_sh"` ac_fn_c_check_header_compile "$LINENO" "${check_package_verify_search_header}" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes" then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : ac_fn_c_check_func "$LINENO" "ucp_cleanup" "ac_cv_func_ucp_cleanup" if test "x$ac_cv_func_ucp_cleanup" = xyes then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi fi if test ${check_package_verify_happy} -eq 1 then : opal_var_scope_push ${LINENO} opal_libnl_sane opal_libnl_sane=1 case $host in *linux*) opal_var_scope_push ${LINENO} this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ucx requires libnl v1 or v3" >&5 printf %s "checking if ucx requires libnl v1 or v3... " >&6; } if test ${opal_libnl_sanity_check_cv_ucx+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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 > conftest_c.$ac_ext << EOF extern void ucp_cleanup (void); int main(int argc, char *argv[]) { ucp_cleanup (); return 0; } EOF result_msg= printf "%s\n" "configure:__oline__: $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS " >&5 $CC -o conftest $CFLAGS $CPPFLAGS conftest_c.$ac_ext $LDFLAGS $LIBS 1>&5 2>&1 oac_log_command_status=$? printf "%s\n" "configure:__oline__: \$? = $oac_log_command_status" >&5 if test $oac_log_command_status -eq 0 then : ldd_output=`ldd conftest` if echo $ldd_output | grep -q libnl-3.so then : result_msg="v3" fi if echo $ldd_output | grep -q libnl.so then : if test -z "${result_msg}" then : result_msg=""v1"" else case e in @%:@( e) result_msg="${result_msg} "v1"" ;; esac fi fi if test -z "${result_msg}" then : result_msg="none" fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Could not link a simple program with lib ucx" >&5 printf "%s\n" "$as_me: WARNING: Could not link a simple program with lib ucx" >&2;} ;; esac fi { oac_log_command_status=; unset oac_log_command_status;} 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_libnl_sanity_check_cv_ucx=${result_msg} rm -f conftest conftest_c.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnl_sanity_check_cv_ucx" >&5 printf "%s\n" "$opal_libnl_sanity_check_cv_ucx" >&6; } result_msg=$opal_libnl_sanity_check_cv_ucx this_requires_v1=0 this_requires_v3=0 if echo "${result_msg}" | grep -q v1 then : this_requires_v1=1 fi if echo "${result_msg}" | grep -q v3 then : this_requires_v3=1 fi # Assume that our configuration is sane; this may get reset below libnl_sane=1 # Note: in all the checks below, only add this library to the list # of libraries (for v1 or v3 as relevant) if we do not fail. # I.e., assume that a higher level will refuse to use this library # if we return failure. # Does this library require both v1 and v3? If so, fail. if test $this_requires_v1 -eq 1 && test $this_requires_v3 -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unfortunately, ucx links to both libnl and libnl-3." >&5 printf "%s\n" "$as_me: WARNING: Unfortunately, ucx links to both libnl and libnl-3." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libucx (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libucx (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libucx." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libucx." >&2;} libnl_sane=0 fi # Does this library require v1, but some prior library required # v3? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v1 -eq 1 then : if test $opal_libnl_version -eq 3 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas ucx requires libnl" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv3_libs requires libnl-3 whereas ucx requires libnl" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libucx (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libucx (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libucx." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libucx." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv1_libs="$opal_libnlv1_libs ucx" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv1_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv1_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=1 ;; esac fi fi # Does this library require v3, but some prior library required # v1? If so, fail. if test $libnl_sane -eq 1 && test $this_requires_v3 -eq 1 then : if test $opal_libnl_version -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas ucx requires libnl-3" >&5 printf "%s\n" "$as_me: WARNING: libnl version conflict: $opal_libnlv1_libs requires libnl whereas ucx requires libnl-3" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is a configuration that is *known* to cause run-time crashes." >&5 printf "%s\n" "$as_me: WARNING: This is a configuration that is *known* to cause run-time crashes." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This is an error in libucx (not Open MPI)." >&5 printf "%s\n" "$as_me: WARNING: This is an error in libucx (not Open MPI)." >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Open MPI will therefore skip using libucx." >&5 printf "%s\n" "$as_me: WARNING: Open MPI will therefore skip using libucx." >&2;} libnl_sane=0 else case e in @%:@( e) opal_libnlv3_libs="$opal_libnlv3_libs ucx" oac_var_scope_push ${LINENO} oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val oac_uniq_name=opal_libnlv3_libs # Go through each item in the variable and only keep the unique ones oac_uniq_count=0 for oac_uniq_val in ${opal_libnlv3_libs}; do oac_uniq_done=0 oac_uniq_i=1 oac_uniq_found=0 # Loop over every token we've seen so far oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" while test ${oac_uniq_found} -eq 0 && test ${oac_uniq_done} -eq 0; do # Have we seen this token already? Prefix the comparison with # "x" so that "-Lfoo" values won't be cause an error. oac_uniq_eval="expr x${oac_uniq_val} = x\${oac_uniq_array_$oac_uniq_i}" oac_uniq_found=`eval ${oac_uniq_eval}` # Check the ending condition oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" # Increment the counter oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # If we didn't find the token, add it to the "array" if test ${oac_uniq_found} -eq 0; then oac_uniq_eval="oac_uniq_array_${oac_uniq}_i=${oac_uniq_val}" eval ${oac_uniq_eval} oac_uniq_count="`expr ${oac_uniq_count} + 1`" else oac_uniq_i="`expr ${oac_uniq_i} - 1`" fi done # Take all the items in the "array" and assemble them back into a # single variable oac_uniq_i=1 oac_uniq_done="`expr ${oac_uniq_i} \> ${oac_uniq_count}`" oac_uniq_newval= while test ${oac_uniq_done} -eq 0; do oac_uniq_eval="oac_uniq_newval=\"${oac_uniq_newval} \${oac_uniq_array_$oac_uniq_i}\"" eval ${oac_uniq_eval} oac_uniq_eval="unset oac_uniq_array_${oac_uniq_i}" eval ${oac_uniq_eval} oac_uniq_done="`expr ${oac_uniq_i} \>= ${oac_uniq_count}`" oac_uniq_i="`expr ${oac_uniq_i} + 1`" done # Done; do the assignment oac_uniq_newval="`echo ${oac_uniq_newval}`" oac_uniq_eval="${oac_uniq_name}=\"${oac_uniq_newval}\"" eval ${oac_uniq_eval} oac_var_scope_pop oac_uniq_name oac_uniq_done oac_uniq_i oac_uniq_found oac_uniq_count oac_uniq_newval oac_uniq_val opal_libnl_version=3 ;; esac fi fi opal_libnl_sane=$libnl_sane opal_var_scope_pop this_requires_v1 libnl_sane this_requires_v3 ldd_output result_msg ;; esac if test ${opal_libnl_sane} -eq 1 then : check_package_verify_happy=1 else case e in @%:@( e) check_package_verify_happy=0 ;; esac fi opal_var_scope_pop opal_libnl_sane fi if test ${check_package_verify_happy} -eq 1 then : check_package_happy=1 else case e in @%:@( e) check_package_happy=0 ;; esac fi oac_var_scope_pop check_package_verify_search_header check_package_verify_happy fi sshmem_ucx_DETECT_METHOD="${check_package_type}" if test -n "${check_package_type}" then : check_package_type="${check_package_type}: " fi if test ${check_package_happy} -eq 1 then : if test -z "${check_package_prefix}" then : sshmem_ucx_SUMMARY="yes (${check_package_type}default search paths)" else case e in @%:@( e) sshmem_ucx_SUMMARY="yes (${check_package_type}${check_package_prefix})" ;; esac fi ompi_check_ucx_happy="yes" else case e in @%:@( e) if test "${with_ucx}" = "no" then : sshmem_ucx_SUMMARY="no (explicitly disabled)" else case e in @%:@( e) sshmem_ucx_SUMMARY="no (not found)" ;; esac fi { sshmem_ucx_CPPFLAGS=; unset sshmem_ucx_CPPFLAGS;} { sshmem_ucx_LDFLAGS=; unset sshmem_ucx_LDFLAGS;} { sshmem_ucx_STATIC_LDFLAGS=; unset sshmem_ucx_STATIC_LDFLAGS;} { sshmem_ucx_LIBS=; unset sshmem_ucx_LIBS;} { sshmem_ucx_STATIC_LIBS=; unset sshmem_ucx_STATIC_LIBS;} ompi_check_ucx_happy="no" ;; esac fi CPPFLAGS="${check_package_sshmem_ucx_save_CPPFLAGS}" LDFLAGS="${check_package_sshmem_ucx_save_LDFLAGS}" LIBS="${check_package_sshmem_ucx_save_LIBS}" oac_var_scope_pop check_package_sshmem_ucx_save_CPPFLAGS check_package_sshmem_ucx_save_LDFLAGS check_package_sshmem_ucx_save_LIBS check_package_happy check_package_have_flags check_package_prefix check_package_libdir check_package_incdir check_package_pcfilename # ****************************** END CHECK PACKAGE FOR ucx ****************************** ompi_check_ucx_CPPFLAGS_save=${CPPFLAGS} ompi_check_ucx_LDLAGS_save=${LDFLAGS} ompi_check_ucx_LIBS_save=${LIBS} oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${sshmem_ucx_CPPFLAGS}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${CPPFLAGS}; 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 "${CPPFLAGS}" then : CPPFLAGS="$oac_list_arg" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${sshmem_ucx_LDFLAGS}; 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 case e in @%:@( e) LDFLAGS="${LDFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in ${sshmem_ucx_LIBS}; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${LIBS} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${LIBS}" then : LIBS="${oac_list_arg}" else case e in @%:@( e) LIBS="${LIBS} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${LIBS}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi LIBS="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${LIBS}" then : LIBS="${oac_list_arg}" else case e in @%:@( e) LIBS="${LIBS} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable if test "$ompi_check_ucx_happy" = yes then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for UCX version header" >&5 printf %s "checking for UCX version header... " >&6; } if test ${ompi_check_ucx_cv_have_version_header+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : ompi_check_ucx_cv_have_version_header="yes" else case e in @%:@( e) ompi_check_ucx_cv_have_version_header="no" ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_check_ucx_cv_have_version_header" >&5 printf "%s\n" "$ompi_check_ucx_cv_have_version_header" >&6; } if test "${ompi_check_ucx_cv_have_version_header}" != "yes" then : ompi_check_ucx_happy=no fi fi if test "$ompi_check_ucx_happy" = yes then : # Turn off UCX version v1.8 due to issue #8321 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking UCX version 1.8.x" >&5 printf %s "checking UCX version 1.8.x... " >&6; } if test ${ompi_check_ucx_cv_have_version_1_8+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #if (UCP_API_MAJOR == 1) && (UCP_API_MINOR == 8) #error "Invalid version" #endif ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO" then : ompi_check_ucx_cv_have_version_1_8=no else case e in @%:@( e) ompi_check_ucx_cv_have_version_1_8=yes ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_check_ucx_cv_have_version_1_8" >&5 printf "%s\n" "$ompi_check_ucx_cv_have_version_1_8" >&6; } if test "${ompi_check_ucx_cv_have_version_1_8}" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: UCX support skipped because version 1.8.x was found, which has a known catastrophic issue." >&5 printf "%s\n" "$as_me: WARNING: UCX support skipped because version 1.8.x was found, which has a known catastrophic issue." >&2;} ompi_check_ucx_happy=no fi fi cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { #if (UCP_API_MAJOR < 1) || ((UCP_API_MAJOR == 1) && (UCP_API_MINOR < 9)) #error "Version too low" #endif ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO" then : else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: UCX version is too old, please upgrade to 1.9 or higher." >&5 printf "%s\n" "$as_me: WARNING: UCX version is too old, please upgrade to 1.9 or higher." >&2;} ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext if test "$ompi_check_ucx_happy" = yes then : ac_fn_check_decl "$LINENO" "ucp_tag_send_nbr" "ac_cv_have_decl_ucp_tag_send_nbr" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_tag_send_nbr" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_TAG_SEND_NBR $ac_have_decl" >>confdefs.h if test $ac_have_decl = 1 then : printf "%s\n" "@%:@define HAVE_UCP_TAG_SEND_NBR 1" >>confdefs.h fi ac_fn_check_decl "$LINENO" "ucp_ep_flush_nb" "ac_cv_have_decl_ucp_ep_flush_nb" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_ep_flush_nb" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_EP_FLUSH_NB $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_worker_flush_nb" "ac_cv_have_decl_ucp_worker_flush_nb" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_worker_flush_nb" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_WORKER_FLUSH_NB $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_request_check_status" "ac_cv_have_decl_ucp_request_check_status" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_request_check_status" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_REQUEST_CHECK_STATUS $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_put_nb" "ac_cv_have_decl_ucp_put_nb" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_put_nb" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_PUT_NB $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_get_nb" "ac_cv_have_decl_ucp_get_nb" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_get_nb" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_GET_NB $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_put_nbx" "ac_cv_have_decl_ucp_put_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_put_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_PUT_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_get_nbx" "ac_cv_have_decl_ucp_get_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_get_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_GET_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_atomic_op_nbx" "ac_cv_have_decl_ucp_atomic_op_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_atomic_op_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_OP_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_ep_flush_nbx" "ac_cv_have_decl_ucp_ep_flush_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_ep_flush_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_EP_FLUSH_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucm_test_events" "ac_cv_have_decl_ucm_test_events" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucm_test_events" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCM_TEST_EVENTS $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucm_test_external_events" "ac_cv_have_decl_ucm_test_external_events" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucm_test_external_events" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCM_TEST_EXTERNAL_EVENTS $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_POST_OP_AND" "ac_cv_have_decl_UCP_ATOMIC_POST_OP_AND" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_POST_OP_AND" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_POST_OP_AND $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_POST_OP_OR" "ac_cv_have_decl_UCP_ATOMIC_POST_OP_OR" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_POST_OP_OR" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_POST_OP_OR $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_POST_OP_XOR" "ac_cv_have_decl_UCP_ATOMIC_POST_OP_XOR" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_POST_OP_XOR" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_POST_OP_XOR $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_FETCH_OP_FAND" "ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FAND" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FAND" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_FETCH_OP_FAND $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_FETCH_OP_FOR" "ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FOR" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FOR" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_FETCH_OP_FOR $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_ATOMIC_FETCH_OP_FXOR" "ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FXOR" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATOMIC_FETCH_OP_FXOR" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATOMIC_FETCH_OP_FXOR $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_PARAM_FIELD_ESTIMATED_NUM_PPN" "ac_cv_have_decl_UCP_PARAM_FIELD_ESTIMATED_NUM_PPN" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_PARAM_FIELD_ESTIMATED_NUM_PPN" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_PARAM_FIELD_ESTIMATED_NUM_PPN $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_WORKER_FLAG_IGNORE_REQUEST_LEAK" "ac_cv_have_decl_UCP_WORKER_FLAG_IGNORE_REQUEST_LEAK" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_WORKER_FLAG_IGNORE_REQUEST_LEAK" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_WORKER_FLAG_IGNORE_REQUEST_LEAK $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_OP_ATTR_FLAG_MULTI_SEND" "ac_cv_have_decl_UCP_OP_ATTR_FLAG_MULTI_SEND" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_OP_ATTR_FLAG_MULTI_SEND" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_OP_ATTR_FLAG_MULTI_SEND $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_MEM_MAP_SYMMETRIC_RKEY" "ac_cv_have_decl_UCP_MEM_MAP_SYMMETRIC_RKEY" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_MEM_MAP_SYMMETRIC_RKEY" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_MEM_MAP_SYMMETRIC_RKEY $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCS_MEMORY_TYPE_RDMA" "ac_cv_have_decl_UCS_MEMORY_TYPE_RDMA" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCS_MEMORY_TYPE_RDMA" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCS_MEMORY_TYPE_RDMA $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS" "ac_cv_have_decl_UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_WORKER_ATTR_FIELD_ADDRESS_FLAGS $ac_have_decl" >>confdefs.h if test $ac_have_decl = 1 then : printf "%s\n" "@%:@define HAVE_UCP_WORKER_ADDRESS_FLAGS 1" >>confdefs.h fi ac_fn_check_decl "$LINENO" "UCP_ATTR_FIELD_MEMORY_TYPES" "ac_cv_have_decl_UCP_ATTR_FIELD_MEMORY_TYPES" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_ATTR_FIELD_MEMORY_TYPES" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_ATTR_FIELD_MEMORY_TYPES $ac_have_decl" >>confdefs.h if test $ac_have_decl = 1 then : printf "%s\n" "@%:@define HAVE_UCP_ATTR_MEMORY_TYPES 1" >>confdefs.h fi ac_fn_check_decl "$LINENO" "UCP_EP_ATTR_FIELD_TRANSPORTS" "ac_cv_have_decl_UCP_EP_ATTR_FIELD_TRANSPORTS" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UCP_EP_ATTR_FIELD_TRANSPORTS" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_EP_ATTR_FIELD_TRANSPORTS $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_tag_send_nbx" "ac_cv_have_decl_ucp_tag_send_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_tag_send_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_TAG_SEND_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_tag_send_sync_nbx" "ac_cv_have_decl_ucp_tag_send_sync_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_tag_send_sync_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_TAG_SEND_SYNC_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_tag_recv_nbx" "ac_cv_have_decl_ucp_tag_recv_nbx" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_tag_recv_nbx" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_TAG_RECV_NBX $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "ucp_rkey_compare" "ac_cv_have_decl_ucp_rkey_compare" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ucp_rkey_compare" = xyes then : ac_have_decl=1 else case e in @%:@( e) ac_have_decl=0 ;; esac fi printf "%s\n" "@%:@define HAVE_DECL_UCP_RKEY_COMPARE $ac_have_decl" >>confdefs.h ac_fn_c_check_type "$LINENO" "ucp_request_param_t" "ac_cv_type_ucp_request_param_t" "#include " if test "x$ac_cv_type_ucp_request_param_t" = xyes then : printf "%s\n" "@%:@define HAVE_UCP_REQUEST_PARAM_T 1" >>confdefs.h fi fi CPPFLAGS=${ompi_check_ucx_CPPFLAGS_save} LDFLAGS=${ompi_check_ucx_LDLAGS_save} LIBS=${ompi_check_ucx_LIBS_save} 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="Open UCX: $ompi_check_ucx_happy" oac_summary_key="TransportsOpen_UCX" # Use the section name variable as an indicator for whether or not # the section has already been created. if test ${oac_summary_section_Transports_name+y} then : else case e in @%:@( e) oac_summary_section_Transports_name="Transports" if test -z "${oac_summary_sections}" then : oac_summary_sections="Transports" else case e in @%:@( e) oac_summary_sections="${oac_summary_sections} Transports" ;; esac fi ;; esac 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 case e in @%:@( e) eval "${oac_summary_key}=1" if test ${oac_summary_section_Transports_value+y} then : as_fn_append oac_summary_section_Transports_value "${oac_summary_newline}${oac_summary_line}" else case e in @%:@( e) oac_summary_section_Transports_value="${oac_summary_line}" ;; esac fi ;; esac fi oac_var_scope_pop oac_summary_line oac_summary_newline oac_summary_key if test "$ompi_check_ucx_happy" = "yes" then : sshmem_ucx_happy="yes" else case e in @%:@( e) if test ! -z "$with_ucx" && test "$with_ucx" != "no" then : as_fn_error $? "UCX support requested but not found. Aborting" "$LINENO" 5 fi sshmem_ucx_happy="no" ;; esac fi opal_var_scope_pop ompi_check_ucx_happy ompi_check_ucx_CPPFLAGS_save ompi_check_ucx_LDFLAGS_save ompi_check_ucx_LIBS_save if test "$sshmem_ucx_happy" = "yes" then : should_build=$should_build else case e in @%:@( e) should_build=0 ;; esac fi # Check for UCX device memory allocation support save_LDFLAGS="$LDFLAGS" save_LIBS="$LIBS" save_CPPFLAGS="$CPPFLAGS" CPPFLAGS+=" $sshmem_ucx_CPPFLAGS" LDFLAGS+=" $sshmem_ucx_LDFLAGS" LIBS+=" $sshmem_ucx_LIBS" CPPFLAGS="$save_CPPFLAGS" LDFLAGS="$save_LDFLAGS" LIBS="$save_LIBS" # substitute in the things needed to build ucx opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build" if test "$should_build" = "1" then : # See if it dropped an output file for us to pick up some # shell variables in. infile="$srcdir/oshmem/mca/sshmem/ucx/post_configure.sh" # Add this subdir to the mast list of all MCA component subdirs all_components="$all_components ucx" if test "$compile_mode" = "dso" ; then dso_components="$dso_components ucx" else if test "sshmem" = "common"; then # Static libraries in "common" frameworks are installed, and # therefore must obey the $FRAMEWORK_LIB_NAME that was # set. static_ltlibs="mca/sshmem/ucx/lib${OSHMEM_LIB_NAME}mca_sshmem_ucx.la $static_ltlibs" else # Other frameworks do not have to obey the # $FRAMEWORK_LIB_NAME prefix. static_ltlibs="mca/sshmem/ucx/libmca_sshmem_ucx.la $static_ltlibs" fi echo "extern const mca_base_component_t mca_sshmem_ucx_component;" >> $outfile.extern echo " &mca_sshmem_ucx_component, " >> $outfile.struct static_components="$static_components ucx" fi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component sshmem:ucx can compile" >&5 printf %s "checking if MCA component sshmem:ucx can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } if test -f $infile; then # check for direct call header to include. This will be # AC_SUBSTed later. if test "$DIRECT_sshmem" = "ucx" ; then if test "`$GREP DIRECT_CALL_HEADER $infile`" != "" ; then line="`$GREP DIRECT_CALL_HEADER $infile | cut -d= -f2-`" str="MCA_oshmem_sshmem_DIRECT_CALL_HEADER=$line" eval $str else as_fn_error $? "*** sshmem component ucx was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi else # were we supposed to have found something in the # post_configure.sh, but the file didn't exist? if test "$DIRECT_sshmem" = "ucx" ; then as_fn_error $? "*** sshmem component ucx was supposed to be direct-called, but *** does not appear to support direct calling. *** Aborting" "$LINENO" 5 fi fi # If a component is building static, we need to provide LDFLAGS # and LIBS configuration to the wrapper compiler, so that it can # provide them for the final link of the application. Components # can explicitly set __WRAPPER_EXTRA_ # for either LDFLAGS or LIBS, for cases where the component wants # to explicitly manage which flags are passed to the wrapper # compiler. If the __WRAPPER_EXTRA_ # variable is not set, then it is assumed that the component # wishes all LDFLAGS and LIBS to be provided as wrapper flags. if test "$compile_mode" = "static" then : if test ${sshmem_ucx_WRAPPER_EXTRA_LDFLAGS+y} then : tmp_flags=${sshmem_ucx_WRAPPER_EXTRA_LDFLAGS} else case e in @%:@( e) tmp_flags=${sshmem_ucx_LDFLAGS} ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $tmp_flags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_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 "${mca_wrapper_extra_ldflags}" then : mca_wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_ldflags="${mca_wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val if test ${sshmem_ucx_WRAPPER_EXTRA_LIBS+y} then : tmp_flags=${sshmem_ucx_WRAPPER_EXTRA_LIBS} else case e in @%:@( e) tmp_all_flags=${sshmem_ucx_LIBS} opal_var_scope_push ${LINENO} opal_tmp for arg in $tmp_all_flags; do opal_tmp=`echo $arg | awk '{print substr($1, length($1)-2) }'` if test "$opal_tmp" != ".la" then : if test -z "$tmp_flags" then : tmp_flags=$arg else case e in @%:@( e) tmp_flags="$tmp_flags $arg" ;; esac fi fi done opal_var_scope_pop opal_tmp ;; esac fi oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in $tmp_flags; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${mca_wrapper_extra_libs} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${mca_wrapper_extra_libs}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi mca_wrapper_extra_libs="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${mca_wrapper_extra_libs}" then : mca_wrapper_extra_libs="${oac_list_arg}" else case e in @%:@( e) mca_wrapper_extra_libs="${mca_wrapper_extra_libs} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable fi # WRAPPER_EXTRA_CPPFLAGS are only needed for STOP_AT_FIRST # components, as all other components are not allowed to leak # headers or compile-time flags into the top-level library or # wrapper compilers. If needed, copy over WRAPPER_EXTRA_CPPFLAGS. # Since a configure script component can never be used in a # STOP_AT_FIRST framework, we don't have to implement the else # clause in the literal check. if test "$sshmem_ucx_WRAPPER_EXTRA_CPPFLAGS" != "" then : stop_at_first=0 if test "$compile_mode" = "static" && test "$stop_at_first" = "1" then : if test "$with_devel_headers" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $sshmem_ucx_WRAPPER_EXTRA_CPPFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${mca_wrapper_extra_cppflags}; 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 "${mca_wrapper_extra_cppflags}" then : mca_wrapper_extra_cppflags="$oac_list_arg" else case e in @%:@( e) mca_wrapper_extra_cppflags="${mca_wrapper_extra_cppflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ignoring sshmem_ucx_WRAPPER_EXTRA_CPPFLAGS ($sshmem_ucx_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&5 printf "%s\n" "$as_me: WARNING: ignoring sshmem_ucx_WRAPPER_EXTRA_CPPFLAGS ($sshmem_ucx_WRAPPER_EXTRA_CPPFLAGS): component conditions not met" >&2;} ;; esac fi fi else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MCA component sshmem:ucx can compile" >&5 printf %s "checking if MCA component sshmem:ucx can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } # If this component was requested as the default for this # type, then abort. if test "$with_sshmem" = "ucx" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ucx\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ucx\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi if test ! -z "$DIRECT_sshmem" ; then if test "$DIRECT_sshmem" = "ucx" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MCA component \"ucx\" failed to configure properly" >&5 printf "%s\n" "$as_me: WARNING: MCA component \"ucx\" failed to configure properly" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: This component was selected as the default (direct call)" >&5 printf "%s\n" "$as_me: WARNING: This component was selected as the default (direct call)" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi fi # add component to all component list all_components="$all_components ucx" ;; esac fi # set the AM_CONDITIONAL on how we should build if test "$compile_mode" = "dso" then : BUILD_oshmem_sshmem_ucx_DSO=1 else case e in @%:@( e) BUILD_oshmem_sshmem_ucx_DSO=0 ;; esac fi if test "$BUILD_oshmem_sshmem_ucx_DSO" = "1"; then MCA_BUILD_oshmem_sshmem_ucx_DSO_TRUE= MCA_BUILD_oshmem_sshmem_ucx_DSO_FALSE='#' else MCA_BUILD_oshmem_sshmem_ucx_DSO_TRUE='#' MCA_BUILD_oshmem_sshmem_ucx_DSO_FALSE= fi if test "$should_build" = "1" then : components_last_result=1 else case e in @%:@( e) components_last_result=0 ;; esac fi unset compile_mode if test ${DIRECT_sshmem+y} then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if direct-selection component exists for sshmem framework" >&5 printf %s "checking if direct-selection component exists for sshmem framework... " >&6; } direct_component_happy=no for component in $all_components ; do if test $component = "$DIRECT_sshmem" then : direct_component_happy=yes fi done if test $direct_component_happy = no ; then as_fn_error $? "direct component $DIRECT_sshmem requested but not found in $all_components" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DIRECT_sshmem" >&5 printf "%s\n" "$DIRECT_sshmem" >&6; } fi MCA_oshmem_sshmem_ALL_COMPONENTS="$all_components" MCA_oshmem_sshmem_STATIC_COMPONENTS="$static_components" MCA_oshmem_sshmem_DSO_COMPONENTS="$dso_components" MCA_oshmem_sshmem_STATIC_LTLIBS="$static_ltlibs" MCA_oshmem_sshmem_ALL_SUBDIRS= for item in $all_components ; do MCA_oshmem_sshmem_ALL_SUBDIRS="$MCA_oshmem_sshmem_ALL_SUBDIRS mca/sshmem/$item" done MCA_oshmem_sshmem_STATIC_SUBDIRS= for item in $static_components ; do MCA_oshmem_sshmem_STATIC_SUBDIRS="$MCA_oshmem_sshmem_STATIC_SUBDIRS mca/sshmem/$item" done MCA_oshmem_sshmem_DSO_SUBDIRS= for item in $dso_components ; do MCA_oshmem_sshmem_DSO_SUBDIRS="$MCA_oshmem_sshmem_DSO_SUBDIRS mca/sshmem/$item" done # Create the final .h file that will be included in the type's # top-level glue. This lists all the static components. We don't # need to do this for "common". if test "sshmem" != "common"; then cat > $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern unset all_components static_components dso_components outfile outfile_real # note that mca_wrapper_extra_* is a running list, and we take checkpoints at the end of our project oshmem_mca_wrapper_extra_cppflags="$mca_wrapper_extra_cppflags" oshmem_mca_wrapper_extra_ldflags="$mca_wrapper_extra_ldflags" oshmem_mca_wrapper_extra_libs="$mca_wrapper_extra_libs" # # Now that we know how to support threads with wrappers, update # oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $THREAD_CFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${wrapper_extra_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 "${wrapper_extra_cflags}" then : wrapper_extra_cflags="$oac_list_arg" else case e in @%:@( e) wrapper_extra_cflags="${wrapper_extra_cflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val opal_show_verbose "Adding \"$THREAD_CFLAGS\" to \"CFLAGS\"" oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $THREAD_CXXFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${wrapper_extra_cxxflags}; 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_cxxflags}" then : wrapper_extra_cxxflags="$oac_list_arg" else case e in @%:@( e) wrapper_extra_cxxflags="${wrapper_extra_cxxflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val opal_show_verbose "Adding \"$THREAD_CXXFLAGS\" to \"CXXFLAGS\"" oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $THREAD_FCFLAGS; 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 case e in @%:@( e) wrapper_extra_fcflags="${wrapper_extra_fcflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val opal_show_verbose "Adding \"$THREAD_FCFLAGS\" to \"FCFLAGS\"" oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $THREAD_LDFLAGS; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${wrapper_extra_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 "${wrapper_extra_ldflags}" then : wrapper_extra_ldflags="$oac_list_arg" else case e in @%:@( e) wrapper_extra_ldflags="${wrapper_extra_ldflags} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val opal_show_verbose "Adding \"$THREAD_LDFLAGS\" to \"LDFLAGS\"" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for size of endpoint array" >&5 printf %s "checking for size of endpoint array... " >&6; } if test -z "$ompi_endpoint_tag_counter" || test "$ompi_endpoint_tag_counter" = "0" then : as_fn_error $? "Endpoint index count is 0. This means no MPI communication would be possible. Aborting." "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ompi_endpoint_tag_counter" >&5 printf "%s\n" "$ompi_endpoint_tag_counter" >&6; } printf "%s\n" "@%:@define OMPI_PROC_ENDPOINT_TAG_MAX $ompi_endpoint_tag_counter" >>confdefs.h # Last minute disable of OpenSHMEM if we didn't find any oshmem SPMLs if test "$project_oshmem_amc" = "true" && test $OSHMEM_FOUND_WORKING_SPML -eq 0 ; then # We don't have an spml that will work, so oshmem wouldn't be able # to run an application. Therefore, don't build the oshmem layer. if test "$enable_oshmem" != "no" && test -n "$enable_oshmem"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: No spml found, so OpenSHMEM layer will be non functional." >&5 printf "%s\n" "$as_me: WARNING: No spml found, so OpenSHMEM layer will be non functional." >&2;} as_fn_error $? "Aborting because OpenSHMEM requested, but can not build." "$LINENO" 5 else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: No spml found. Will not build OpenSHMEM layer." >&5 printf "%s\n" "$as_me: WARNING: No spml found. Will not build OpenSHMEM layer." >&2;} project_oshmem_amc="false (no spml)" # now for the hard part, remove project from list that will # run. This is a hack, but it works as long as the project # remains named "oshmem". MCA_PROJECT_SUBDIRS=`echo "$MCA_PROJECT_SUBDIRS" | sed -e 's/oshmem//'` fi fi # checkpoint results cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # 'ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* 'ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( 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=\ *) # 'set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # 'set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 printf "%s\n" "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache ################################## # MPI Extended Interfaces ################################## opal_show_title "Extended MPI interfaces setup" # Note that we do not build DSO's here -- we *only* build convenience # libraries that get slurped into higher-level libraries # # [default -- no option given] = No extensions built # --enable-mpi-ext=[,]*EXTENSION[,]* # @%:@ Check whether --enable-mpi-ext was given. if test ${enable_mpi_ext+y} then : enableval=$enable_mpi_ext; fi # print some nice messages about what we're about to do... { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for available MPI Extensions" >&5 printf %s "checking for available MPI Extensions... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: affinity, cuda, ftmpi, rocm, shortfloat" >&5 printf "%s\n" "affinity, cuda, ftmpi, rocm, shortfloat" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which MPI extension should be enabled" >&5 printf %s "checking which MPI extension should be enabled... " >&6; } if test "$enable_mpi_ext" = "" || \ test "$enable_mpi_ext" = "yes" || \ test "$enable_mpi_ext" = "all"; then enable_mpi_ext=all msg="All Available Extensions" str="`echo ENABLE_EXT_ALL=1`" eval $str else ifs_save="$IFS" IFS="${IFS}$PATH_SEPARATOR," msg= for item in $enable_mpi_ext; do type="`echo $item | cut -s -f1 -d-`" if test -z $type ; then type=$item fi str="`echo ENABLE_${type}=1 | sed s/-/_/g`" eval $str msg="$item $msg" done IFS="$ifs_save" fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $msg" >&5 printf "%s\n" "$msg" >&6; } unset msg outdir=ompi/include # first create the output include directory mkdir -p $outdir ############### # C Bindings ############### # remove any previously generated #include files mpi_ext_h=$outdir/mpi-ext.h rm -f $mpi_ext_h # Create the final mpi-ext.h file. cat > $mpi_ext_h < $mpif_ext_h < $mpiusempi_ext_h < $mpiusempif08_ext_h <&5 printf %s "checking if MPI Extension $component can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } tmp=AFFINITY component_define="OMPI_HAVE_MPI_EXT_${tmp}" ############### # C Bindings ############### test_header="${srcdir}/ompi/mpiext/${component}/c/mpiext_${component}_c.h" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MPI Extension $component has C bindings" >&5 printf %s "checking if MPI Extension $component has C bindings... " >&6; } if test ! -e "$test_header" && test ! -e "$test_header.in" then : # There *must* be C bindings { 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 bindings for MPI extensions are required" >&5 printf "%s\n" "$as_me: WARNING: C bindings for MPI extensions are required" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes (required)" >&5 printf "%s\n" "yes (required)" >&6; } # Save the list of headers and convenience libraries that this # component will output OMPI_MPIEXT_ALL="$OMPI_MPIEXT_ALL $component" OMPI_MPIEXT_C="$OMPI_MPIEXT_C $component" # JMS Where is this needed? EXT_C_HEADERS="$EXT_C_HEADERS mpiext/c/mpiext_${component}_c.h" component_header="mpiext_${component}_c.h" cat >> $mpi_ext_h <&5 printf %s "checking if MPI Extension $component has mpif.h bindings... " >&6; } if test -e "$test_header" || test -e "$test_header".in ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } enabled_mpifh=1 EXT_MPIFH_HEADERS="$EXT_MPIFH_HEADERS mpiext/mpiext_${component}_mpifh.h" OMPI_MPIEXT_MPIFH="$OMPI_MPIEXT_MPIFH $component" # Per https://github.com/open-mpi/ompi/pull/6030, we will end # up putting a user-visible Fortran "include" statement in the # installed mpif-ext.h file, and we therefore have to ensure # that the total length of the line is <=72 characters. Doing # a little math here: # # leading indent spaces: 6 chars # "include '": 9 chars # "openmpi/mpiext/mpiext_NAME_mpifh.h": without NAME, 30 chars # trailing "'": 1 char # # 6+9+30+1 = 46 chars overhead. # 72-46 = 26 characters left for NAME. # # It would be exceedingly unusual to have an MPI extension # name > 26 characters. But just in case, put a check here # to make sure: error out if the MPI extension name is > 26 # characters (because otherwise it'll just be a really weird / # hard to diagnose compile error when a user tries to compile # a Fortran MPI application that includes `mpif-ext.h`). len=`echo $component | wc -c` result=`expr $len \> 26` if test $result -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MPI affinity name too long: $component" >&5 printf "%s\n" "$as_me: WARNING: MPI affinity name too long: $component" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: For esoteric reasons, MPI Extensions with mpif.h bindings must have a name that is <= 26 characters" >&5 printf "%s\n" "$as_me: WARNING: For esoteric reasons, MPI Extensions with mpif.h bindings must have a name that is <= 26 characters" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi component_header="mpiext_${component}_mpifh.h" mpifh_component_header_path="ompi/mpiext/$component/mpif-h/${component_header}" if test -e "${srcdir}/${mpifh_component_header_path}" ; then mpifh_component_header_path="${srcdir}/${mpifh_component_header_path}" fi cat >> $mpif_ext_h <&5 printf "%s\n" "no" >&6; } cat >> $mpif_ext_h <&5 printf %s "checking if MPI Extension $component has \"use mpi\" bindings... " >&6; } if test -e "$test_header" || test -e "$test_header".in ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } EXT_USEMPI_HEADERS="$EXT_USEMPI_HEADERS mpiext/$component/use-mpi/mpiext_${component}_usempi.h" OMPI_MPIEXT_USEMPI="$OMPI_MPIEXT_USEMPI $component" component_header="mpiext_${component}_usempi.h" usempi_component_header_path="ompi/mpiext/$component/use-mpi/$component_header" if test -e "${srcdir}/${usempi_component_header_path}" ; then usempi_component_header_path="${srcdir}/${usempi_component_header_path}" fi cat >> $mpiusempi_ext_h <> $mpiusempi_ext_h <> $mpiusempi_ext_h <&5 printf "%s\n" "no" >&6; } cat >> $mpiusempi_ext_h <&5 printf %s "checking if MPI Extension $component has \"use mpi_f08\" bindings... " >&6; } if test -e "$test_header" || test -e "$test_header".in ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } EXT_USEMPIF08_HEADERS="$EXT_USEMPIF08_HEADERS mpiext/$component/use-mpi-f08/mpiext_${component}_usempif08.h" OMPI_MPIEXT_USEMPIF08="$OMPI_MPIEXT_USEMPIF08 $component" component_header="mpiext_${component}_usempif08.h" usempif08_component_header_path="ompi/mpiext/$component/use-mpi-f08/$component_header" if test -e "${srcdir}/${usempif08_component_header_path}" ; then usempif08_component_header_path="${srcdir}/${usempif08_component_header_path}" fi cat >> $mpiusempif08_ext_h <> $mpiusempif08_ext_h <> $mpiusempif08_ext_h <&5 printf "%s\n" "no" >&6; } cat >> $mpiusempif08_ext_h <&5 printf %s "checking if MPI Extension affinity can compile... " >&6; } # Need to add this component to the "all" list so that it is # included in DIST SUBDIRS OMPI_MPIEXT_ALL="$OMPI_MPIEXT_ALL affinity" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac fi opal_show_subsubsubtitle "MPI Extension cuda" component=cuda component_path="$srcdir/ompi/mpiext/$component" want_component=0 # build if: # - the component type is direct and we are that component # - there is no ompi_ignore file # - there is an ompi_ignore, but there is an empty ompi_unignore # - there is an ompi_ignore, but username is in ompi_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.ompi_ignore ; then # If there is an ompi_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.ompi_unignore ; then # if there is an empty ompi_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.ompi_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.ompi_unignore`" ; then want_component=1 fi fi fi # if we asked for everything, then allow it to build if able str="ENABLED_COMPONENT_CHECK=\$ENABLE_EXT_ALL" eval $str if test ! "$ENABLED_COMPONENT_CHECK" = "1" ; then # if we were explicitly disabled, don't build :) str="ENABLED_COMPONENT_CHECK=\$ENABLE_${component}" eval $str if test ! "$ENABLED_COMPONENT_CHECK" = "1" ; then want_component=0 fi fi if test $want_component -eq 1 then : should_build=1 else case e in @%:@( e) should_build=0 ;; esac fi # try to configure the component ac_config_files="$ac_config_files ompi/mpiext/cuda/Makefile" ac_config_files="$ac_config_files ompi/mpiext/cuda/c/Makefile" ac_config_headers="$ac_config_headers ompi/mpiext/cuda/c/mpiext_cuda_c.h" printf "%s\n" "@%:@define MPIX_CUDA_AWARE_SUPPORT $CUDA_SUPPORT" >>confdefs.h # We compile this whether CUDA support was requested or not. It allows # us to to detect if we have CUDA support. if test "$ENABLE_cuda" = "1" || \ test "$ENABLE_EXT_ALL" = "1" then : should_build=${should_build} else case e in @%:@( e) should_build=0 ;; esac fi if test $should_build -eq 1 then : component=cuda # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MPI Extension $component can compile" >&5 printf %s "checking if MPI Extension $component can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } tmp=CUDA component_define="OMPI_HAVE_MPI_EXT_${tmp}" ############### # C Bindings ############### test_header="${srcdir}/ompi/mpiext/${component}/c/mpiext_${component}_c.h" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MPI Extension $component has C bindings" >&5 printf %s "checking if MPI Extension $component has C bindings... " >&6; } if test ! -e "$test_header" && test ! -e "$test_header.in" then : # There *must* be C bindings { 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 bindings for MPI extensions are required" >&5 printf "%s\n" "$as_me: WARNING: C bindings for MPI extensions are required" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes (required)" >&5 printf "%s\n" "yes (required)" >&6; } # Save the list of headers and convenience libraries that this # component will output OMPI_MPIEXT_ALL="$OMPI_MPIEXT_ALL $component" OMPI_MPIEXT_C="$OMPI_MPIEXT_C $component" # JMS Where is this needed? EXT_C_HEADERS="$EXT_C_HEADERS mpiext/c/mpiext_${component}_c.h" component_header="mpiext_${component}_c.h" cat >> $mpi_ext_h <&5 printf %s "checking if MPI Extension $component has mpif.h bindings... " >&6; } if test -e "$test_header" || test -e "$test_header".in ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } enabled_mpifh=1 EXT_MPIFH_HEADERS="$EXT_MPIFH_HEADERS mpiext/mpiext_${component}_mpifh.h" OMPI_MPIEXT_MPIFH="$OMPI_MPIEXT_MPIFH $component" # Per https://github.com/open-mpi/ompi/pull/6030, we will end # up putting a user-visible Fortran "include" statement in the # installed mpif-ext.h file, and we therefore have to ensure # that the total length of the line is <=72 characters. Doing # a little math here: # # leading indent spaces: 6 chars # "include '": 9 chars # "openmpi/mpiext/mpiext_NAME_mpifh.h": without NAME, 30 chars # trailing "'": 1 char # # 6+9+30+1 = 46 chars overhead. # 72-46 = 26 characters left for NAME. # # It would be exceedingly unusual to have an MPI extension # name > 26 characters. But just in case, put a check here # to make sure: error out if the MPI extension name is > 26 # characters (because otherwise it'll just be a really weird / # hard to diagnose compile error when a user tries to compile # a Fortran MPI application that includes `mpif-ext.h`). len=`echo $component | wc -c` result=`expr $len \> 26` if test $result -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MPI cuda name too long: $component" >&5 printf "%s\n" "$as_me: WARNING: MPI cuda name too long: $component" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: For esoteric reasons, MPI Extensions with mpif.h bindings must have a name that is <= 26 characters" >&5 printf "%s\n" "$as_me: WARNING: For esoteric reasons, MPI Extensions with mpif.h bindings must have a name that is <= 26 characters" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi component_header="mpiext_${component}_mpifh.h" mpifh_component_header_path="ompi/mpiext/$component/mpif-h/${component_header}" if test -e "${srcdir}/${mpifh_component_header_path}" ; then mpifh_component_header_path="${srcdir}/${mpifh_component_header_path}" fi cat >> $mpif_ext_h <&5 printf "%s\n" "no" >&6; } cat >> $mpif_ext_h <&5 printf %s "checking if MPI Extension $component has \"use mpi\" bindings... " >&6; } if test -e "$test_header" || test -e "$test_header".in ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } EXT_USEMPI_HEADERS="$EXT_USEMPI_HEADERS mpiext/$component/use-mpi/mpiext_${component}_usempi.h" OMPI_MPIEXT_USEMPI="$OMPI_MPIEXT_USEMPI $component" component_header="mpiext_${component}_usempi.h" usempi_component_header_path="ompi/mpiext/$component/use-mpi/$component_header" if test -e "${srcdir}/${usempi_component_header_path}" ; then usempi_component_header_path="${srcdir}/${usempi_component_header_path}" fi cat >> $mpiusempi_ext_h <> $mpiusempi_ext_h <> $mpiusempi_ext_h <&5 printf "%s\n" "no" >&6; } cat >> $mpiusempi_ext_h <&5 printf %s "checking if MPI Extension $component has \"use mpi_f08\" bindings... " >&6; } if test -e "$test_header" || test -e "$test_header".in ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } EXT_USEMPIF08_HEADERS="$EXT_USEMPIF08_HEADERS mpiext/$component/use-mpi-f08/mpiext_${component}_usempif08.h" OMPI_MPIEXT_USEMPIF08="$OMPI_MPIEXT_USEMPIF08 $component" component_header="mpiext_${component}_usempif08.h" usempif08_component_header_path="ompi/mpiext/$component/use-mpi-f08/$component_header" if test -e "${srcdir}/${usempif08_component_header_path}" ; then usempif08_component_header_path="${srcdir}/${usempif08_component_header_path}" fi cat >> $mpiusempif08_ext_h <> $mpiusempif08_ext_h <> $mpiusempif08_ext_h <&5 printf "%s\n" "no" >&6; } cat >> $mpiusempif08_ext_h <&5 printf %s "checking if MPI Extension cuda can compile... " >&6; } # Need to add this component to the "all" list so that it is # included in DIST SUBDIRS OMPI_MPIEXT_ALL="$OMPI_MPIEXT_ALL cuda" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac fi opal_show_subsubsubtitle "MPI Extension ftmpi" component=ftmpi component_path="$srcdir/ompi/mpiext/$component" want_component=0 # build if: # - the component type is direct and we are that component # - there is no ompi_ignore file # - there is an ompi_ignore, but there is an empty ompi_unignore # - there is an ompi_ignore, but username is in ompi_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.ompi_ignore ; then # If there is an ompi_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.ompi_unignore ; then # if there is an empty ompi_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.ompi_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.ompi_unignore`" ; then want_component=1 fi fi fi # if we asked for everything, then allow it to build if able str="ENABLED_COMPONENT_CHECK=\$ENABLE_EXT_ALL" eval $str if test ! "$ENABLED_COMPONENT_CHECK" = "1" ; then # if we were explicitly disabled, don't build :) str="ENABLED_COMPONENT_CHECK=\$ENABLE_${component}" eval $str if test ! "$ENABLED_COMPONENT_CHECK" = "1" ; then want_component=0 fi fi if test $want_component -eq 1 then : should_build=1 else case e in @%:@( e) should_build=0 ;; esac fi # try to configure the component ac_config_files="$ac_config_files ompi/mpiext/ftmpi/Makefile" ac_config_files="$ac_config_files ompi/mpiext/ftmpi/c/Makefile" ac_config_files="$ac_config_files ompi/mpiext/ftmpi/c/profile/Makefile" ac_config_files="$ac_config_files ompi/mpiext/ftmpi/mpif-h/Makefile" ac_config_files="$ac_config_files ompi/mpiext/ftmpi/use-mpi/Makefile" ac_config_files="$ac_config_files ompi/mpiext/ftmpi/use-mpi-f08/Makefile" # If we don't want FT, don't compile this component if test "$opal_want_ft_mpi" = "1" then : should_build=${should_build} else case e in @%:@( e) should_build=0 ;; esac fi if test $should_build -eq 1 then : component=ftmpi # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MPI Extension $component can compile" >&5 printf %s "checking if MPI Extension $component can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } tmp=FTMPI component_define="OMPI_HAVE_MPI_EXT_${tmp}" ############### # C Bindings ############### test_header="${srcdir}/ompi/mpiext/${component}/c/mpiext_${component}_c.h" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MPI Extension $component has C bindings" >&5 printf %s "checking if MPI Extension $component has C bindings... " >&6; } if test ! -e "$test_header" && test ! -e "$test_header.in" then : # There *must* be C bindings { 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 bindings for MPI extensions are required" >&5 printf "%s\n" "$as_me: WARNING: C bindings for MPI extensions are required" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes (required)" >&5 printf "%s\n" "yes (required)" >&6; } # Save the list of headers and convenience libraries that this # component will output OMPI_MPIEXT_ALL="$OMPI_MPIEXT_ALL $component" OMPI_MPIEXT_C="$OMPI_MPIEXT_C $component" # JMS Where is this needed? EXT_C_HEADERS="$EXT_C_HEADERS mpiext/c/mpiext_${component}_c.h" component_header="mpiext_${component}_c.h" cat >> $mpi_ext_h <&5 printf %s "checking if MPI Extension $component has mpif.h bindings... " >&6; } if test -e "$test_header" || test -e "$test_header".in ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } enabled_mpifh=1 EXT_MPIFH_HEADERS="$EXT_MPIFH_HEADERS mpiext/mpiext_${component}_mpifh.h" OMPI_MPIEXT_MPIFH="$OMPI_MPIEXT_MPIFH $component" # Per https://github.com/open-mpi/ompi/pull/6030, we will end # up putting a user-visible Fortran "include" statement in the # installed mpif-ext.h file, and we therefore have to ensure # that the total length of the line is <=72 characters. Doing # a little math here: # # leading indent spaces: 6 chars # "include '": 9 chars # "openmpi/mpiext/mpiext_NAME_mpifh.h": without NAME, 30 chars # trailing "'": 1 char # # 6+9+30+1 = 46 chars overhead. # 72-46 = 26 characters left for NAME. # # It would be exceedingly unusual to have an MPI extension # name > 26 characters. But just in case, put a check here # to make sure: error out if the MPI extension name is > 26 # characters (because otherwise it'll just be a really weird / # hard to diagnose compile error when a user tries to compile # a Fortran MPI application that includes `mpif-ext.h`). len=`echo $component | wc -c` result=`expr $len \> 26` if test $result -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MPI ftmpi name too long: $component" >&5 printf "%s\n" "$as_me: WARNING: MPI ftmpi name too long: $component" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: For esoteric reasons, MPI Extensions with mpif.h bindings must have a name that is <= 26 characters" >&5 printf "%s\n" "$as_me: WARNING: For esoteric reasons, MPI Extensions with mpif.h bindings must have a name that is <= 26 characters" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi component_header="mpiext_${component}_mpifh.h" mpifh_component_header_path="ompi/mpiext/$component/mpif-h/${component_header}" if test -e "${srcdir}/${mpifh_component_header_path}" ; then mpifh_component_header_path="${srcdir}/${mpifh_component_header_path}" fi cat >> $mpif_ext_h <&5 printf "%s\n" "no" >&6; } cat >> $mpif_ext_h <&5 printf %s "checking if MPI Extension $component has \"use mpi\" bindings... " >&6; } if test -e "$test_header" || test -e "$test_header".in ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } EXT_USEMPI_HEADERS="$EXT_USEMPI_HEADERS mpiext/$component/use-mpi/mpiext_${component}_usempi.h" OMPI_MPIEXT_USEMPI="$OMPI_MPIEXT_USEMPI $component" component_header="mpiext_${component}_usempi.h" usempi_component_header_path="ompi/mpiext/$component/use-mpi/$component_header" if test -e "${srcdir}/${usempi_component_header_path}" ; then usempi_component_header_path="${srcdir}/${usempi_component_header_path}" fi cat >> $mpiusempi_ext_h <> $mpiusempi_ext_h <> $mpiusempi_ext_h <&5 printf "%s\n" "no" >&6; } cat >> $mpiusempi_ext_h <&5 printf %s "checking if MPI Extension $component has \"use mpi_f08\" bindings... " >&6; } if test -e "$test_header" || test -e "$test_header".in ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } EXT_USEMPIF08_HEADERS="$EXT_USEMPIF08_HEADERS mpiext/$component/use-mpi-f08/mpiext_${component}_usempif08.h" OMPI_MPIEXT_USEMPIF08="$OMPI_MPIEXT_USEMPIF08 $component" component_header="mpiext_${component}_usempif08.h" usempif08_component_header_path="ompi/mpiext/$component/use-mpi-f08/$component_header" if test -e "${srcdir}/${usempif08_component_header_path}" ; then usempif08_component_header_path="${srcdir}/${usempif08_component_header_path}" fi cat >> $mpiusempif08_ext_h <> $mpiusempif08_ext_h <> $mpiusempif08_ext_h <&5 printf "%s\n" "no" >&6; } cat >> $mpiusempif08_ext_h <&5 printf %s "checking if MPI Extension ftmpi can compile... " >&6; } # Need to add this component to the "all" list so that it is # included in DIST SUBDIRS OMPI_MPIEXT_ALL="$OMPI_MPIEXT_ALL ftmpi" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac fi opal_show_subsubsubtitle "MPI Extension rocm" component=rocm component_path="$srcdir/ompi/mpiext/$component" want_component=0 # build if: # - the component type is direct and we are that component # - there is no ompi_ignore file # - there is an ompi_ignore, but there is an empty ompi_unignore # - there is an ompi_ignore, but username is in ompi_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.ompi_ignore ; then # If there is an ompi_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.ompi_unignore ; then # if there is an empty ompi_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.ompi_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.ompi_unignore`" ; then want_component=1 fi fi fi # if we asked for everything, then allow it to build if able str="ENABLED_COMPONENT_CHECK=\$ENABLE_EXT_ALL" eval $str if test ! "$ENABLED_COMPONENT_CHECK" = "1" ; then # if we were explicitly disabled, don't build :) str="ENABLED_COMPONENT_CHECK=\$ENABLE_${component}" eval $str if test ! "$ENABLED_COMPONENT_CHECK" = "1" ; then want_component=0 fi fi if test $want_component -eq 1 then : should_build=1 else case e in @%:@( e) should_build=0 ;; esac fi # try to configure the component ac_config_files="$ac_config_files ompi/mpiext/rocm/Makefile" ac_config_files="$ac_config_files ompi/mpiext/rocm/c/Makefile" ac_config_headers="$ac_config_headers ompi/mpiext/rocm/c/mpiext_rocm_c.h" printf "%s\n" "@%:@define MPIX_ROCM_AWARE_SUPPORT $ROCM_SUPPORT" >>confdefs.h # We compile this whether ROCm support was requested or not. It allows # us to to detect if we have ROCm support. if test "$ENABLE_rocm" = "1" || \ test "$ENABLE_EXT_ALL" = "1" then : should_build=${should_build} else case e in @%:@( e) should_build=0 ;; esac fi if test $should_build -eq 1 then : component=rocm # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MPI Extension $component can compile" >&5 printf %s "checking if MPI Extension $component can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } tmp=ROCM component_define="OMPI_HAVE_MPI_EXT_${tmp}" ############### # C Bindings ############### test_header="${srcdir}/ompi/mpiext/${component}/c/mpiext_${component}_c.h" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MPI Extension $component has C bindings" >&5 printf %s "checking if MPI Extension $component has C bindings... " >&6; } if test ! -e "$test_header" && test ! -e "$test_header.in" then : # There *must* be C bindings { 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 bindings for MPI extensions are required" >&5 printf "%s\n" "$as_me: WARNING: C bindings for MPI extensions are required" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes (required)" >&5 printf "%s\n" "yes (required)" >&6; } # Save the list of headers and convenience libraries that this # component will output OMPI_MPIEXT_ALL="$OMPI_MPIEXT_ALL $component" OMPI_MPIEXT_C="$OMPI_MPIEXT_C $component" # JMS Where is this needed? EXT_C_HEADERS="$EXT_C_HEADERS mpiext/c/mpiext_${component}_c.h" component_header="mpiext_${component}_c.h" cat >> $mpi_ext_h <&5 printf %s "checking if MPI Extension $component has mpif.h bindings... " >&6; } if test -e "$test_header" || test -e "$test_header".in ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } enabled_mpifh=1 EXT_MPIFH_HEADERS="$EXT_MPIFH_HEADERS mpiext/mpiext_${component}_mpifh.h" OMPI_MPIEXT_MPIFH="$OMPI_MPIEXT_MPIFH $component" # Per https://github.com/open-mpi/ompi/pull/6030, we will end # up putting a user-visible Fortran "include" statement in the # installed mpif-ext.h file, and we therefore have to ensure # that the total length of the line is <=72 characters. Doing # a little math here: # # leading indent spaces: 6 chars # "include '": 9 chars # "openmpi/mpiext/mpiext_NAME_mpifh.h": without NAME, 30 chars # trailing "'": 1 char # # 6+9+30+1 = 46 chars overhead. # 72-46 = 26 characters left for NAME. # # It would be exceedingly unusual to have an MPI extension # name > 26 characters. But just in case, put a check here # to make sure: error out if the MPI extension name is > 26 # characters (because otherwise it'll just be a really weird / # hard to diagnose compile error when a user tries to compile # a Fortran MPI application that includes `mpif-ext.h`). len=`echo $component | wc -c` result=`expr $len \> 26` if test $result -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MPI rocm name too long: $component" >&5 printf "%s\n" "$as_me: WARNING: MPI rocm name too long: $component" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: For esoteric reasons, MPI Extensions with mpif.h bindings must have a name that is <= 26 characters" >&5 printf "%s\n" "$as_me: WARNING: For esoteric reasons, MPI Extensions with mpif.h bindings must have a name that is <= 26 characters" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi component_header="mpiext_${component}_mpifh.h" mpifh_component_header_path="ompi/mpiext/$component/mpif-h/${component_header}" if test -e "${srcdir}/${mpifh_component_header_path}" ; then mpifh_component_header_path="${srcdir}/${mpifh_component_header_path}" fi cat >> $mpif_ext_h <&5 printf "%s\n" "no" >&6; } cat >> $mpif_ext_h <&5 printf %s "checking if MPI Extension $component has \"use mpi\" bindings... " >&6; } if test -e "$test_header" || test -e "$test_header".in ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } EXT_USEMPI_HEADERS="$EXT_USEMPI_HEADERS mpiext/$component/use-mpi/mpiext_${component}_usempi.h" OMPI_MPIEXT_USEMPI="$OMPI_MPIEXT_USEMPI $component" component_header="mpiext_${component}_usempi.h" usempi_component_header_path="ompi/mpiext/$component/use-mpi/$component_header" if test -e "${srcdir}/${usempi_component_header_path}" ; then usempi_component_header_path="${srcdir}/${usempi_component_header_path}" fi cat >> $mpiusempi_ext_h <> $mpiusempi_ext_h <> $mpiusempi_ext_h <&5 printf "%s\n" "no" >&6; } cat >> $mpiusempi_ext_h <&5 printf %s "checking if MPI Extension $component has \"use mpi_f08\" bindings... " >&6; } if test -e "$test_header" || test -e "$test_header".in ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } EXT_USEMPIF08_HEADERS="$EXT_USEMPIF08_HEADERS mpiext/$component/use-mpi-f08/mpiext_${component}_usempif08.h" OMPI_MPIEXT_USEMPIF08="$OMPI_MPIEXT_USEMPIF08 $component" component_header="mpiext_${component}_usempif08.h" usempif08_component_header_path="ompi/mpiext/$component/use-mpi-f08/$component_header" if test -e "${srcdir}/${usempif08_component_header_path}" ; then usempif08_component_header_path="${srcdir}/${usempif08_component_header_path}" fi cat >> $mpiusempif08_ext_h <> $mpiusempif08_ext_h <> $mpiusempif08_ext_h <&5 printf "%s\n" "no" >&6; } cat >> $mpiusempif08_ext_h <&5 printf %s "checking if MPI Extension rocm can compile... " >&6; } # Need to add this component to the "all" list so that it is # included in DIST SUBDIRS OMPI_MPIEXT_ALL="$OMPI_MPIEXT_ALL rocm" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac fi opal_show_subsubsubtitle "MPI Extension shortfloat" component=shortfloat component_path="$srcdir/ompi/mpiext/$component" want_component=0 # build if: # - the component type is direct and we are that component # - there is no ompi_ignore file # - there is an ompi_ignore, but there is an empty ompi_unignore # - there is an ompi_ignore, but username is in ompi_unignore if test -d $component_path ; then # decide if we want the component to be built or not. This # is spread out because some of the logic is a little complex # and test's syntax isn't exactly the greatest. We want to # build the component by default. want_component=1 if test -f $component_path/.ompi_ignore ; then # If there is an ompi_ignore file, don't build # the component. Note that this decision can be # overridden by the unignore logic below. want_component=0 fi if test -f $component_path/.ompi_unignore ; then # if there is an empty ompi_unignore, that is # equivalent to having your userid in the unignore file. # If userid is in the file, unignore the ignore file. if test ! -s $component_path/.ompi_unignore ; then want_component=1 elif test ! -z "`$GREP $OPAL_CONFIGURE_USER $component_path/.ompi_unignore`" ; then want_component=1 fi fi fi # if we asked for everything, then allow it to build if able str="ENABLED_COMPONENT_CHECK=\$ENABLE_EXT_ALL" eval $str if test ! "$ENABLED_COMPONENT_CHECK" = "1" ; then # if we were explicitly disabled, don't build :) str="ENABLED_COMPONENT_CHECK=\$ENABLE_${component}" eval $str if test ! "$ENABLED_COMPONENT_CHECK" = "1" ; then want_component=0 fi fi if test $want_component -eq 1 then : should_build=1 else case e in @%:@( e) should_build=0 ;; esac fi # try to configure the component ac_config_files="$ac_config_files ompi/mpiext/shortfloat/Makefile ompi/mpiext/shortfloat/c/Makefile ompi/mpiext/shortfloat/mpif-h/Makefile ompi/mpiext/shortfloat/use-mpi/Makefile ompi/mpiext/shortfloat/use-mpi-f08/Makefile ompi/mpiext/shortfloat/c/mpiext_shortfloat_c.h ompi/mpiext/shortfloat/mpif-h/mpiext_shortfloat_mpifh.h ompi/mpiext/shortfloat/use-mpi-f08/mpiext_shortfloat_usempif08.h" if { test "$ENABLE_shortfloat" = "1" || \ test "$ENABLE_EXT_ALL" = "1"; } && \ { test "$ac_cv_type_short_float" = "yes" || \ test "$ac_cv_type_opal_short_float_t" = "yes"; } then : should_build=${should_build} else case e in @%:@( e) should_build=0 ;; esac fi if test "$opal_short_float_type" = "_Float16" then : OMPI_MPIX_SHORT_FLOAT_IS_C_FLOAT16=1 else case e in @%:@( e) OMPI_MPIX_SHORT_FLOAT_IS_C_FLOAT16=0 OMPI_MPIX_C_FLOAT16_FORTRAN_COMMENT_OUT=! ;; esac fi if test $should_build -eq 1 then : component=shortfloat # Output pretty results { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MPI Extension $component can compile" >&5 printf %s "checking if MPI Extension $component can compile... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } tmp=SHORTFLOAT component_define="OMPI_HAVE_MPI_EXT_${tmp}" ############### # C Bindings ############### test_header="${srcdir}/ompi/mpiext/${component}/c/mpiext_${component}_c.h" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if MPI Extension $component has C bindings" >&5 printf %s "checking if MPI Extension $component has C bindings... " >&6; } if test ! -e "$test_header" && test ! -e "$test_header.in" then : # There *must* be C bindings { 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 bindings for MPI extensions are required" >&5 printf "%s\n" "$as_me: WARNING: C bindings for MPI extensions are required" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes (required)" >&5 printf "%s\n" "yes (required)" >&6; } # Save the list of headers and convenience libraries that this # component will output OMPI_MPIEXT_ALL="$OMPI_MPIEXT_ALL $component" OMPI_MPIEXT_C="$OMPI_MPIEXT_C $component" # JMS Where is this needed? EXT_C_HEADERS="$EXT_C_HEADERS mpiext/c/mpiext_${component}_c.h" component_header="mpiext_${component}_c.h" cat >> $mpi_ext_h <&5 printf %s "checking if MPI Extension $component has mpif.h bindings... " >&6; } if test -e "$test_header" || test -e "$test_header".in ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } enabled_mpifh=1 EXT_MPIFH_HEADERS="$EXT_MPIFH_HEADERS mpiext/mpiext_${component}_mpifh.h" OMPI_MPIEXT_MPIFH="$OMPI_MPIEXT_MPIFH $component" # Per https://github.com/open-mpi/ompi/pull/6030, we will end # up putting a user-visible Fortran "include" statement in the # installed mpif-ext.h file, and we therefore have to ensure # that the total length of the line is <=72 characters. Doing # a little math here: # # leading indent spaces: 6 chars # "include '": 9 chars # "openmpi/mpiext/mpiext_NAME_mpifh.h": without NAME, 30 chars # trailing "'": 1 char # # 6+9+30+1 = 46 chars overhead. # 72-46 = 26 characters left for NAME. # # It would be exceedingly unusual to have an MPI extension # name > 26 characters. But just in case, put a check here # to make sure: error out if the MPI extension name is > 26 # characters (because otherwise it'll just be a really weird / # hard to diagnose compile error when a user tries to compile # a Fortran MPI application that includes `mpif-ext.h`). len=`echo $component | wc -c` result=`expr $len \> 26` if test $result -eq 1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: MPI shortfloat name too long: $component" >&5 printf "%s\n" "$as_me: WARNING: MPI shortfloat name too long: $component" >&2;} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: For esoteric reasons, MPI Extensions with mpif.h bindings must have a name that is <= 26 characters" >&5 printf "%s\n" "$as_me: WARNING: For esoteric reasons, MPI Extensions with mpif.h bindings must have a name that is <= 26 characters" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi component_header="mpiext_${component}_mpifh.h" mpifh_component_header_path="ompi/mpiext/$component/mpif-h/${component_header}" if test -e "${srcdir}/${mpifh_component_header_path}" ; then mpifh_component_header_path="${srcdir}/${mpifh_component_header_path}" fi cat >> $mpif_ext_h <&5 printf "%s\n" "no" >&6; } cat >> $mpif_ext_h <&5 printf %s "checking if MPI Extension $component has \"use mpi\" bindings... " >&6; } if test -e "$test_header" || test -e "$test_header".in ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } EXT_USEMPI_HEADERS="$EXT_USEMPI_HEADERS mpiext/$component/use-mpi/mpiext_${component}_usempi.h" OMPI_MPIEXT_USEMPI="$OMPI_MPIEXT_USEMPI $component" component_header="mpiext_${component}_usempi.h" usempi_component_header_path="ompi/mpiext/$component/use-mpi/$component_header" if test -e "${srcdir}/${usempi_component_header_path}" ; then usempi_component_header_path="${srcdir}/${usempi_component_header_path}" fi cat >> $mpiusempi_ext_h <> $mpiusempi_ext_h <> $mpiusempi_ext_h <&5 printf "%s\n" "no" >&6; } cat >> $mpiusempi_ext_h <&5 printf %s "checking if MPI Extension $component has \"use mpi_f08\" bindings... " >&6; } if test -e "$test_header" || test -e "$test_header".in ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } EXT_USEMPIF08_HEADERS="$EXT_USEMPIF08_HEADERS mpiext/$component/use-mpi-f08/mpiext_${component}_usempif08.h" OMPI_MPIEXT_USEMPIF08="$OMPI_MPIEXT_USEMPIF08 $component" component_header="mpiext_${component}_usempif08.h" usempif08_component_header_path="ompi/mpiext/$component/use-mpi-f08/$component_header" if test -e "${srcdir}/${usempif08_component_header_path}" ; then usempif08_component_header_path="${srcdir}/${usempif08_component_header_path}" fi cat >> $mpiusempif08_ext_h <> $mpiusempif08_ext_h <> $mpiusempif08_ext_h <&5 printf "%s\n" "no" >&6; } cat >> $mpiusempif08_ext_h <&5 printf %s "checking if MPI Extension shortfloat can compile... " >&6; } # Need to add this component to the "all" list so that it is # included in DIST SUBDIRS OMPI_MPIEXT_ALL="$OMPI_MPIEXT_ALL shortfloat" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac fi ############### # C Bindings ############### # Create the final mpi-ext.h file. cat >> $mpi_ext_h <> $mpif_ext_h <> $mpiusempi_ext_h <> $mpiusempif08_ext_h < $outfile < /dev/null 2>&1 if test "$?" != "0"; then mv $outfile $outfile_real else rm -f $outfile fi fi rm -f $outfile.struct $outfile.extern # We have all the results we need. Now put them in various # variables/defines so that others can see the results. OMPI_MPIEXT_ALL_SUBDIRS= for item in $OMPI_MPIEXT_ALL ; do OMPI_MPIEXT_ALL_SUBDIRS="$OMPI_MPIEXT_ALL_SUBDIRS mpiext/$item" done # Make the directory list tmp= for item in $OMPI_MPIEXT_C ; do tmp="$tmp mpiext/$item/c" done OMPI_MPIEXT_C_DIRS=$tmp # Make the list of libraries tmp= for item in $OMPI_MPIEXT_C ; do for item2 in $OMPI_MPIEXT_ARCHIVE ; do if test $item = $item2; then tmp="$tmp "'$(top_builddir)'"/ompi/mpiext/$item/c/libmpiext_${item}_c.la" break fi done done OMPI_MPIEXT_C_LIBS=$tmp # Make the directory list tmp= for item in $OMPI_MPIEXT_MPIFH ; do tmp="$tmp mpiext/$item/mpif-h" done OMPI_MPIEXT_MPIFH_DIRS=$tmp # Make the list of libraries tmp= for item in $OMPI_MPIEXT_MPIFH ; do for item2 in $OMPI_MPIEXT_ARCHIVE ; do if test $item = $item2; then tmp="$tmp "'$(top_builddir)'"/ompi/mpiext/$item/mpif-h/libmpiext_${item}_mpifh.la" break fi done done OMPI_MPIEXT_MPIFH_LIBS=$tmp # Make the directory list tmp= for item in $OMPI_MPIEXT_USEMPI ; do tmp="$tmp mpiext/$item/use-mpi" done OMPI_MPIEXT_USEMPI_DIRS=$tmp # Make the list of libraries tmp= for item in $OMPI_MPIEXT_USEMPI ; do for item2 in $OMPI_MPIEXT_ARCHIVE ; do if test $item = $item2; then tmp="$tmp "'$(top_builddir)'"/ompi/mpiext/$item/use-mpi/libmpiext_${item}_usempi.la" break fi done done OMPI_MPIEXT_USEMPI_LIBS=$tmp # Make the directory list tmp= for item in $OMPI_MPIEXT_USEMPIF08 ; do tmp="$tmp mpiext/$item/use-mpi-f08" done OMPI_MPIEXT_USEMPIF08_DIRS=$tmp # Make the list of libraries tmp= for item in $OMPI_MPIEXT_USEMPIF08 ; do for item2 in $OMPI_MPIEXT_ARCHIVE ; do if test $item = $item2; then tmp="$tmp "'$(top_builddir)'"/ompi/mpiext/$item/use-mpi-f08/libmpiext_${item}_usempif08.la" break fi done done OMPI_MPIEXT_USEMPIF08_LIBS=$tmp comps=`echo $OMPI_MPIEXT_C | sed -e 's/^ \t*//;s/ \t*$//;s/ /, /g'` printf "%s\n" "@%:@define OMPI_MPIEXT_COMPONENTS \"$comps\"" >>confdefs.h # checkpoint results cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # 'ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* 'ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( 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=\ *) # 'set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # 'set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 printf "%s\n" "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache ################################## # Visibility ################################## # Check the visibility declspec at the end to avoid problem with # the previous tests that are not necessarily prepared for # the visibility feature. opal_show_title "Symbol visibility feature" # Check if the compiler has support for visibility, like some # versions of gcc, icc Sun Studio cc. @%:@ Check whether --enable-visibility was given. if test ${enable_visibility+y} then : enableval=$enable_visibility; fi opal_visibility_define=0 opal_msg="whether to enable symbol visibility" if test "$enable_visibility" = "no"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $opal_msg" >&5 printf %s "checking $opal_msg... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no (disabled)" >&5 printf "%s\n" "no (disabled)" >&6; } else CFLAGS_orig=$CFLAGS opal_add= case "$opal_c_vendor" in sun) # Check using Sun Studio -xldscope=hidden flag opal_add=-xldscope=hidden CFLAGS="$OPAL_CFLAGS_BEFORE_PICKY $opal_add -errwarn=%all" ;; *) # Check using -fvisibility=hidden opal_add=-fvisibility=hidden CFLAGS="$OPAL_CFLAGS_BEFORE_PICKY $opal_add -Werror" ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports $opal_add" >&5 printf %s "checking if $CC supports $opal_add... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include __attribute__((visibility("default"))) int foo; int main (void) { fprintf(stderr, "Hello, world\n"); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : if test -s conftest.err then : $GREP -iq visibility conftest.err # If we find "visibility" in the stderr, then # assume it doesn't work if test "$?" = "0" then : opal_add= fi fi else case e in @%:@( e) opal_add= ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext if test "$opal_add" = "" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } ;; esac fi CFLAGS=$CFLAGS_orig OPAL_VISIBILITY_CFLAGS=$opal_add if test "$opal_add" != "" ; then opal_visibility_define=1 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $opal_msg" >&5 printf %s "checking $opal_msg... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes (via $opal_add)" >&5 printf "%s\n" "yes (via $opal_add)" >&6; } elif test "$enable_visibility" = "yes"; then as_fn_error $? "Symbol visibility support requested but compiler does not seem to support it. Aborting" "$LINENO" 5 else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $opal_msg" >&5 printf %s "checking $opal_msg... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no (unsupported)" >&5 printf "%s\n" "no (unsupported)" >&6; } fi unset opal_add fi printf "%s\n" "@%:@define OPAL_C_HAVE_VISIBILITY $opal_visibility_define" >>confdefs.h ############################################################################ # Final top-level OMPI configuration ############################################################################ opal_show_title "Final top-level OMPI configuration" ############################################################################ # Libtool: part two # (after C compiler setup = no compiler/linker tests after this) ############################################################################ opal_show_subtitle "Libtool configuration" # Due to this thread: # https://www.open-mpi.org/community/lists/users/2013/02/21356.php and # a helpful tip from Dave Goodell, set the precious variables for # compilers to "no" that we don't want. Libtool's m4 configry will # interpret this as "I won't be using this language; don't bother # setting it up." Note that we do this only for Fortran; we *don't* # do this for C++, because *do* still want to setup the mpicxx wrapper # if we have a C++ compiler. if test "$OMPI_TRY_FORTRAN_BINDINGS" = "$OMPI_FORTRAN_NO_BINDINGS" then : F77=no FC=no fi case `pwd` in *\ * | *\ *) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 printf "%s\n" "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; esac macro_version='2.4.7' macro_revision='2.4.7' ltmain=$ac_aux_dir/ltmain.sh # Backslashify metacharacters that are still active within # double-quoted strings. sed_quote_subst='s/\(["`$\\]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\(["`\\]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to delay expansion of an escaped single quote. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 printf %s "checking how to print strings... " >&6; } # Test print first, because it will be a builtin if present. if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='print -r --' elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='printf %s\n' else # Use this function as a fallback that always works. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } ECHO='func_fallback_echo' fi # func_echo_all arg... # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "" } case $ECHO in printf*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: printf" >&5 printf "%s\n" "printf" >&6; } ;; print*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 printf "%s\n" "print -r" >&6; } ;; *) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cat" >&5 printf "%s\n" "cat" >&6; } ;; esac { 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 case e in @%:@( e) 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 ;; esac 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 test -z "$SED" && SED=sed Xsed="$SED -e 1s/^X//" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 printf %s "checking for fgrep... " >&6; } if test ${ac_cv_path_FGREP+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 then ac_cv_path_FGREP="$GREP -F" else if test -z "$FGREP"; then ac_path_FGREP_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 fgrep do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_FGREP="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_FGREP" || continue # Check for GNU ac_path_FGREP and select it if it is found. # Check for GNU $ac_path_FGREP case `"$ac_path_FGREP" --version 2>&1` in @%:@( *GNU*) ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_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" 'FGREP' >> "conftest.nl" "$ac_path_FGREP" FGREP < "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_FGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_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_FGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_FGREP"; then as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_FGREP=$FGREP fi fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 printf "%s\n" "$ac_cv_path_FGREP" >&6; } FGREP="$ac_cv_path_FGREP" test -z "$GREP" && GREP=grep @%:@ Check whether --with-gnu-ld was given. if test ${with_gnu_ld+y} then : withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes else case e in @%:@( e) with_gnu_ld=no ;; esac fi ac_prog=ld if test yes = "$GCC"; then # Check if gcc -print-prog-name=ld gives a path. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 printf %s "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return, which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD=$ac_prog ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test yes = "$with_gnu_ld"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 printf %s "checking for GNU ld... " >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 printf %s "checking for non-GNU ld... " >&6; } fi if test ${lt_cv_path_LD+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "$LD"; then lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD=$ac_dir/$ac_prog # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 printf "%s\n" "$LD" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 printf %s "checking if the linker ($LD) is GNU ld... " >&6; } if test ${lt_cv_prog_gnu_ld+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 printf "%s\n" "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld # find the maximum length of command line arguments { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 printf %s "checking the maximum length of command line arguments... " >&6; } if test ${lt_cv_sys_max_cmd_len+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) i=0 teststring=ABCD case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; mint*) # On MiNT this can take a long time and run out of memory. lt_cv_sys_max_cmd_len=8192; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; os2*) # The test takes a long time on OS/2. lt_cv_sys_max_cmd_len=8192 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[ ]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len" && \ test undefined != "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. for i in 1 2 3 4 5 6 7 8; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while { test X`env echo "$teststring$teststring" 2>/dev/null` \ = "X$teststring$teststring"; } >/dev/null 2>&1 && test 17 != "$i" # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done # Only check the string length outside the loop. lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` teststring= # Add a significant safety factor because C++ compilers can tack on # massive amounts of additional arguments before passing them to the # linker. It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac ;; esac fi if test -n "$lt_cv_sys_max_cmd_len"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 printf "%s\n" "$lt_cv_sys_max_cmd_len" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none" >&5 printf "%s\n" "none" >&6; } fi max_cmd_len=$lt_cv_sys_max_cmd_len : ${CP="cp -f"} : ${MV="mv -f"} : ${RM="rm -f"} if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else lt_unset=false fi # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr lt_SP2NL='tr \040 \012' lt_NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system lt_SP2NL='tr \100 \n' lt_NL2SP='tr \r\n \100\100' ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 printf %s "checking how to convert $build file names to $host format... " >&6; } if test ${lt_cv_to_host_file_cmd+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 ;; esac ;; *-*-cygwin* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_noop ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin ;; esac ;; * ) # unhandled hosts (and "normal" native builds) lt_cv_to_host_file_cmd=func_convert_file_noop ;; esac ;; esac fi to_host_file_cmd=$lt_cv_to_host_file_cmd { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 printf "%s\n" "$lt_cv_to_host_file_cmd" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 printf %s "checking how to convert $build file names to toolchain format... " >&6; } if test ${lt_cv_to_tool_file_cmd+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) #assume ordinary cross tools, or native build. lt_cv_to_tool_file_cmd=func_convert_file_noop case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 ;; esac ;; esac ;; esac fi to_tool_file_cmd=$lt_cv_to_tool_file_cmd { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 printf "%s\n" "$lt_cv_to_tool_file_cmd" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 printf %s "checking for $LD option to reload object files... " >&6; } if test ${lt_cv_ld_reload_flag+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) lt_cv_ld_reload_flag='-r' ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 printf "%s\n" "$lt_cv_ld_reload_flag" >&6; } reload_flag=$lt_cv_ld_reload_flag case $reload_flag in "" | " "*) ;; *) reload_flag=" $reload_flag" ;; esac reload_cmds='$LD$reload_flag -o $output$reload_objs' case $host_os in cygwin* | mingw* | pw32* | cegcc*) if test yes != "$GCC"; then reload_cmds=false fi ;; darwin*) if test yes = "$GCC"; then reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs' else reload_cmds='$LD$reload_flag -o $output$reload_objs' fi ;; esac if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}file", so it can be a program name with args. set dummy ${ac_tool_prefix}file; 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_FILECMD+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -n "$FILECMD"; then ac_cv_prog_FILECMD="$FILECMD" # 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_FILECMD="${ac_tool_prefix}file" 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 ;; esac fi FILECMD=$ac_cv_prog_FILECMD if test -n "$FILECMD"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FILECMD" >&5 printf "%s\n" "$FILECMD" >&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_FILECMD"; then ac_ct_FILECMD=$FILECMD # Extract the first word of "file", so it can be a program name with args. set dummy file; 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_FILECMD+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -n "$ac_ct_FILECMD"; then ac_cv_prog_ac_ct_FILECMD="$ac_ct_FILECMD" # 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_FILECMD="file" 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 ;; esac fi ac_ct_FILECMD=$ac_cv_prog_ac_ct_FILECMD if test -n "$ac_ct_FILECMD"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FILECMD" >&5 printf "%s\n" "$ac_ct_FILECMD" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_ct_FILECMD" = x; then FILECMD=":" 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 FILECMD=$ac_ct_FILECMD fi else FILECMD="$ac_cv_prog_FILECMD" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. set dummy ${ac_tool_prefix}objdump; 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_OBJDUMP+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -n "$OBJDUMP"; then ac_cv_prog_OBJDUMP="$OBJDUMP" # 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_OBJDUMP="${ac_tool_prefix}objdump" 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 ;; esac fi OBJDUMP=$ac_cv_prog_OBJDUMP if test -n "$OBJDUMP"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 printf "%s\n" "$OBJDUMP" >&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_OBJDUMP"; then ac_ct_OBJDUMP=$OBJDUMP # Extract the first word of "objdump", so it can be a program name with args. set dummy objdump; 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_OBJDUMP+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -n "$ac_ct_OBJDUMP"; then ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # 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_OBJDUMP="objdump" 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 ;; esac fi ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP if test -n "$ac_ct_OBJDUMP"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 printf "%s\n" "$ac_ct_OBJDUMP" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_ct_OBJDUMP" = x; then OBJDUMP="false" 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 OBJDUMP=$ac_ct_OBJDUMP fi else OBJDUMP="$ac_cv_prog_OBJDUMP" fi test -z "$OBJDUMP" && OBJDUMP=objdump { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 printf %s "checking how to recognize dependent libraries... " >&6; } if test ${lt_cv_deplibs_check_method+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= lt_cv_deplibs_check_method='unknown' # Need to set the preceding variable on all platforms that support # interlibrary dependencies. # 'none' -- dependencies not supported. # 'unknown' -- same as none, but documents that we really don't know. # 'pass_all' -- all dependencies passed with no checks. # 'test_compile' -- check by making test program. # 'file_magic [[regex]]' -- check by looking for files in library path # that responds to the $file_magic_cmd with a given extended regex. # If you have 'file' or equivalent on your system and you're not sure # whether 'pass_all' will *always* work, you probably want this one. case $host_os in aix[4-9]*) lt_cv_deplibs_check_method=pass_all ;; beos*) lt_cv_deplibs_check_method=pass_all ;; bsdi[45]*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' lt_cv_file_magic_cmd='$FILECMD -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; cygwin*) # func_win32_libid is a shell function defined in ltmain.sh lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' ;; mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. if ( file / ) >/dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else # Keep this pattern in sync with the one in func_win32_libid. lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; cegcc*) # use the weaker test based on 'objdump'. See mingw*. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly* | midnightbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=$FILECMD lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; haiku*) lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=$FILECMD case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac ;; interix[3-9]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) lt_cv_deplibs_check_method=pass_all ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=$FILECMD lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; *nto* | *qnx*) lt_cv_deplibs_check_method=pass_all ;; openbsd* | bitrig*) if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; tpf*) lt_cv_deplibs_check_method=pass_all ;; os2*) lt_cv_deplibs_check_method=pass_all ;; esac ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 printf "%s\n" "$lt_cv_deplibs_check_method" >&6; } file_magic_glob= want_nocaseglob=no if test "$build" = "$host"; then case $host_os in mingw* | pw32*) if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then want_nocaseglob=yes else file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` fi ;; esac fi file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. set dummy ${ac_tool_prefix}dlltool; 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_DLLTOOL+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -n "$DLLTOOL"; then ac_cv_prog_DLLTOOL="$DLLTOOL" # 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_DLLTOOL="${ac_tool_prefix}dlltool" 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 ;; esac fi DLLTOOL=$ac_cv_prog_DLLTOOL if test -n "$DLLTOOL"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 printf "%s\n" "$DLLTOOL" >&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_DLLTOOL"; then ac_ct_DLLTOOL=$DLLTOOL # Extract the first word of "dlltool", so it can be a program name with args. set dummy dlltool; 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_DLLTOOL+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -n "$ac_ct_DLLTOOL"; then ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # 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_DLLTOOL="dlltool" 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 ;; esac fi ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL if test -n "$ac_ct_DLLTOOL"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 printf "%s\n" "$ac_ct_DLLTOOL" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_ct_DLLTOOL" = x; then DLLTOOL="false" 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 DLLTOOL=$ac_ct_DLLTOOL fi else DLLTOOL="$ac_cv_prog_DLLTOOL" fi test -z "$DLLTOOL" && DLLTOOL=dlltool { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 printf %s "checking how to associate runtime and link libraries... " >&6; } if test ${lt_cv_sharedlib_from_linklib_cmd+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) lt_cv_sharedlib_from_linklib_cmd='unknown' case $host_os in cygwin* | mingw* | pw32* | cegcc*) # two different shell functions defined in ltmain.sh; # decide which one to use based on capabilities of $DLLTOOL case `$DLLTOOL --help 2>&1` in *--identify-strict*) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib ;; *) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback ;; esac ;; *) # fallback: assume linklib IS sharedlib lt_cv_sharedlib_from_linklib_cmd=$ECHO ;; esac ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 printf "%s\n" "$lt_cv_sharedlib_from_linklib_cmd" >&6; } sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO if test -n "$ac_tool_prefix"; then for ac_prog in ar 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_AR+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -n "$AR"; then ac_cv_prog_AR="$AR" # 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_AR="$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 ;; esac fi AR=$ac_cv_prog_AR if test -n "$AR"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 printf "%s\n" "$AR" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi test -n "$AR" && break done fi if test -z "$AR"; then ac_ct_AR=$AR for ac_prog in ar 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_AR+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # 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_AR="$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 ;; esac fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 printf "%s\n" "$ac_ct_AR" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi test -n "$ac_ct_AR" && break done if test "x$ac_ct_AR" = x; then AR="false" 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 AR=$ac_ct_AR fi fi : ${AR=ar} # Use ARFLAGS variable as AR's operation code to sync the variable naming with # Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have # higher priority because thats what people were doing historically (setting # ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS # variable obsoleted/removed. test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} lt_ar_flags=$AR_FLAGS # Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override # by AR_FLAGS because that was never working and AR_FLAGS is about to die. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 printf %s "checking for archiver @FILE support... " >&6; } if test ${lt_cv_ar_at_file+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) lt_cv_ar_at_file=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : echo conftest.$ac_objext > conftest.lst lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 (eval $lt_ar_try) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test 0 -eq "$ac_status"; then # Ensure the archiver fails upon bogus file names. rm -f conftest.$ac_objext libconftest.a { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 (eval $lt_ar_try) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test 0 -ne "$ac_status"; then lt_cv_ar_at_file=@ fi fi rm -f conftest.* libconftest.a fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 printf "%s\n" "$lt_cv_ar_at_file" >&6; } if test no = "$lt_cv_ar_at_file"; then archiver_list_spec= else archiver_list_spec=$lt_cv_ar_at_file fi 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 case e in @%:@( e) 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 ;; esac 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 case e in @%:@( e) 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 ;; esac 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 test -z "$STRIP" && STRIP=: if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; 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_RANLIB+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # 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_RANLIB="${ac_tool_prefix}ranlib" 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 ;; esac fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 printf "%s\n" "$RANLIB" >&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_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; 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_RANLIB+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # 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_RANLIB="ranlib" 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 ;; esac fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 printf "%s\n" "$ac_ct_RANLIB" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" 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 RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi test -z "$RANLIB" && RANLIB=: # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in bitrig* | openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" fi case $host_os in darwin*) lock_old_archive_extraction=yes ;; *) lock_old_archive_extraction=no ;; esac # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Check for command to grab the raw symbol name followed by C symbol from nm. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 printf %s "checking command to parse $NM output from $compiler object... " >&6; } if test ${lt_cv_sys_global_symbol_pipe+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[BCDEGRST]' # Regexp to match symbols that can be accessed directly from C. sympat='\([_A-Za-z][_A-Za-z0-9]*\)' # Define system-specific variables. case $host_os in aix*) symcode='[BCDT]' ;; cygwin* | mingw* | pw32* | cegcc*) symcode='[ABCDGISTW]' ;; hpux*) if test ia64 = "$host_cpu"; then symcode='[ABCDEGRST]' fi ;; irix* | nonstopux*) symcode='[BCDEGRST]' ;; osf*) symcode='[BCDEGQRST]' ;; solaris*) symcode='[BDRT]' ;; sco3.2v5*) symcode='[DT]' ;; sysv4.2uw2*) symcode='[DT]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[ABDT]' ;; sysv4) symcode='[DFNSTU]' ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[ABCDGIRSTW]' ;; esac if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Gets list of data symbols to import. lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'" # Adjust the below global symbol transforms to fixup imported variables. lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" lt_c_name_lib_hook="\ -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" else # Disable hooks by default. lt_cv_sys_global_symbol_to_import= lt_cdecl_hook= lt_c_name_hook= lt_c_name_lib_hook= fi # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. lt_cv_sys_global_symbol_to_cdecl="$SED -n"\ $lt_cdecl_hook\ " -e 's/^T .* \(.*\)$/extern int \1();/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\ $lt_c_name_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" # Transform an extracted symbol line into symbol name with lib prefix and # symbol address. lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\ $lt_c_name_lib_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # Try without a prefix underscore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function, # D for any global variable and I for any imported variable. # Also find C++ and __fastcall symbols from MSVC++ or ICC, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK '"\ " {last_section=section; section=\$ 3};"\ " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ " /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ " /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ " {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ " {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ " s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ " s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx" else lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'" # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<_LT_EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(void); void nm_test_func(void){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # Now try to grab the symbols. nlist=conftest.nm $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&5 if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&5 && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if $GREP ' nm_test_var$' "$nlist" >/dev/null; then if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ #if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE /* DATA imports from DLLs on WIN32 can't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT@&t@_DLSYM_CONST #elif defined __osf__ /* This system does not cope well with relocations in const data. */ # define LT@&t@_DLSYM_CONST #else # define LT@&t@_DLSYM_CONST const #endif #ifdef __cplusplus extern "C" { #endif _LT_EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ LT@&t@_DLSYM_CONST struct { const char *name; void *address; } lt__PROGRAM__LTX_preloaded_symbols[] = { { "@PROGRAM@", (void *) 0 }, _LT_EOF $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt__PROGRAM__LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_globsym_save_LIBS=$LIBS lt_globsym_save_CFLAGS=$CFLAGS LIBS=conftstm.$ac_objext CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then pipe_works=yes fi LIBS=$lt_globsym_save_LIBS CFLAGS=$lt_globsym_save_CFLAGS else echo "cannot find nm_test_func in $nlist" >&5 fi else echo "cannot find nm_test_var in $nlist" >&5 fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 fi else echo "$progname: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test yes = "$pipe_works"; then break else lt_cv_sys_global_symbol_pipe= fi done ;; esac fi if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: failed" >&5 printf "%s\n" "failed" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ok" >&5 printf "%s\n" "ok" >&6; } fi # Response file support. if test "$lt_cv_nm_interface" = "MS dumpbin"; then nm_file_list_spec='@' elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then nm_file_list_spec='@' fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 printf %s "checking for sysroot... " >&6; } @%:@ Check whether --with-sysroot was given. if test ${with_sysroot+y} then : withval=$with_sysroot; else case e in @%:@( e) with_sysroot=no ;; esac fi lt_sysroot= case $with_sysroot in #( yes) if test yes = "$GCC"; then lt_sysroot=`$CC --print-sysroot 2>/dev/null` fi ;; #( /*) lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` ;; #( no|'') ;; #( *) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 printf "%s\n" "$with_sysroot" >&6; } as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 printf "%s\n" "${lt_sysroot:-no}" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 printf %s "checking for a working dd... " >&6; } if test ${ac_cv_path_lt_DD+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) printf 0123456789abcdef0123456789abcdef >conftest.i cat conftest.i conftest.i >conftest2.i : ${lt_DD:=$DD} if test -z "$lt_DD"; then ac_path_lt_DD_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 dd do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_lt_DD="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_lt_DD" || continue if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then cmp -s conftest.i conftest.out \ && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: fi $ac_path_lt_DD_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_lt_DD"; then : fi else ac_cv_path_lt_DD=$lt_DD fi rm -f conftest.i conftest2.i conftest.out ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 printf "%s\n" "$ac_cv_path_lt_DD" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 printf %s "checking how to truncate binary pipes... " >&6; } if test ${lt_cv_truncate_bin+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) printf 0123456789abcdef0123456789abcdef >conftest.i cat conftest.i conftest.i >conftest2.i lt_cv_truncate_bin= if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then cmp -s conftest.i conftest.out \ && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" fi rm -f conftest.i conftest2.i conftest.out test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 printf "%s\n" "$lt_cv_truncate_bin" >&6; } # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. func_cc_basename () { for cc_temp in @S|@*""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` } @%:@ Check whether --enable-libtool-lock was given. if test ${enable_libtool_lock+y} then : enableval=$enable_libtool_lock; fi test no = "$enable_libtool_lock" || enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out what ABI is being produced by ac_compile, and set mode # options accordingly. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `$FILECMD conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE=32 ;; *ELF-64*) HPUX_IA64_MODE=64 ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. echo '#line '$LINENO' "configure"' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then if test yes = "$lt_cv_prog_gnu_ld"; then case `$FILECMD conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; *N32*) LD="${LD-ld} -melf32bmipn32" ;; *64-bit*) LD="${LD-ld} -melf64bmip" ;; esac else case `$FILECMD conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi fi rm -rf conftest* ;; mips64*-*linux*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. echo '#line '$LINENO' "configure"' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then emul=elf case `$FILECMD conftest.$ac_objext` in *32-bit*) emul="${emul}32" ;; *64-bit*) emul="${emul}64" ;; esac case `$FILECMD conftest.$ac_objext` in *MSB*) emul="${emul}btsmip" ;; *LSB*) emul="${emul}ltsmip" ;; esac case `$FILECMD conftest.$ac_objext` in *N32*) emul="${emul}n32" ;; esac LD="${LD-ld} -m $emul" fi rm -rf conftest* ;; x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. Note that the listed cases only cover the # situations where additional linker options are needed (such as when # doing 32-bit compilation for a host where ld defaults to 64-bit, or # vice versa); the common cases where no linker options are needed do # not appear in the list. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `$FILECMD conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) case `$FILECMD conftest.o` in *x86-64*) LD="${LD-ld} -m elf32_x86_64" ;; *) LD="${LD-ld} -m elf_i386" ;; esac ;; powerpc64le-*linux*) LD="${LD-ld} -m elf32lppclinux" ;; powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) LD="${LD-ld} -m elf_s390" ;; sparc64-*linux*) LD="${LD-ld} -m elf32_sparc" ;; esac ;; *64-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; powerpcle-*linux*) LD="${LD-ld} -m elf64lppc" ;; powerpc-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS=$CFLAGS CFLAGS="$CFLAGS -belf" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 printf %s "checking whether the C compiler needs -belf... " >&6; } if test ${lt_cv_cc_needs_belf+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) 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. */ int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : lt_cv_cc_needs_belf=yes else case e in @%:@( e) lt_cv_cc_needs_belf=no ;; esac 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 ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 printf "%s\n" "$lt_cv_cc_needs_belf" >&6; } if test yes != "$lt_cv_cc_needs_belf"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS=$SAVE_CFLAGS fi ;; *-*solaris*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `$FILECMD conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) case $host in i?86-*-solaris*|x86_64-*-solaris*) LD="${LD-ld} -m elf_x86_64" ;; sparc*-*-solaris*) LD="${LD-ld} -m elf64_sparc" ;; esac # GNU ld 2.21 introduced _sol2 emulations. Use them if available. if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then LD=${LD-ld}_sol2 fi ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" fi ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks=$enable_libtool_lock if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. set dummy ${ac_tool_prefix}mt; 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_MANIFEST_TOOL+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -n "$MANIFEST_TOOL"; then ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # 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_MANIFEST_TOOL="${ac_tool_prefix}mt" 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 ;; esac fi MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL if test -n "$MANIFEST_TOOL"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 printf "%s\n" "$MANIFEST_TOOL" >&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_MANIFEST_TOOL"; then ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL # Extract the first word of "mt", so it can be a program name with args. set dummy mt; 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_MANIFEST_TOOL+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -n "$ac_ct_MANIFEST_TOOL"; then ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # 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_MANIFEST_TOOL="mt" 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 ;; esac fi ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL if test -n "$ac_ct_MANIFEST_TOOL"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 printf "%s\n" "$ac_ct_MANIFEST_TOOL" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_ct_MANIFEST_TOOL" = x; then MANIFEST_TOOL=":" 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 MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL fi else MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" fi test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 printf %s "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } if test ${lt_cv_path_mainfest_tool+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) lt_cv_path_mainfest_tool=no echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out cat conftest.err >&5 if $GREP 'Manifest Tool' conftest.out > /dev/null; then lt_cv_path_mainfest_tool=yes fi rm -f conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 printf "%s\n" "$lt_cv_path_mainfest_tool" >&6; } if test yes != "$lt_cv_path_mainfest_tool"; then MANIFEST_TOOL=: fi case $host_os in rhapsody* | darwin*) if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. set dummy ${ac_tool_prefix}dsymutil; 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_DSYMUTIL+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -n "$DSYMUTIL"; then ac_cv_prog_DSYMUTIL="$DSYMUTIL" # 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_DSYMUTIL="${ac_tool_prefix}dsymutil" 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 ;; esac fi DSYMUTIL=$ac_cv_prog_DSYMUTIL if test -n "$DSYMUTIL"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 printf "%s\n" "$DSYMUTIL" >&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_DSYMUTIL"; then ac_ct_DSYMUTIL=$DSYMUTIL # Extract the first word of "dsymutil", so it can be a program name with args. set dummy dsymutil; 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_DSYMUTIL+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -n "$ac_ct_DSYMUTIL"; then ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # 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_DSYMUTIL="dsymutil" 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 ;; esac fi ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL if test -n "$ac_ct_DSYMUTIL"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 printf "%s\n" "$ac_ct_DSYMUTIL" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_ct_DSYMUTIL" = x; then DSYMUTIL=":" 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 DSYMUTIL=$ac_ct_DSYMUTIL fi else DSYMUTIL="$ac_cv_prog_DSYMUTIL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. set dummy ${ac_tool_prefix}nmedit; 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_NMEDIT+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -n "$NMEDIT"; then ac_cv_prog_NMEDIT="$NMEDIT" # 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_NMEDIT="${ac_tool_prefix}nmedit" 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 ;; esac fi NMEDIT=$ac_cv_prog_NMEDIT if test -n "$NMEDIT"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 printf "%s\n" "$NMEDIT" >&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_NMEDIT"; then ac_ct_NMEDIT=$NMEDIT # Extract the first word of "nmedit", so it can be a program name with args. set dummy nmedit; 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_NMEDIT+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -n "$ac_ct_NMEDIT"; then ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # 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_NMEDIT="nmedit" 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 ;; esac fi ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT if test -n "$ac_ct_NMEDIT"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 printf "%s\n" "$ac_ct_NMEDIT" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_ct_NMEDIT" = x; then NMEDIT=":" 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 NMEDIT=$ac_ct_NMEDIT fi else NMEDIT="$ac_cv_prog_NMEDIT" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. set dummy ${ac_tool_prefix}lipo; 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_LIPO+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -n "$LIPO"; then ac_cv_prog_LIPO="$LIPO" # 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_LIPO="${ac_tool_prefix}lipo" 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 ;; esac fi LIPO=$ac_cv_prog_LIPO if test -n "$LIPO"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 printf "%s\n" "$LIPO" >&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_LIPO"; then ac_ct_LIPO=$LIPO # Extract the first word of "lipo", so it can be a program name with args. set dummy lipo; 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_LIPO+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -n "$ac_ct_LIPO"; then ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # 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_LIPO="lipo" 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 ;; esac fi ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO if test -n "$ac_ct_LIPO"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 printf "%s\n" "$ac_ct_LIPO" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_ct_LIPO" = x; then LIPO=":" 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 LIPO=$ac_ct_LIPO fi else LIPO="$ac_cv_prog_LIPO" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. set dummy ${ac_tool_prefix}otool; 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_OTOOL+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -n "$OTOOL"; then ac_cv_prog_OTOOL="$OTOOL" # 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_OTOOL="${ac_tool_prefix}otool" 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 ;; esac fi OTOOL=$ac_cv_prog_OTOOL if test -n "$OTOOL"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 printf "%s\n" "$OTOOL" >&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_OTOOL"; then ac_ct_OTOOL=$OTOOL # Extract the first word of "otool", so it can be a program name with args. set dummy otool; 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_OTOOL+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -n "$ac_ct_OTOOL"; then ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # 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_OTOOL="otool" 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 ;; esac fi ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL if test -n "$ac_ct_OTOOL"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 printf "%s\n" "$ac_ct_OTOOL" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_ct_OTOOL" = x; then OTOOL=":" 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 OTOOL=$ac_ct_OTOOL fi else OTOOL="$ac_cv_prog_OTOOL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. set dummy ${ac_tool_prefix}otool64; 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_OTOOL64+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -n "$OTOOL64"; then ac_cv_prog_OTOOL64="$OTOOL64" # 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_OTOOL64="${ac_tool_prefix}otool64" 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 ;; esac fi OTOOL64=$ac_cv_prog_OTOOL64 if test -n "$OTOOL64"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 printf "%s\n" "$OTOOL64" >&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_OTOOL64"; then ac_ct_OTOOL64=$OTOOL64 # Extract the first word of "otool64", so it can be a program name with args. set dummy otool64; 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_OTOOL64+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -n "$ac_ct_OTOOL64"; then ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # 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_OTOOL64="otool64" 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 ;; esac fi ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 if test -n "$ac_ct_OTOOL64"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 printf "%s\n" "$ac_ct_OTOOL64" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_ct_OTOOL64" = x; then OTOOL64=":" 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 OTOOL64=$ac_ct_OTOOL64 fi else OTOOL64="$ac_cv_prog_OTOOL64" fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 printf %s "checking for -single_module linker flag... " >&6; } if test ${lt_cv_apple_cc_single_mod+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) lt_cv_apple_cc_single_mod=no if test -z "$LT_MULTI_MODULE"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the # link flags. rm -rf libconftest.dylib* echo "int foo(void){return 1;}" > conftest.c echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c" >&5 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? # If there is a non-empty error log, and "single_module" # appears in it, assume the flag caused a linker warning if test -s conftest.err && $GREP single_module conftest.err; then cat conftest.err >&5 # Otherwise, if the output was created with a 0 exit code from # the compiler, it worked. elif test -f libconftest.dylib && test 0 = "$_lt_result"; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&5 fi rm -rf libconftest.dylib* rm -f conftest.* fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 printf "%s\n" "$lt_cv_apple_cc_single_mod" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 printf %s "checking for -exported_symbols_list linker flag... " >&6; } if test ${lt_cv_ld_exported_symbols_list+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : lt_cv_ld_exported_symbols_list=yes else case e in @%:@( e) lt_cv_ld_exported_symbols_list=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 printf "%s\n" "$lt_cv_ld_exported_symbols_list" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 printf %s "checking for -force_load linker flag... " >&6; } if test ${lt_cv_ld_force_load+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) lt_cv_ld_force_load=no cat > conftest.c << _LT_EOF int forced_loaded() { return 2;} _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 echo "$AR $AR_FLAGS libconftest.a conftest.o" >&5 $AR $AR_FLAGS libconftest.a conftest.o 2>&5 echo "$RANLIB libconftest.a" >&5 $RANLIB libconftest.a 2>&5 cat > conftest.c << _LT_EOF int main() { return 0;} _LT_EOF echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err _lt_result=$? if test -s conftest.err && $GREP force_load conftest.err; then cat conftest.err >&5 elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then lt_cv_ld_force_load=yes else cat conftest.err >&5 fi rm -f conftest.err libconftest.a conftest conftest.c rm -rf conftest.dSYM ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 printf "%s\n" "$lt_cv_ld_force_load" >&6; } case $host_os in rhapsody* | darwin1.[012]) _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; darwin*) case $MACOSX_DEPLOYMENT_TARGET,$host in 10.[012],*|,*powerpc*-darwin[5-8]*) _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; *) _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; esac ;; esac if test yes = "$lt_cv_apple_cc_single_mod"; then _lt_dar_single_mod='$single_module' fi if test yes = "$lt_cv_ld_exported_symbols_list"; then _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' else _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' fi if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= fi ;; esac # func_munge_path_list VARIABLE PATH # ----------------------------------- # VARIABLE is name of variable containing _space_ separated list of # directories to be munged by the contents of PATH, which is string # having a format: # "DIR[:DIR]:" # string "DIR[ DIR]" will be prepended to VARIABLE # ":DIR[:DIR]" # string "DIR[ DIR]" will be appended to VARIABLE # "DIRP[:DIRP]::[DIRA:]DIRA" # string "DIRP[ DIRP]" will be prepended to VARIABLE and string # "DIRA[ DIRA]" will be appended to VARIABLE # "DIR[:DIR]" # VARIABLE will be replaced by "DIR[ DIR]" func_munge_path_list () { case x@S|@2 in x) ;; *:) eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" ;; x:*) eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" ;; *::*) eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" ;; *) eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" ;; esac } ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default " if test "x$ac_cv_header_dlfcn_h" = xyes then : printf "%s\n" "@%:@define HAVE_DLFCN_H 1" >>confdefs.h fi func_stripname_cnf () { case @S|@2 in .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;; *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;; esac } # func_stripname_cnf # Set options enable_dlopen=no enable_win32_dll=no @%:@ Check whether --with-pic was given. if test ${with_pic+y} then : withval=$with_pic; lt_p=${PACKAGE-default} case $withval in yes|no) pic_mode=$withval ;; *) pic_mode=default # Look at the argument we got. We use all the common list separators. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for lt_pkg in $withval; do IFS=$lt_save_ifs if test "X$lt_pkg" = "X$lt_p"; then pic_mode=yes fi done IFS=$lt_save_ifs ;; esac else case e in @%:@( e) pic_mode=default ;; esac fi @%:@ Check whether --enable-fast-install was given. if test ${enable_fast_install+y} then : enableval=$enable_fast_install; p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=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_fast_install=yes fi done IFS=$lt_save_ifs ;; esac else case e in @%:@( e) enable_fast_install=yes ;; esac fi shared_archive_member_spec= case $host,$enable_shared in power*-*-aix[5-9]*,yes) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 printf %s "checking which variant of shared library versioning to provide... " >&6; } @%:@ Check whether --with-aix-soname was given. if test ${with_aix_soname+y} then : withval=$with_aix_soname; case $withval in aix|svr4|both) ;; *) as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5 ;; esac lt_cv_with_aix_soname=$with_aix_soname else case e in @%:@( e) if test ${lt_cv_with_aix_soname+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) lt_cv_with_aix_soname=aix ;; esac fi with_aix_soname=$lt_cv_with_aix_soname ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 printf "%s\n" "$with_aix_soname" >&6; } if test aix != "$with_aix_soname"; then # For the AIX way of multilib, we name the shared archive member # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, # the AIX toolchain works better with OBJECT_MODE set (default 32). if test 64 = "${OBJECT_MODE-32}"; then shared_archive_member_spec=shr_64 else shared_archive_member_spec=shr fi fi ;; *) with_aix_soname=aix ;; esac # This can be used to rebuild libtool when needed LIBTOOL_DEPS=$ltmain # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' test -z "$LN_S" && LN_S="ln -s" if test -n "${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 printf %s "checking for objdir... " >&6; } if test ${lt_cv_objdir+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 printf "%s\n" "$lt_cv_objdir" >&6; } objdir=$lt_cv_objdir printf "%s\n" "@%:@define LT_OBJDIR \"$lt_cv_objdir/\"" >>confdefs.h case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test set != "${COLLECT_NAMES+set}"; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Global variables: ofile=libtool can_build_shared=yes # All known linkers require a '.a' archive for static linking (except MSVC and # ICC, which need '.lib'). libext=a with_gnu_ld=$lt_cv_prog_gnu_ld old_CC=$CC old_CFLAGS=$CFLAGS # Set sane defaults for various variables test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$LD" && LD=ld test -z "$ac_objext" && ac_objext=o func_cc_basename $compiler cc_basename=$func_cc_basename_result # Only perform the check for file, if the check method requires it test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 printf %s "checking for ${ac_tool_prefix}file... " >&6; } if test ${lt_cv_path_MAGIC_CMD+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD=$MAGIC_CMD lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/${ac_tool_prefix}file"; then lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD=$lt_cv_path_MAGIC_CMD if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS=$lt_save_ifs MAGIC_CMD=$lt_save_MAGIC_CMD ;; esac ;; esac fi MAGIC_CMD=$lt_cv_path_MAGIC_CMD if test -n "$MAGIC_CMD"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 printf "%s\n" "$MAGIC_CMD" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for file" >&5 printf %s "checking for file... " >&6; } if test ${lt_cv_path_MAGIC_CMD+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD=$MAGIC_CMD lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/file"; then lt_cv_path_MAGIC_CMD=$ac_dir/"file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD=$lt_cv_path_MAGIC_CMD if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS=$lt_save_ifs MAGIC_CMD=$lt_save_MAGIC_CMD ;; esac ;; esac fi MAGIC_CMD=$lt_cv_path_MAGIC_CMD if test -n "$MAGIC_CMD"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 printf "%s\n" "$MAGIC_CMD" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi else MAGIC_CMD=: fi fi fi ;; esac # Use C for the default configuration in the libtool script lt_save_CC=$CC 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 # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o objext=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Save the default compiler, since it gets overwritten when the other # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. compiler_DEFAULT=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then lt_prog_compiler_no_builtin_flag= if test yes = "$GCC"; then case $cc_basename in nvcc*) lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; *) lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 printf %s "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } if test ${lt_cv_prog_compiler_rtti_exceptions+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi $RM conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 printf "%s\n" "$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" else : fi fi lt_prog_compiler_wl= lt_prog_compiler_pic= lt_prog_compiler_static= if test yes = "$GCC"; then lt_prog_compiler_wl='-Wl,' lt_prog_compiler_static='-static' case $host_os in aix*) # All AIX code is PIC. if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' fi lt_prog_compiler_pic='-fPIC' ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support lt_prog_compiler_pic='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the '-m68020' flag to GCC prevents building anything better, # like '-m68040'. lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic='-DDLL_EXPORT' case $host_os in os2*) lt_prog_compiler_static='$wl-static' ;; esac ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic='-fno-common' ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. lt_prog_compiler_static= ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) # +Z the default ;; *) lt_prog_compiler_pic='-fPIC' ;; esac ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared=no enable_shared=no ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic=-Kconform_pic fi ;; *) lt_prog_compiler_pic='-fPIC' ;; esac case $cc_basename in nvcc*) # Cuda Compiler Driver 2.2 lt_prog_compiler_wl='-Xlinker ' if test -n "$lt_prog_compiler_pic"; then lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" fi ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl='-Wl,' if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' else lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' fi ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic='-fno-common' case $cc_basename in nagfor*) # NAG Fortran compiler lt_prog_compiler_wl='-Wl,-Wl,,' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; esac ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic='-DDLL_EXPORT' case $host_os in os2*) lt_prog_compiler_static='$wl-static' ;; esac ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static='$wl-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static='-non_shared' ;; linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in # old Intel for x86_64, which still supported -KPIC. ecc*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; # flang / f18. f95 an alias for gfortran or flang on Debian flang* | f18* | f95*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; # Lahey Fortran 8.1. lf95*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='--shared' lt_prog_compiler_static='--static' ;; nagfor*) # NAG Fortran compiler lt_prog_compiler_wl='-Wl,-Wl,,' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; tcc*) # Fabrice Bellard et al's Tiny C Compiler lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fpic' lt_prog_compiler_static='-Bstatic' ;; ccc*) lt_prog_compiler_wl='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static='-non_shared' ;; xl* | bgxl* | bgf* | mpixl*) # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-qpic' lt_prog_compiler_static='-qstaticlink' ;; *) case `$CC -V 2>&1 | $SED 5q` in *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='' ;; *Sun\ F* | *Sun*Fortran*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Qoption ld ' ;; *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Wl,' ;; *Intel*\ [CF]*Compiler*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; *Portland\ Group*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fpic' lt_prog_compiler_static='-Bstatic' ;; esac ;; esac ;; newsos6) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static='-non_shared' ;; rdos*) lt_prog_compiler_static='-non_shared' ;; solaris*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' case $cc_basename in f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) lt_prog_compiler_wl='-Qoption ld ';; *) lt_prog_compiler_wl='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl='-Qoption ld ' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic='-Kconform_pic' lt_prog_compiler_static='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; unicos*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_can_build_shared=no ;; uts4*) lt_prog_compiler_pic='-pic' lt_prog_compiler_static='-Bstatic' ;; *) lt_prog_compiler_can_build_shared=no ;; esac fi case $host_os in # For platforms that do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic= ;; *) lt_prog_compiler_pic="$lt_prog_compiler_pic@&t@ -DPIC" ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 printf %s "checking for $compiler option to produce PIC... " >&6; } if test ${lt_cv_prog_compiler_pic+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) lt_cv_prog_compiler_pic=$lt_prog_compiler_pic ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 printf "%s\n" "$lt_cv_prog_compiler_pic" >&6; } lt_prog_compiler_pic=$lt_cv_prog_compiler_pic # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } if test ${lt_cv_prog_compiler_pic_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) lt_cv_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic@&t@ -DPIC" ## exclude from sc_useless_quotes_in_assignment # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_pic_works=yes fi fi $RM conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 printf "%s\n" "$lt_cv_prog_compiler_pic_works" >&6; } if test yes = "$lt_cv_prog_compiler_pic_works"; then case $lt_prog_compiler_pic in "" | " "*) ;; *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; esac else lt_prog_compiler_pic= lt_prog_compiler_can_build_shared=no fi fi # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } if test ${lt_cv_prog_compiler_static_works+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) lt_cv_prog_compiler_static_works=no save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_static_works=yes fi else lt_cv_prog_compiler_static_works=yes fi fi $RM -r conftest* LDFLAGS=$save_LDFLAGS ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 printf "%s\n" "$lt_cv_prog_compiler_static_works" >&6; } if test yes = "$lt_cv_prog_compiler_static_works"; then : else lt_prog_compiler_static= fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if test ${lt_cv_prog_compiler_c_o+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if test ${lt_cv_prog_compiler_c_o+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; } hard_links=nottested if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then # do not overwrite the value of need_locks provided by the user { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 printf %s "checking if we can lock with hard links... " >&6; } hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 printf "%s\n" "$hard_links" >&6; } if test no = "$hard_links"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 printf "%s\n" "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } runpath_var= allow_undefined_flag= always_export_symbols=no archive_cmds= archive_expsym_cmds= compiler_needs_object=no enable_shared_with_static_runtimes=no export_dynamic_flag_spec= export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' hardcode_automatic=no hardcode_direct=no hardcode_direct_absolute=no hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_minus_L=no hardcode_shlibpath_var=unsupported inherit_rpath=no link_all_deplibs=unknown module_cmds= module_expsym_cmds= old_archive_from_new_cmds= old_archive_from_expsyms_cmds= thread_safe_flag_spec= whole_archive_flag_spec= # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list include_expsyms= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ' (' and ')$', so one must not match beginning or # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', # as well as any symbol that contains 'd'. exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++ or Intel C++ Compiler. if test yes != "$GCC"; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) with_gnu_ld=yes ;; openbsd* | bitrig*) with_gnu_ld=no ;; linux* | k*bsd*-gnu | gnu*) link_all_deplibs=no ;; esac ld_shlibs=yes # On some targets, GNU ld is compatible enough with the native linker # that we're better off using the native interface for both. lt_use_gnu_ld_interface=no if test yes = "$with_gnu_ld"; then case $host_os in aix*) # The AIX port of GNU ld has always aspired to compatibility # with the native linker. However, as the warning in the GNU ld # block says, versions before 2.19.5* couldn't really create working # shared libraries, regardless of the interface used. case `$LD -v 2>&1` in *\ \(GNU\ Binutils\)\ 2.19.5*) ;; *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; *\ \(GNU\ Binutils\)\ [3-9]*) ;; *) lt_use_gnu_ld_interface=yes ;; esac ;; *) lt_use_gnu_ld_interface=yes ;; esac fi if test yes = "$lt_use_gnu_ld_interface"; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='$wl' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' export_dynamic_flag_spec='$wl--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' else whole_archive_flag_spec= fi supports_anon_versioning=no case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[3-9]*) # On AIX/PPC, the GNU linker is very broken if test ia64 != "$host_cpu"; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.19, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to install binutils *** 2.20 or above, or modify your PATH so that a non-GNU linker is found. *** You will then need to restart the configuration process. _LT_EOF fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then allow_undefined_flag=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' else ld_shlibs=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' export_dynamic_flag_spec='$wl--export-all-symbols' allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file, use it as # is; otherwise, prepend EXPORTS... archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs=no fi ;; haiku*) archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' link_all_deplibs=yes ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported shrext_cmds=.dll archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ prefix_cmds="$SED"~ if test EXPORTS = "`$SED 1q $export_symbols`"; then prefix_cmds="$prefix_cmds -e 1d"; fi~ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' enable_shared_with_static_runtimes=yes file_list_spec='@' ;; interix[3-9]*) hardcode_direct=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='$wl-rpath,$libdir' export_dynamic_flag_spec='$wl-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) tmp_diet=no if test linux-dietlibc = "$host_os"; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test no = "$tmp_diet" then tmp_addflag=' $pic_flag' tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group f77 and f90 compilers whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; lf95*) # Lahey Fortran 8.1 whole_archive_flag_spec= tmp_sharedflag='--shared' ;; nagfor*) # NAGFOR 5.3 tmp_sharedflag='-Wl,-shared' ;; xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; nvcc*) # Cuda Compiler Driver 2.2 whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' compiler_needs_object=yes ;; esac case `$CC -V 2>&1 | $SED 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' compiler_needs_object=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' if test yes = "$supports_anon_versioning"; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi case $cc_basename in tcc*) hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' export_dynamic_flag_spec='-rdynamic' ;; xlf* | bgf* | bgxlf* | mpixlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test yes = "$supports_anon_versioning"; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac else ld_shlibs=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac ;; sunos4*) archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct=yes hardcode_shlibpath_var=no ;; *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac if test no = "$ld_shlibs"; then runpath_var= hardcode_libdir_flag_spec= export_dynamic_flag_spec= whole_archive_flag_spec= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag=unsupported always_export_symbols=yes archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix[4-9]*) if test ia64 = "$host_cpu"; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag= else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to GNU nm, but means don't demangle to AIX nm. # Without the "-l" option, or with the "-B" option, AIX nm treats # weak defined symbols like other global defined symbols, whereas # GNU nm marks them as "W". # While the 'weak' keyword is ignored in the Export File, we need # it in the Import File for the 'aix-soname' feature, so we have # to replace the "-B" option with "-P" for AIX nm. if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # have runtime linking enabled, and use it for executables. # For shared libraries, we enable/disable runtime linking # depending on the kind of the shared library created - # when "with_aix_soname,aix_use_runtimelinking" is: # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables # "aix,yes" lib.so shared, rtl:yes, for executables # lib.a static archive # "both,no" lib.so.V(shr.o) shared, rtl:yes # lib.a(lib.so.V) shared, rtl:no, for executables # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables # lib.a(lib.so.V) shared, rtl:no # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables # lib.a static archive case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then aix_use_runtimelinking=yes break fi done if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then # With aix-soname=svr4, we create the lib.so.V shared archives only, # so we don't have lib.a shared libs to link our executables. # We have to force runtime linking in this case. aix_use_runtimelinking=yes LDFLAGS="$LDFLAGS -Wl,-brtl" fi ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds='' hardcode_direct=yes hardcode_direct_absolute=yes hardcode_libdir_separator=':' link_all_deplibs=yes file_list_spec='$wl-f,' case $with_aix_soname,$aix_use_runtimelinking in aix,*) ;; # traditional, no import file svr4,* | *,yes) # use import file # The Import File defines what to hardcode. hardcode_direct=no hardcode_direct_absolute=no ;; esac if test yes = "$GCC"; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`$CC -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac shared_flag='-shared' if test yes = "$aix_use_runtimelinking"; then shared_flag="$shared_flag "'$wl-G' fi # Need to ensure runtime linking is disabled for the traditional # shared library, or the linker may eventually find shared libraries # /with/ Import File - we do not want to mix them. shared_flag_aix='-shared' shared_flag_svr4='-shared $wl-G' else # not using gcc if test ia64 = "$host_cpu"; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test yes = "$aix_use_runtimelinking"; then shared_flag='$wl-G' else shared_flag='$wl-bM:SRE' fi shared_flag_aix='$wl-bM:SRE' shared_flag_svr4='$wl-G' fi fi export_dynamic_flag_spec='$wl-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols=yes if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an # empty executable. if test set = "${lt_cv_aix_libpath+set}"; then aix_libpath=$lt_cv_aix_libpath else if test ${lt_cv_aix_libpath_+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=/usr/lib:/lib fi ;; esac fi aix_libpath=$lt_cv_aix_libpath_ fi hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag else if test ia64 = "$host_cpu"; then hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib' allow_undefined_flag="-z nodefs" archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. if test set = "${lt_cv_aix_libpath+set}"; then aix_libpath=$lt_cv_aix_libpath else if test ${lt_cv_aix_libpath_+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=/usr/lib:/lib fi ;; esac fi aix_libpath=$lt_cv_aix_libpath_ fi hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. no_undefined_flag=' $wl-bernotok' allow_undefined_flag=' $wl-berok' if test yes = "$with_gnu_ld"; then # We only use this code for GNU lds that support --whole-archive. whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec='$convenience' fi archive_cmds_need_lc=yes archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' # -brtl affects multiple linker settings, -berok does not and is overridden later compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' if test svr4 != "$with_aix_soname"; then # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' fi if test aix != "$with_aix_soname"; then archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' else # used by -dlpreopen to get the symbols archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir' fi archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d' fi fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; bsdi[45]*) export_dynamic_flag_spec=-rdynamic ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++ or Intel C++ Compiler. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in cl* | icl*) # Native MSVC or ICC hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported always_export_symbols=yes file_list_spec='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then cp "$export_symbols" "$output_objdir/$soname.def"; echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; else $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, )='true' enable_shared_with_static_runtimes=yes exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' # Don't use ranlib old_postinstall_cmds='chmod 644 $oldlib' postlink_cmds='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile=$lt_outputfile.exe lt_tool_outputfile=$lt_tool_outputfile.exe ;; esac~ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # Assume MSVC and ICC wrapper hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_from_new_cmds='true' # FIXME: Should let the user specify the lib program. old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' enable_shared_with_static_runtimes=yes ;; esac ;; darwin* | rhapsody*) archive_cmds_need_lc=no hardcode_direct=no hardcode_automatic=yes hardcode_shlibpath_var=unsupported if test yes = "$lt_cv_ld_force_load"; then whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' else whole_archive_flag_spec='' fi link_all_deplibs=yes allow_undefined_flag=$_lt_dar_allow_undefined case $cc_basename in ifort*|nagfor*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test yes = "$_lt_dar_can_shared"; then output_verbose_link_cmd=func_echo_all archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" archive_expsym_cmds="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" module_expsym_cmds="$SED -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" else ld_shlibs=no fi ;; dgux*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2.*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly* | midnightbsd*) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; hpux9*) if test yes = "$GCC"; then archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' else archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' fi hardcode_libdir_flag_spec='$wl+b $wl$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes export_dynamic_flag_spec='$wl-E' ;; hpux10*) if test yes,no = "$GCC,$with_gnu_ld"; then archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test no = "$with_gnu_ld"; then hardcode_libdir_flag_spec='$wl+b $wl$libdir' hardcode_libdir_separator=: hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='$wl-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test yes,no = "$GCC,$with_gnu_ld"; then case $host_cpu in hppa*64*) archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) # Older versions of the 11.00 compiler do not understand -b yet # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 printf %s "checking if $CC understands -b... " >&6; } if test ${lt_cv_prog_compiler__b+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) lt_cv_prog_compiler__b=no save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -b" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler__b=yes fi else lt_cv_prog_compiler__b=yes fi fi $RM -r conftest* LDFLAGS=$save_LDFLAGS ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 printf "%s\n" "$lt_cv_prog_compiler__b" >&6; } if test yes = "$lt_cv_prog_compiler__b"; then archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi ;; esac fi if test no = "$with_gnu_ld"; then hardcode_libdir_flag_spec='$wl+b $wl$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_direct=no hardcode_shlibpath_var=no ;; *) hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='$wl-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test yes = "$GCC"; then archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. # This should be the same for all languages, so no per-tag cache variable. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 printf %s "checking whether the $host_os linker accepts -exported_symbol... " >&6; } if test ${lt_cv_irix_exported_symbol+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int foo (void) { return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : lt_cv_irix_exported_symbol=yes else case e in @%:@( e) lt_cv_irix_exported_symbol=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; } if test yes = "$lt_cv_irix_exported_symbol"; then archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' fi link_all_deplibs=no else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' hardcode_libdir_separator=: inherit_rpath=yes link_all_deplibs=yes ;; linux*) case $cc_basename in tcc*) # Fabrice Bellard et al's Tiny C Compiler ld_shlibs=yes archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' ;; esac ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; newsos6) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' hardcode_libdir_separator=: hardcode_shlibpath_var=no ;; *nto* | *qnx*) ;; openbsd* | bitrig*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes hardcode_shlibpath_var=no hardcode_direct_absolute=yes if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec='$wl-rpath,$libdir' export_dynamic_flag_spec='$wl-E' else archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='$wl-rpath,$libdir' fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported shrext_cmds=.dll archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ prefix_cmds="$SED"~ if test EXPORTS = "`$SED 1q $export_symbols`"; then prefix_cmds="$prefix_cmds -e 1d"; fi~ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' enable_shared_with_static_runtimes=yes file_list_spec='@' ;; osf3*) if test yes = "$GCC"; then allow_undefined_flag=' $wl-expect_unresolved $wl\*' archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test yes = "$GCC"; then allow_undefined_flag=' $wl-expect_unresolved $wl\*' archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi archive_cmds_need_lc='no' hardcode_libdir_separator=: ;; solaris*) no_undefined_flag=' -z defs' if test yes = "$GCC"; then wlarc='$wl' archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) wlarc='$wl' archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi hardcode_libdir_flag_spec='-R$libdir' hardcode_shlibpath_var=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands '-z linker_flag'. GCC discards it without '$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test yes = "$GCC"; then whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' else whole_archive_flag_spec='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs=yes ;; sunos4*) if test sequent = "$host_vendor"; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; sysv4) case $host_vendor in sni) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds='$CC -r -o $output$reload_objs' hardcode_direct=no ;; motorola) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var=no ;; sysv4.3*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no export_dynamic_flag_spec='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag='$wl-z,text' archive_cmds_need_lc=no hardcode_shlibpath_var=no runpath_var='LD_RUN_PATH' if test yes = "$GCC"; then archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We CANNOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag='$wl-z,text' allow_undefined_flag='$wl-z,nodefs' archive_cmds_need_lc=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='$wl-R,$libdir' hardcode_libdir_separator=':' link_all_deplibs=yes export_dynamic_flag_spec='$wl-Bexport' runpath_var='LD_RUN_PATH' if test yes = "$GCC"; then archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; *) ld_shlibs=no ;; esac if test sni = "$host_vendor"; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) export_dynamic_flag_spec='$wl-Blargedynsym' ;; esac fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 printf "%s\n" "$ld_shlibs" >&6; } test no = "$ld_shlibs" && can_build_shared=no with_gnu_ld=$with_gnu_ld # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc" in x|xyes) # Assume -lc should be added archive_cmds_need_lc=yes if test yes,yes = "$GCC,$enable_shared"; then case $archive_cmds in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 printf %s "checking whether -lc should be explicitly linked in... " >&6; } if test ${lt_cv_archive_cmds_need_lc+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) $RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl pic_flag=$lt_prog_compiler_pic compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag allow_undefined_flag= if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then lt_cv_archive_cmds_need_lc=no else lt_cv_archive_cmds_need_lc=yes fi allow_undefined_flag=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 printf "%s\n" "$lt_cv_archive_cmds_need_lc" >&6; } archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc ;; esac fi ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 printf %s "checking dynamic linker characteristics... " >&6; } if test yes = "$GCC"; then case $host_os in darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; *) lt_awk_arg='/^libraries:/' ;; esac case $host_os in mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;; *) lt_sed_strip_eq='s|=/|/|g' ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` case $lt_search_path_spec in *\;*) # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` ;; *) lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` ;; esac # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary... lt_tmp_lt_search_path_spec= lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` # ...but if some path component already ends with the multilib dir we assume # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). case "$lt_multi_os_dir; $lt_search_path_spec " in "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) lt_multi_os_dir= ;; esac for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" elif test -n "$lt_multi_os_dir"; then test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' BEGIN {RS = " "; FS = "/|\n";} { lt_foo = ""; lt_count = 0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo = "/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[lt_foo]++; } if (lt_freq[lt_foo] == 1) { print lt_foo; } }'` # AWK program above erroneously prepends '/' to C:/dos/paths # for these hosts. case $host_os in mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ $SED 's|/\([A-Za-z]:\)|\1|g'` ;; esac sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=.so postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='$libname$release$shared_ext$major' ;; aix[4-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes if test ia64 = "$host_cpu"; then # AIX 5 supports IA64 library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line '#! .'. This would cause the generated library to # depend on '.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # Using Import Files as archive members, it is possible to support # filename-based versioning of shared library archives on AIX. While # this would work for both with and without runtime linking, it will # prevent static linking of such archives. So we do filename-based # shared library versioning with .so extension only, which is used # when both runtime linking and shared linking is enabled. # Unfortunately, runtime linking may impact performance, so we do # not want this to be the default eventually. Also, we use the # versioned .so libs for executables only if there is the -brtl # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. # To allow for filename-based versioning support, we need to create # libNAME.so.V as an archive file, containing: # *) an Import File, referring to the versioned filename of the # archive as well as the shared archive member, telling the # bitwidth (32 or 64) of that shared object, and providing the # list of exported symbols of that shared object, eventually # decorated with the 'weak' keyword # *) the shared object with the F_LOADONLY flag set, to really avoid # it being seen by the linker. # At run time we better use the real file rather than another symlink, # but for link time we create the symlink libNAME.so -> libNAME.so.V case $with_aix_soname,$aix_use_runtimelinking in # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. aix,yes) # traditional libtool dynamic_linker='AIX unversionable lib.so' # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ;; aix,no) # traditional AIX only dynamic_linker='AIX lib.a(lib.so.V)' # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='$libname$release.a $libname.a' soname_spec='$libname$release$shared_ext$major' ;; svr4,*) # full svr4 only dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' # We do not specify a path in Import Files, so LIBPATH fires. shlibpath_overrides_runpath=yes ;; *,yes) # both, prefer svr4 dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' # unpreferred sharedlib libNAME.a needs extra handling postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' # We do not specify a path in Import Files, so LIBPATH fires. shlibpath_overrides_runpath=yes ;; *,no) # both, prefer aix dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" library_names_spec='$libname$release.a $libname.a' soname_spec='$libname$release$shared_ext$major' # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' ;; esac shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='$libname$shared_ext' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[45]*) version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=.dll need_version=no need_lib_prefix=no case $GCC,$cc_basename in yes,*) # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ;; esac dynamic_linker='Win32 ld.exe' ;; *,cl* | *,icl*) # Native MSVC or ICC libname_spec='$name' soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' library_names_spec='$libname.dll.lib' case $build_os in mingw*) sys_lib_search_path_spec= lt_save_ifs=$IFS IFS=';' for lt_path in $LIB do IFS=$lt_save_ifs # Let DOS variable expansion print the short 8.3 style file name. lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" done IFS=$lt_save_ifs # Convert to MSYS style. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form # but this time dos style (no spaces!) so that the unix form looks # like /cygdrive/c/PROGRA~1:/cygdr... sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ;; *) sys_lib_search_path_spec=$LIB if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # FIXME: find the short name or the path components, as spaces are # common. (e.g. "Program Files" -> "PROGRA~1") ;; esac # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes dynamic_linker='Win32 link.exe' ;; *) # Assume MSVC and ICC wrapper library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' dynamic_linker='Win32 ld.exe' ;; esac # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' soname_spec='$libname$release$major$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd* | dragonfly* | midnightbsd*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[23].*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; haiku*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=no sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' if test 32 = "$HPUX_IA64_MODE"; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" sys_lib_dlsearch_path_spec=/usr/lib/hpux32 else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" sys_lib_dlsearch_path_spec=/usr/lib/hpux64 fi ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555, ... postinstall_cmds='chmod 555 $lib' # or fails outright, so override atomically: install_override_mode=555 ;; interix[3-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test yes = "$lt_cv_prog_gnu_ld"; then version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='$libname$release$shared_ext$major' library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; linux*android*) version_type=none # Android doesn't support versioned libraries. need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext' soname_spec='$libname$release$shared_ext' finish_cmds= shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes dynamic_linker='Android linker' # Don't embed -rpath directories since the linker doesn't support them. hardcode_libdir_flag_spec='-L$libdir' ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH if test ${lt_cv_shlibpath_overrides_runpath+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null then : lt_cv_shlibpath_overrides_runpath=yes fi fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir ;; esac fi shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Ideally, we could use ldconfig to report *all* directores which are # searched for libraries, however this is still not possible. Aside from not # being certain /sbin/ldconfig is available, command # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, # even though it is searched at run-time. Try to do the best guess by # appending ld.so.conf contents (and includes) to the search path. if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsdelf*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='NetBSD ld.elf_so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd* | bitrig*) version_type=sunos sys_lib_dlsearch_path_spec=/usr/lib need_lib_prefix=no if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then need_version=no else need_version=yes fi library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; os2*) libname_spec='$name' version_type=windows shrext_cmds=.dll need_version=no need_lib_prefix=no # OS/2 can only load a DLL with a base name of 8 characters or less. soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; v=$($ECHO $release$versuffix | tr -d .-); n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); $ECHO $n$v`$shared_ext' library_names_spec='${libname}_dll.$libext' dynamic_linker='OS/2 ld.exe' shlibpath_var=BEGINLIBPATH sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='$libname$release$shared_ext$major' library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test yes = "$with_gnu_ld"; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec; then version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' soname_spec='$libname$shared_ext.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=sco need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test yes = "$with_gnu_ld"; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 printf "%s\n" "$dynamic_linker" >&6; } test no = "$dynamic_linker" && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test yes = "$GCC"; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec fi if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec fi # remember unaugmented sys_lib_dlsearch_path content for libtool script decls... configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" # to be used as default LT_SYS_LIBRARY_PATH value in generated libtool configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 printf %s "checking how to hardcode library paths into programs... " >&6; } hardcode_action= if test -n "$hardcode_libdir_flag_spec" || test -n "$runpath_var" || test yes = "$hardcode_automatic"; then # We can hardcode non-existent directories. if test no != "$hardcode_direct" && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" && test no != "$hardcode_minus_L"; then # Linking always hardcodes the temporary library directory. hardcode_action=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action=unsupported fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 printf "%s\n" "$hardcode_action" >&6; } if test relink = "$hardcode_action" || test yes = "$inherit_rpath"; then # Fast installation is not supported enable_fast_install=no elif test yes = "$shlibpath_overrides_runpath" || test no = "$enable_shared"; then # Fast installation is not necessary enable_fast_install=needless fi if test yes != "$enable_dlopen"; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen=load_add_on lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) lt_cv_dlopen=LoadLibrary lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen=dlopen lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 printf %s "checking for dlopen in -ldl... " >&6; } if test ${ac_cv_lib_dl_dlopen+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* 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. The 'extern "C"' is for builds by C++ compilers; although this is not generally supported in C code supporting it here has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif char dlopen (void); int main (void) { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_dl_dlopen=yes else case e in @%:@( e) ac_cv_lib_dl_dlopen=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes then : lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl else case e in @%:@( e) lt_cv_dlopen=dyld lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; esac fi ;; tpf*) # Don't try to run any link tests for TPF. We know it's impossible # because TPF is a cross-compiler, and we know how we open DSOs. lt_cv_dlopen=dlopen lt_cv_dlopen_libs= lt_cv_dlopen_self=no ;; *) ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" if test "x$ac_cv_func_shl_load" = xyes then : lt_cv_dlopen=shl_load else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 printf %s "checking for shl_load in -ldld... " >&6; } if test ${ac_cv_lib_dld_shl_load+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* 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. The 'extern "C"' is for builds by C++ compilers; although this is not generally supported in C code supporting it here has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif char shl_load (void); int main (void) { return shl_load (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_dld_shl_load=yes else case e in @%:@( e) ac_cv_lib_dld_shl_load=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 printf "%s\n" "$ac_cv_lib_dld_shl_load" >&6; } if test "x$ac_cv_lib_dld_shl_load" = xyes then : lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld else case e in @%:@( e) ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" if test "x$ac_cv_func_dlopen" = xyes then : lt_cv_dlopen=dlopen else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 printf %s "checking for dlopen in -ldl... " >&6; } if test ${ac_cv_lib_dl_dlopen+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* 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. The 'extern "C"' is for builds by C++ compilers; although this is not generally supported in C code supporting it here has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif char dlopen (void); int main (void) { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_dl_dlopen=yes else case e in @%:@( e) ac_cv_lib_dl_dlopen=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes then : lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 printf %s "checking for dlopen in -lsvld... " >&6; } if test ${ac_cv_lib_svld_dlopen+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) ac_check_lib_save_LIBS=$LIBS LIBS="-lsvld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* 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. The 'extern "C"' is for builds by C++ compilers; although this is not generally supported in C code supporting it here has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif char dlopen (void); int main (void) { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_svld_dlopen=yes else case e in @%:@( e) ac_cv_lib_svld_dlopen=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 printf "%s\n" "$ac_cv_lib_svld_dlopen" >&6; } if test "x$ac_cv_lib_svld_dlopen" = xyes then : lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 printf %s "checking for dld_link in -ldld... " >&6; } if test ${ac_cv_lib_dld_dld_link+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* 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. The 'extern "C"' is for builds by C++ compilers; although this is not generally supported in C code supporting it here has little cost and some practical benefit (sr 110532). */ #ifdef __cplusplus extern "C" #endif char dld_link (void); int main (void) { return dld_link (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_dld_dld_link=yes else case e in @%:@( e) ac_cv_lib_dld_dld_link=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 printf "%s\n" "$ac_cv_lib_dld_dld_link" >&6; } if test "x$ac_cv_lib_dld_dld_link" = xyes then : lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld fi ;; esac fi ;; esac fi ;; esac fi ;; esac fi ;; esac fi ;; esac if test no = "$lt_cv_dlopen"; then enable_dlopen=no else enable_dlopen=yes fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS=$CPPFLAGS test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS=$LDFLAGS wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS=$LIBS LIBS="$lt_cv_dlopen_libs $LIBS" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 printf %s "checking whether a program can dlopen itself... " >&6; } if test ${lt_cv_dlopen_self+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test yes = "$cross_compiling"; then : lt_cv_dlopen_self=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif /* When -fvisibility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif int fnord () { return 42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; } _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; esac else : # compilation failed lt_cv_dlopen_self=no fi fi rm -fr conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 printf "%s\n" "$lt_cv_dlopen_self" >&6; } if test yes = "$lt_cv_dlopen_self"; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 printf %s "checking whether a statically linked program can dlopen itself... " >&6; } if test ${lt_cv_dlopen_self_static+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test yes = "$cross_compiling"; then : lt_cv_dlopen_self_static=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif /* When -fvisibility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif int fnord () { return 42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; } _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; esac else : # compilation failed lt_cv_dlopen_self_static=no fi fi rm -fr conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 printf "%s\n" "$lt_cv_dlopen_self_static" >&6; } fi CPPFLAGS=$save_CPPFLAGS LDFLAGS=$save_LDFLAGS LIBS=$save_LIBS ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi striplib= old_striplib= { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 printf %s "checking whether stripping libraries is possible... " >&6; } if test -z "$STRIP"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } else if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then old_striplib="$STRIP --strip-debug" striplib="$STRIP --strip-unneeded" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } else case $host_os in darwin*) # FIXME - insert some real tests, host_os isn't really good enough striplib="$STRIP -x" old_striplib="$STRIP -S" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } ;; freebsd*) if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then old_striplib="$STRIP --strip-debug" striplib="$STRIP --strip-unneeded" { 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}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac fi fi # Report what library types will actually be built { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 printf %s "checking if libtool supports shared libraries... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 printf "%s\n" "$can_build_shared" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 printf %s "checking whether to build shared libraries... " >&6; } test no = "$can_build_shared" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test yes = "$enable_shared" && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[4-9]*) if test ia64 != "$host_cpu"; then case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in yes,aix,yes) ;; # shared object as lib.so file only yes,svr4,*) ;; # shared object as lib.so archive member only yes,*) enable_static=no ;; # shared object in lib.a archive as well esac fi ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 printf "%s\n" "$enable_shared" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 printf %s "checking whether to build static libraries... " >&6; } # Make sure either enable_shared or enable_static is yes. test yes = "$enable_shared" || enable_static=yes { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 printf "%s\n" "$enable_static" >&6; } 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 CC=$lt_save_CC if test -n "$CXX" && ( test no != "$CXX" && ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || (test g++ != "$CXX"))); 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 { 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 case e in @%:@( e) # 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 case e in @%:@( e) # Broken: fails on valid input. continue ;; esac 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 case e in @%:@( e) # Passes both tests. ac_preproc_ok=: break ;; esac 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 ;; esac 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 case e in @%:@( e) # Broken: fails on valid input. continue ;; esac 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 case e in @%:@( e) # Passes both tests. ac_preproc_ok=: break ;; esac 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 case e in @%:@( e) { { 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; } ;; esac 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 else _lt_caught_CXX_error=yes fi 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 archive_cmds_need_lc_CXX=no allow_undefined_flag_CXX= always_export_symbols_CXX=no archive_expsym_cmds_CXX= compiler_needs_object_CXX=no export_dynamic_flag_spec_CXX= hardcode_direct_CXX=no hardcode_direct_absolute_CXX=no hardcode_libdir_flag_spec_CXX= hardcode_libdir_separator_CXX= hardcode_minus_L_CXX=no hardcode_shlibpath_var_CXX=unsupported hardcode_automatic_CXX=no inherit_rpath_CXX=no module_cmds_CXX= module_expsym_cmds_CXX= link_all_deplibs_CXX=unknown old_archive_cmds_CXX=$old_archive_cmds reload_flag_CXX=$reload_flag reload_cmds_CXX=$reload_cmds no_undefined_flag_CXX= whole_archive_flag_spec_CXX= enable_shared_with_static_runtimes_CXX=no # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o objext_CXX=$objext # No sense in running all these tests if we already determined that # the CXX compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test yes != "$_lt_caught_CXX_error"; then # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_LD=$LD lt_save_GCC=$GCC GCC=$GXX lt_save_with_gnu_ld=$with_gnu_ld lt_save_path_LD=$lt_cv_path_LD if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx else $as_unset lt_cv_prog_gnu_ld fi if test -n "${lt_cv_path_LDCXX+set}"; then lt_cv_path_LD=$lt_cv_path_LDCXX else $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} CFLAGS=$CXXFLAGS compiler=$CC compiler_CXX=$CC func_cc_basename $compiler cc_basename=$func_cc_basename_result if test -n "$compiler"; then # We don't want -fno-exception when compiling C++ code, so set the # no_builtin_flag separately if test yes = "$GXX"; then lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' else lt_prog_compiler_no_builtin_flag_CXX= fi if test yes = "$GXX"; then # Set up default GNU C++ configuration @%:@ Check whether --with-gnu-ld was given. if test ${with_gnu_ld+y} then : withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes else case e in @%:@( e) with_gnu_ld=no ;; esac fi ac_prog=ld if test yes = "$GCC"; then # Check if gcc -print-prog-name=ld gives a path. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 printf %s "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return, which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD=$ac_prog ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test yes = "$with_gnu_ld"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 printf %s "checking for GNU ld... " >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 printf %s "checking for non-GNU ld... " >&6; } fi if test ${lt_cv_path_LD+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) if test -z "$LD"; then lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD=$ac_dir/$ac_prog # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 printf "%s\n" "$LD" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 printf %s "checking if the linker ($LD) is GNU ld... " >&6; } if test ${lt_cv_prog_gnu_ld+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 printf "%s\n" "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. if test yes = "$with_gnu_ld"; then archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' export_dynamic_flag_spec_CXX='$wl--export-dynamic' # If archive_cmds runs LD, not CC, wlarc should be empty # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to # investigate it a little bit more. (MM) wlarc='$wl' # ancient GNU ld didn't support --whole-archive et. al. if eval "`$CC -print-prog-name=ld` --help 2>&1" | $GREP 'no-whole-archive' > /dev/null; then whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' else whole_archive_flag_spec_CXX= fi else with_gnu_ld=no wlarc= # A generic and very simple default shared library creation # command for GNU C++ for the case where it uses the native # linker, instead of GNU ld. If possible, this setting should # overridden to take advantage of the native linker features on # the platform it is being used on. archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' else GXX=no with_gnu_ld=no wlarc= fi # PORTME: fill in a description of your system's C++ link characteristics { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } ld_shlibs_CXX=yes case $host_os in aix3*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; aix[4-9]*) if test ia64 = "$host_cpu"; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag= else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # have runtime linking enabled, and use it for executables. # For shared libraries, we enable/disable runtime linking # depending on the kind of the shared library created - # when "with_aix_soname,aix_use_runtimelinking" is: # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables # "aix,yes" lib.so shared, rtl:yes, for executables # lib.a static archive # "both,no" lib.so.V(shr.o) shared, rtl:yes # lib.a(lib.so.V) shared, rtl:no, for executables # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables # lib.a(lib.so.V) shared, rtl:no # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables # lib.a static archive case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then # With aix-soname=svr4, we create the lib.so.V shared archives only, # so we don't have lib.a shared libs to link our executables. # We have to force runtime linking in this case. aix_use_runtimelinking=yes LDFLAGS="$LDFLAGS -Wl,-brtl" fi ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds_CXX='' hardcode_direct_CXX=yes hardcode_direct_absolute_CXX=yes hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=yes file_list_spec_CXX='$wl-f,' case $with_aix_soname,$aix_use_runtimelinking in aix,*) ;; # no import file svr4,* | *,yes) # use import file # The Import File defines what to hardcode. hardcode_direct_CXX=no hardcode_direct_absolute_CXX=no ;; esac if test yes = "$GXX"; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`$CC -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct_CXX=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L_CXX=yes hardcode_libdir_flag_spec_CXX='-L$libdir' hardcode_libdir_separator_CXX= fi esac shared_flag='-shared' if test yes = "$aix_use_runtimelinking"; then shared_flag=$shared_flag' $wl-G' fi # Need to ensure runtime linking is disabled for the traditional # shared library, or the linker may eventually find shared libraries # /with/ Import File - we do not want to mix them. shared_flag_aix='-shared' shared_flag_svr4='-shared $wl-G' else # not using gcc if test ia64 = "$host_cpu"; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test yes = "$aix_use_runtimelinking"; then shared_flag='$wl-G' else shared_flag='$wl-bM:SRE' fi shared_flag_aix='$wl-bM:SRE' shared_flag_svr4='$wl-G' fi fi export_dynamic_flag_spec_CXX='$wl-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to # export. always_export_symbols_CXX=yes if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. # The "-G" linker flag allows undefined symbols. no_undefined_flag_CXX='-bernotok' # Determine the default libpath from the value encoded in an empty # executable. if test set = "${lt_cv_aix_libpath+set}"; then aix_libpath=$lt_cv_aix_libpath else if test ${lt_cv_aix_libpath__CXX+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO" then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath__CXX"; then lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath__CXX"; then lt_cv_aix_libpath__CXX=/usr/lib:/lib fi ;; esac fi aix_libpath=$lt_cv_aix_libpath__CXX fi hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag else if test ia64 = "$host_cpu"; then hardcode_libdir_flag_spec_CXX='$wl-R $libdir:/usr/lib:/lib' allow_undefined_flag_CXX="-z nodefs" archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. if test set = "${lt_cv_aix_libpath+set}"; then aix_libpath=$lt_cv_aix_libpath else if test ${lt_cv_aix_libpath__CXX+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO" then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath__CXX"; then lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath__CXX"; then lt_cv_aix_libpath__CXX=/usr/lib:/lib fi ;; esac fi aix_libpath=$lt_cv_aix_libpath__CXX fi hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. no_undefined_flag_CXX=' $wl-bernotok' allow_undefined_flag_CXX=' $wl-berok' if test yes = "$with_gnu_ld"; then # We only use this code for GNU lds that support --whole-archive. whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_CXX='$convenience' fi archive_cmds_need_lc_CXX=yes archive_expsym_cmds_CXX='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' # -brtl affects multiple linker settings, -berok does not and is overridden later compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' if test svr4 != "$with_aix_soname"; then # This is similar to how AIX traditionally builds its shared # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' fi if test aix != "$with_aix_soname"; then archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' else # used by -dlpreopen to get the symbols archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$MV $output_objdir/$realname.d/$soname $output_objdir' fi archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$RM -r $output_objdir/$realname.d' fi fi ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then allow_undefined_flag_CXX=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' else ld_shlibs_CXX=no fi ;; chorus*) case $cc_basename in *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; cygwin* | mingw* | pw32* | cegcc*) case $GXX,$cc_basename in ,cl* | no,cl* | ,icl* | no,icl*) # Native MSVC or ICC # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec_CXX=' ' allow_undefined_flag_CXX=unsupported always_export_symbols_CXX=yes file_list_spec_CXX='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then cp "$export_symbols" "$output_objdir/$soname.def"; echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; else $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true' enable_shared_with_static_runtimes_CXX=yes # Don't use ranlib old_postinstall_cmds_CXX='chmod 644 $oldlib' postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile=$lt_outputfile.exe lt_tool_outputfile=$lt_tool_outputfile.exe ;; esac~ func_to_tool_file "$lt_outputfile"~ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # g++ # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_CXX='-L$libdir' export_dynamic_flag_spec_CXX='$wl--export-all-symbols' allow_undefined_flag_CXX=unsupported always_export_symbols_CXX=no enable_shared_with_static_runtimes_CXX=yes if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file, use it as # is; otherwise, prepend EXPORTS... archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs_CXX=no fi ;; esac ;; darwin* | rhapsody*) archive_cmds_need_lc_CXX=no hardcode_direct_CXX=no hardcode_automatic_CXX=yes hardcode_shlibpath_var_CXX=unsupported if test yes = "$lt_cv_ld_force_load"; then whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' else whole_archive_flag_spec_CXX='' fi link_all_deplibs_CXX=yes allow_undefined_flag_CXX=$_lt_dar_allow_undefined case $cc_basename in ifort*|nagfor*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test yes = "$_lt_dar_can_shared"; then output_verbose_link_cmd=func_echo_all archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" archive_expsym_cmds_CXX="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" module_expsym_cmds_CXX="$SED -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" if test yes != "$lt_cv_apple_cc_single_mod"; then archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil" archive_expsym_cmds_CXX="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" fi else ld_shlibs_CXX=no fi ;; os2*) hardcode_libdir_flag_spec_CXX='-L$libdir' hardcode_minus_L_CXX=yes allow_undefined_flag_CXX=unsupported shrext_cmds=.dll archive_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' archive_expsym_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ prefix_cmds="$SED"~ if test EXPORTS = "`$SED 1q $export_symbols`"; then prefix_cmds="$prefix_cmds -e 1d"; fi~ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' old_archive_From_new_cmds_CXX='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' enable_shared_with_static_runtimes_CXX=yes file_list_spec_CXX='@' ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; ghcx*) # Green Hills C++ Compiler # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; freebsd2.*) # C++ shared libraries reported to be fairly broken before # switch to ELF ld_shlibs_CXX=no ;; freebsd-elf*) archive_cmds_need_lc_CXX=no ;; freebsd* | dragonfly* | midnightbsd*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions ld_shlibs_CXX=yes ;; haiku*) archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' link_all_deplibs_CXX=yes ;; hpux9*) hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' hardcode_libdir_separator_CXX=: export_dynamic_flag_spec_CXX='$wl-E' hardcode_direct_CXX=yes hardcode_minus_L_CXX=yes # Not in the search PATH, # but as the default # location of the library. case $cc_basename in CC*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; aCC*) archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes = "$GXX"; then archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; hpux10*|hpux11*) if test no = "$with_gnu_ld"; then hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' hardcode_libdir_separator_CXX=: case $host_cpu in hppa*64*|ia64*) ;; *) export_dynamic_flag_spec_CXX='$wl-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no ;; *) hardcode_direct_CXX=yes hardcode_direct_absolute_CXX=yes hardcode_minus_L_CXX=yes # Not in the search PATH, # but as the default # location of the library. ;; esac case $cc_basename in CC*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; aCC*) case $host_cpu in hppa*64*) archive_cmds_CXX='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes = "$GXX"; then if test no = "$with_gnu_ld"; then case $host_cpu in hppa*64*) archive_cmds_CXX='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; interix[3-9]*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' export_dynamic_flag_spec_CXX='$wl-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds_CXX='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) if test yes = "$GXX"; then if test no = "$with_gnu_ld"; then archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' else archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib' fi fi link_all_deplibs_CXX=yes ;; esac hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' hardcode_libdir_separator_CXX=: inherit_rpath_CXX=yes ;; linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' export_dynamic_flag_spec_CXX='$wl--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc* | ecpc* ) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; esac archive_cmds_need_lc_CXX=no hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' export_dynamic_flag_spec_CXX='$wl--export-dynamic' whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' ;; pgCC* | pgcpp*) # Portland Group C++ compiler case `$CC -V` in *pgCC\ [1-5].* | *pgcpp\ [1-5].*) prelink_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' old_archive_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ $RANLIB $oldlib' archive_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 6 and above use weak symbols archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; esac hardcode_libdir_flag_spec_CXX='$wl--rpath $wl$libdir' export_dynamic_flag_spec_CXX='$wl--export-dynamic' whole_archive_flag_spec_CXX='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' ;; cxx*) # Compaq C++ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec_CXX='-rpath $libdir' hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' ;; xl* | mpixl* | bgxl*) # IBM XL 8.0 on PPC, with GNU ld hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' export_dynamic_flag_spec_CXX='$wl--export-dynamic' archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' if test yes = "$supports_anon_versioning"; then archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi ;; *) case `$CC -V 2>&1 | $SED 5q` in *Sun\ C*) # Sun C++ 5.9 no_undefined_flag_CXX=' -zdefs' archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols' hardcode_libdir_flag_spec_CXX='-R$libdir' whole_archive_flag_spec_CXX='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' compiler_needs_object_CXX=yes # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' ;; esac ;; esac ;; lynxos*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; m88k*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; mvs*) case $cc_basename in cxx*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=no fi # Workaround some broken pre-1.5 toolchains output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; *nto* | *qnx*) ld_shlibs_CXX=yes ;; openbsd* | bitrig*) if test -f /usr/libexec/ld.so; then hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=no hardcode_direct_absolute_CXX=yes archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib' export_dynamic_flag_spec_CXX='$wl-E' whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' fi output_verbose_link_cmd=func_echo_all else ld_shlibs_CXX=no fi ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' hardcode_libdir_separator_CXX=: # Archives containing C++ object files must be created using # the KAI C++ compiler. case $host in osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; esac ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; cxx*) case $host in osf3*) allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' ;; *) allow_undefined_flag_CXX=' -expect_unresolved \*' archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ echo "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~ $RM $lib.exp' hardcode_libdir_flag_spec_CXX='-rpath $libdir' ;; esac hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes,no = "$GXX,$with_gnu_ld"; then allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' case $host in osf3*) archive_cmds_CXX='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' ;; *) archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' ;; esac hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; psos*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; lcc*) # Lucid # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; solaris*) case $cc_basename in CC* | sunCC*) # Sun C++ 4.2, 5.x and Centerline C++ archive_cmds_need_lc_CXX=yes no_undefined_flag_CXX=' -zdefs' archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_shlibpath_var_CXX=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands '-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' ;; esac link_all_deplibs_CXX=yes output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' ;; gcx*) # Green Hills C++ Compiler archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker if test yes,no = "$GXX,$with_gnu_ld"; then no_undefined_flag_CXX=' $wl-z ${wl}defs' if $CC --version | $GREP -v '^2\.7' > /dev/null; then archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' else # g++ 2.7 appears to require '-G' NOT '-shared' on this # platform. archive_cmds_CXX='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' fi hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir' case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) whole_archive_flag_spec_CXX='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag_CXX='$wl-z,text' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We CANNOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag_CXX='$wl-z,text' allow_undefined_flag_CXX='$wl-z,nodefs' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no hardcode_libdir_flag_spec_CXX='$wl-R,$libdir' hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=yes export_dynamic_flag_spec_CXX='$wl-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~ '"$old_archive_cmds_CXX" reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~ '"$reload_cmds_CXX" ;; *) archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 printf "%s\n" "$ld_shlibs_CXX" >&6; } test no = "$ld_shlibs_CXX" && can_build_shared=no GCC_CXX=$GXX LD_CXX=$LD ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... # Dependencies to place before and after the object being linked: predep_objects_CXX= postdep_objects_CXX= predeps_CXX= postdeps_CXX= compiler_lib_search_path_CXX= cat > conftest.$ac_ext <<_LT_EOF class Foo { public: Foo (void) { a = 0; } private: int a; }; _LT_EOF _lt_libdeps_save_CFLAGS=$CFLAGS case "$CC $CFLAGS " in #( *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; *\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; esac if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # Parse the compiler output and extract the necessary # objects, libraries and library flags. # Sentinel used to keep track of whether or not we are before # the conftest object file. pre_test_object_deps_done=no for p in `eval "$output_verbose_link_cmd"`; do case $prev$p in -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. # Remove the space. if test x-L = "$p" || test x-R = "$p"; then prev=$p continue fi # Expand the sysroot to ease extracting the directories later. if test -z "$prev"; then case $p in -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; esac fi case $p in =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; esac if test no = "$pre_test_object_deps_done"; then case $prev in -L | -R) # Internal compiler library paths should come after those # provided the user. The postdeps already come after the # user supplied libs so there is no need to process them. if test -z "$compiler_lib_search_path_CXX"; then compiler_lib_search_path_CXX=$prev$p else compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} $prev$p" fi ;; # The "-l" case would never come before the object being # linked, so don't bother handling this case. esac else if test -z "$postdeps_CXX"; then postdeps_CXX=$prev$p else postdeps_CXX="${postdeps_CXX} $prev$p" fi fi prev= ;; *.lto.$objext) ;; # Ignore GCC LTO objects *.$objext) # This assumes that the test object file only shows up # once in the compiler output. if test "$p" = "conftest.$objext"; then pre_test_object_deps_done=yes continue fi if test no = "$pre_test_object_deps_done"; then if test -z "$predep_objects_CXX"; then predep_objects_CXX=$p else predep_objects_CXX="$predep_objects_CXX $p" fi else if test -z "$postdep_objects_CXX"; then postdep_objects_CXX=$p else postdep_objects_CXX="$postdep_objects_CXX $p" fi fi ;; *) ;; # Ignore the rest. esac done # Clean up. rm -f a.out a.exe else echo "libtool.m4: error: problem compiling CXX test program" fi $RM -f confest.$objext CFLAGS=$_lt_libdeps_save_CFLAGS # PORTME: override above test on systems where it is broken case $host_os in interix[3-9]*) # Interix 3.5 installs completely hosed .la files for C++, so rather than # hack all around it, let's just trust "g++" to DTRT. predep_objects_CXX= postdep_objects_CXX= postdeps_CXX= ;; esac case " $postdeps_CXX " in *" -lc "*) archive_cmds_need_lc_CXX=no ;; esac compiler_lib_search_dirs_CXX= if test -n "${compiler_lib_search_path_CXX}"; then compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | $SED -e 's! -L! !g' -e 's!^ !!'` fi lt_prog_compiler_wl_CXX= lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX= # C++ specific cases for pic, static, wl, etc. if test yes = "$GXX"; then lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-static' case $host_os in aix*) # All AIX code is PIC. if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_CXX='-Bstatic' fi lt_prog_compiler_pic_CXX='-fPIC' ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support lt_prog_compiler_pic_CXX='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the '-m68020' flag to GCC prevents building anything better, # like '-m68040'. lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic_CXX='-DDLL_EXPORT' case $host_os in os2*) lt_prog_compiler_static_CXX='$wl-static' ;; esac ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_CXX='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all lt_prog_compiler_pic_CXX= ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. lt_prog_compiler_static_CXX= ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_CXX=-Kconform_pic fi ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) ;; *) lt_prog_compiler_pic_CXX='-fPIC' ;; esac ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic_CXX='-fPIC -shared' ;; *) lt_prog_compiler_pic_CXX='-fPIC' ;; esac else case $host_os in aix[4-9]*) # All AIX code is PIC. if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_CXX='-Bstatic' else lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68*) # Green Hills C++ Compiler # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; esac ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic_CXX='-DDLL_EXPORT' ;; dgux*) case $cc_basename in ec++*) lt_prog_compiler_pic_CXX='-KPIC' ;; ghcx*) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-pic' ;; *) ;; esac ;; freebsd* | dragonfly* | midnightbsd*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='$wl-a ${wl}archive' if test ia64 != "$host_cpu"; then lt_prog_compiler_pic_CXX='+Z' fi ;; aCC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='$wl-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic_CXX='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in KCC*) # KAI C++ Compiler lt_prog_compiler_wl_CXX='--backend -Wl,' lt_prog_compiler_pic_CXX='-fPIC' ;; ecpc* ) # old Intel C++ for x86_64, which still supported -KPIC. lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-static' ;; icpc* ) # Intel C++, used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-fPIC' lt_prog_compiler_static_CXX='-static' ;; pgCC* | pgcpp*) # Portland Group C++ compiler lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-fpic' lt_prog_compiler_static_CXX='-Bstatic' ;; cxx*) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; xlc* | xlC* | bgxl[cC]* | mpixl[cC]*) # IBM XL 8.0, 9.0 on PPC and BlueGene lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-qpic' lt_prog_compiler_static_CXX='-qstaticlink' ;; *) case `$CC -V 2>&1 | $SED 5q` in *Sun\ C*) # Sun C++ 5.9 lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) lt_prog_compiler_pic_CXX='-W c,exportall' ;; *) ;; esac ;; netbsd* | netbsdelf*-gnu) ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic_CXX='-fPIC -shared' ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) lt_prog_compiler_wl_CXX='--backend -Wl,' ;; RCC*) # Rational C++ 2.4.1 lt_prog_compiler_pic_CXX='-pic' ;; cxx*) # Digital/Compaq C++ lt_prog_compiler_wl_CXX='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; *) ;; esac ;; psos*) ;; solaris*) case $cc_basename in CC* | sunCC*) # Sun C++ 4.2, 5.x and Centerline C++ lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; gcx*) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x lt_prog_compiler_pic_CXX='-pic' lt_prog_compiler_static_CXX='-Bstatic' ;; lcc*) # Lucid lt_prog_compiler_pic_CXX='-pic' ;; *) ;; esac ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 lt_prog_compiler_pic_CXX='-KPIC' ;; *) ;; esac ;; vxworks*) ;; *) lt_prog_compiler_can_build_shared_CXX=no ;; esac fi case $host_os in # For platforms that do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_CXX= ;; *) lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX@&t@ -DPIC" ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 printf %s "checking for $compiler option to produce PIC... " >&6; } if test ${lt_cv_prog_compiler_pic_CXX+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5 printf "%s\n" "$lt_cv_prog_compiler_pic_CXX" >&6; } lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_CXX"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } if test ${lt_cv_prog_compiler_pic_works_CXX+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) lt_cv_prog_compiler_pic_works_CXX=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_CXX@&t@ -DPIC" ## exclude from sc_useless_quotes_in_assignment # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_pic_works_CXX=yes fi fi $RM conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 printf "%s\n" "$lt_cv_prog_compiler_pic_works_CXX" >&6; } if test yes = "$lt_cv_prog_compiler_pic_works_CXX"; then case $lt_prog_compiler_pic_CXX in "" | " "*) ;; *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; esac else lt_prog_compiler_pic_CXX= lt_prog_compiler_can_build_shared_CXX=no fi fi # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } if test ${lt_cv_prog_compiler_static_works_CXX+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) lt_cv_prog_compiler_static_works_CXX=no save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_static_works_CXX=yes fi else lt_cv_prog_compiler_static_works_CXX=yes fi fi $RM -r conftest* LDFLAGS=$save_LDFLAGS ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 printf "%s\n" "$lt_cv_prog_compiler_static_works_CXX" >&6; } if test yes = "$lt_cv_prog_compiler_static_works_CXX"; then : else lt_prog_compiler_static_CXX= fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if test ${lt_cv_prog_compiler_c_o_CXX+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) lt_cv_prog_compiler_c_o_CXX=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_CXX=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 printf "%s\n" "$lt_cv_prog_compiler_c_o_CXX" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if test ${lt_cv_prog_compiler_c_o_CXX+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) lt_cv_prog_compiler_c_o_CXX=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_CXX=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 printf "%s\n" "$lt_cv_prog_compiler_c_o_CXX" >&6; } hard_links=nottested if test no = "$lt_cv_prog_compiler_c_o_CXX" && test no != "$need_locks"; then # do not overwrite the value of need_locks provided by the user { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 printf %s "checking if we can lock with hard links... " >&6; } hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 printf "%s\n" "$hard_links" >&6; } if test no = "$hard_links"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 printf "%s\n" "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' case $host_os in aix[4-9]*) # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to GNU nm, but means don't demangle to AIX nm. # Without the "-l" option, or with the "-B" option, AIX nm treats # weak defined symbols like other global defined symbols, whereas # GNU nm marks them as "W". # While the 'weak' keyword is ignored in the Export File, we need # it in the Import File for the 'aix-soname' feature, so we have # to replace the "-B" option with "-P" for AIX nm. if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else export_symbols_cmds_CXX='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi ;; pw32*) export_symbols_cmds_CXX=$ltdll_cmds ;; cygwin* | mingw* | cegcc*) case $cc_basename in cl* | icl*) exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' ;; *) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' ;; esac ;; linux* | k*bsd*-gnu | gnu*) link_all_deplibs_CXX=no ;; *) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 printf "%s\n" "$ld_shlibs_CXX" >&6; } test no = "$ld_shlibs_CXX" && can_build_shared=no with_gnu_ld_CXX=$with_gnu_ld # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_CXX" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_CXX=yes if test yes,yes = "$GCC,$enable_shared"; then case $archive_cmds_CXX in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 printf %s "checking whether -lc should be explicitly linked in... " >&6; } if test ${lt_cv_archive_cmds_need_lc_CXX+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) $RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl_CXX pic_flag=$lt_prog_compiler_pic_CXX compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_CXX allow_undefined_flag_CXX= if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then lt_cv_archive_cmds_need_lc_CXX=no else lt_cv_archive_cmds_need_lc_CXX=yes fi allow_undefined_flag_CXX=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5 printf "%s\n" "$lt_cv_archive_cmds_need_lc_CXX" >&6; } archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX ;; esac fi ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 printf %s "checking dynamic linker characteristics... " >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=.so postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='$libname$release$shared_ext$major' ;; aix[4-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes if test ia64 = "$host_cpu"; then # AIX 5 supports IA64 library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line '#! .'. This would cause the generated library to # depend on '.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # Using Import Files as archive members, it is possible to support # filename-based versioning of shared library archives on AIX. While # this would work for both with and without runtime linking, it will # prevent static linking of such archives. So we do filename-based # shared library versioning with .so extension only, which is used # when both runtime linking and shared linking is enabled. # Unfortunately, runtime linking may impact performance, so we do # not want this to be the default eventually. Also, we use the # versioned .so libs for executables only if there is the -brtl # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. # To allow for filename-based versioning support, we need to create # libNAME.so.V as an archive file, containing: # *) an Import File, referring to the versioned filename of the # archive as well as the shared archive member, telling the # bitwidth (32 or 64) of that shared object, and providing the # list of exported symbols of that shared object, eventually # decorated with the 'weak' keyword # *) the shared object with the F_LOADONLY flag set, to really avoid # it being seen by the linker. # At run time we better use the real file rather than another symlink, # but for link time we create the symlink libNAME.so -> libNAME.so.V case $with_aix_soname,$aix_use_runtimelinking in # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. aix,yes) # traditional libtool dynamic_linker='AIX unversionable lib.so' # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ;; aix,no) # traditional AIX only dynamic_linker='AIX lib.a(lib.so.V)' # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='$libname$release.a $libname.a' soname_spec='$libname$release$shared_ext$major' ;; svr4,*) # full svr4 only dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' # We do not specify a path in Import Files, so LIBPATH fires. shlibpath_overrides_runpath=yes ;; *,yes) # both, prefer svr4 dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' # unpreferred sharedlib libNAME.a needs extra handling postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' # We do not specify a path in Import Files, so LIBPATH fires. shlibpath_overrides_runpath=yes ;; *,no) # both, prefer aix dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" library_names_spec='$libname$release.a $libname.a' soname_spec='$libname$release$shared_ext$major' # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' ;; esac shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='$libname$shared_ext' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[45]*) version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=.dll need_version=no need_lib_prefix=no case $GCC,$cc_basename in yes,*) # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ;; esac dynamic_linker='Win32 ld.exe' ;; *,cl* | *,icl*) # Native MSVC or ICC libname_spec='$name' soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' library_names_spec='$libname.dll.lib' case $build_os in mingw*) sys_lib_search_path_spec= lt_save_ifs=$IFS IFS=';' for lt_path in $LIB do IFS=$lt_save_ifs # Let DOS variable expansion print the short 8.3 style file name. lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" done IFS=$lt_save_ifs # Convert to MSYS style. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form # but this time dos style (no spaces!) so that the unix form looks # like /cygdrive/c/PROGRA~1:/cygdr... sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ;; *) sys_lib_search_path_spec=$LIB if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # FIXME: find the short name or the path components, as spaces are # common. (e.g. "Program Files" -> "PROGRA~1") ;; esac # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes dynamic_linker='Win32 link.exe' ;; *) # Assume MSVC and ICC wrapper library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' dynamic_linker='Win32 ld.exe' ;; esac # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' soname_spec='$libname$release$major$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd* | dragonfly* | midnightbsd*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[23].*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; haiku*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=no sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' if test 32 = "$HPUX_IA64_MODE"; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" sys_lib_dlsearch_path_spec=/usr/lib/hpux32 else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" sys_lib_dlsearch_path_spec=/usr/lib/hpux64 fi ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555, ... postinstall_cmds='chmod 555 $lib' # or fails outright, so override atomically: install_override_mode=555 ;; interix[3-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test yes = "$lt_cv_prog_gnu_ld"; then version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='$libname$release$shared_ext$major' library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; linux*android*) version_type=none # Android doesn't support versioned libraries. need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext' soname_spec='$libname$release$shared_ext' finish_cmds= shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes dynamic_linker='Android linker' # Don't embed -rpath directories since the linker doesn't support them. hardcode_libdir_flag_spec_CXX='-L$libdir' ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH if test ${lt_cv_shlibpath_overrides_runpath+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { ; return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO" then : if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null then : lt_cv_shlibpath_overrides_runpath=yes fi fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir ;; esac fi shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Ideally, we could use ldconfig to report *all* directores which are # searched for libraries, however this is still not possible. Aside from not # being certain /sbin/ldconfig is available, command # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, # even though it is searched at run-time. Try to do the best guess by # appending ld.so.conf contents (and includes) to the search path. if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsdelf*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='NetBSD ld.elf_so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd* | bitrig*) version_type=sunos sys_lib_dlsearch_path_spec=/usr/lib need_lib_prefix=no if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then need_version=no else need_version=yes fi library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; os2*) libname_spec='$name' version_type=windows shrext_cmds=.dll need_version=no need_lib_prefix=no # OS/2 can only load a DLL with a base name of 8 characters or less. soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; v=$($ECHO $release$versuffix | tr -d .-); n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); $ECHO $n$v`$shared_ext' library_names_spec='${libname}_dll.$libext' dynamic_linker='OS/2 ld.exe' shlibpath_var=BEGINLIBPATH sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='$libname$release$shared_ext$major' library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test yes = "$with_gnu_ld"; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec; then version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' soname_spec='$libname$shared_ext.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=sco need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test yes = "$with_gnu_ld"; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 printf "%s\n" "$dynamic_linker" >&6; } test no = "$dynamic_linker" && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test yes = "$GCC"; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec fi if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec fi # remember unaugmented sys_lib_dlsearch_path content for libtool script decls... configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" # to be used as default LT_SYS_LIBRARY_PATH value in generated libtool configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 printf %s "checking how to hardcode library paths into programs... " >&6; } hardcode_action_CXX= if test -n "$hardcode_libdir_flag_spec_CXX" || test -n "$runpath_var_CXX" || test yes = "$hardcode_automatic_CXX"; then # We can hardcode non-existent directories. if test no != "$hardcode_direct_CXX" && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" && test no != "$hardcode_minus_L_CXX"; then # Linking always hardcodes the temporary library directory. hardcode_action_CXX=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_CXX=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_CXX=unsupported fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 printf "%s\n" "$hardcode_action_CXX" >&6; } if test relink = "$hardcode_action_CXX" || test yes = "$inherit_rpath_CXX"; then # Fast installation is not supported enable_fast_install=no elif test yes = "$shlibpath_overrides_runpath" || test no = "$enable_shared"; then # Fast installation is not necessary enable_fast_install=needless fi fi # test -n "$compiler" CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS LDCXX=$LD LD=$lt_save_LD GCC=$lt_save_GCC with_gnu_ld=$lt_save_with_gnu_ld lt_cv_path_LDCXX=$lt_cv_path_LD lt_cv_path_LD=$lt_save_path_LD lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld fi # test yes != "$_lt_caught_CXX_error" 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 if test -z "$FC" || test no = "$FC"; then _lt_disable_FC=yes fi archive_cmds_need_lc_FC=no allow_undefined_flag_FC= always_export_symbols_FC=no archive_expsym_cmds_FC= export_dynamic_flag_spec_FC= hardcode_direct_FC=no hardcode_direct_absolute_FC=no hardcode_libdir_flag_spec_FC= hardcode_libdir_separator_FC= hardcode_minus_L_FC=no hardcode_automatic_FC=no inherit_rpath_FC=no module_cmds_FC= module_expsym_cmds_FC= link_all_deplibs_FC=unknown old_archive_cmds_FC=$old_archive_cmds reload_flag_FC=$reload_flag reload_cmds_FC=$reload_cmds no_undefined_flag_FC= whole_archive_flag_spec_FC= enable_shared_with_static_runtimes_FC=no # Source file extension for fc test sources. ac_ext=${ac_fc_srcext-f} # Object file extension for compiled fc test sources. objext=o objext_FC=$objext # No sense in running all these tests if we already determined that # the FC compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test yes != "$_lt_disable_FC"; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_GCC=$GCC lt_save_CFLAGS=$CFLAGS CC=${FC-"f95"} CFLAGS=$FCFLAGS compiler=$CC GCC=$ac_cv_fc_compiler_gnu compiler_FC=$CC func_cc_basename $compiler cc_basename=$func_cc_basename_result if test -n "$compiler"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 printf %s "checking if libtool supports shared libraries... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 printf "%s\n" "$can_build_shared" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 printf %s "checking whether to build shared libraries... " >&6; } test no = "$can_build_shared" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test yes = "$enable_shared" && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[4-9]*) if test ia64 != "$host_cpu"; then case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in yes,aix,yes) ;; # shared object as lib.so file only yes,svr4,*) ;; # shared object as lib.so archive member only yes,*) enable_static=no ;; # shared object in lib.a archive as well esac fi ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 printf "%s\n" "$enable_shared" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 printf %s "checking whether to build static libraries... " >&6; } # Make sure either enable_shared or enable_static is yes. test yes = "$enable_shared" || enable_static=yes { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 printf "%s\n" "$enable_static" >&6; } GCC_FC=$ac_cv_fc_compiler_gnu LD_FC=$LD ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... # Dependencies to place before and after the object being linked: predep_objects_FC= postdep_objects_FC= predeps_FC= postdeps_FC= compiler_lib_search_path_FC= cat > conftest.$ac_ext <<_LT_EOF subroutine foo implicit none integer a a=0 return end _LT_EOF _lt_libdeps_save_CFLAGS=$CFLAGS case "$CC $CFLAGS " in #( *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; *\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; esac if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # Parse the compiler output and extract the necessary # objects, libraries and library flags. # Sentinel used to keep track of whether or not we are before # the conftest object file. pre_test_object_deps_done=no for p in `eval "$output_verbose_link_cmd"`; do case $prev$p in -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. # Remove the space. if test x-L = "$p" || test x-R = "$p"; then prev=$p continue fi # Expand the sysroot to ease extracting the directories later. if test -z "$prev"; then case $p in -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; esac fi case $p in =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; esac if test no = "$pre_test_object_deps_done"; then case $prev in -L | -R) # Internal compiler library paths should come after those # provided the user. The postdeps already come after the # user supplied libs so there is no need to process them. if test -z "$compiler_lib_search_path_FC"; then compiler_lib_search_path_FC=$prev$p else compiler_lib_search_path_FC="${compiler_lib_search_path_FC} $prev$p" fi ;; # The "-l" case would never come before the object being # linked, so don't bother handling this case. esac else if test -z "$postdeps_FC"; then postdeps_FC=$prev$p else postdeps_FC="${postdeps_FC} $prev$p" fi fi prev= ;; *.lto.$objext) ;; # Ignore GCC LTO objects *.$objext) # This assumes that the test object file only shows up # once in the compiler output. if test "$p" = "conftest.$objext"; then pre_test_object_deps_done=yes continue fi if test no = "$pre_test_object_deps_done"; then if test -z "$predep_objects_FC"; then predep_objects_FC=$p else predep_objects_FC="$predep_objects_FC $p" fi else if test -z "$postdep_objects_FC"; then postdep_objects_FC=$p else postdep_objects_FC="$postdep_objects_FC $p" fi fi ;; *) ;; # Ignore the rest. esac done # Clean up. rm -f a.out a.exe else echo "libtool.m4: error: problem compiling FC test program" fi $RM -f confest.$objext CFLAGS=$_lt_libdeps_save_CFLAGS # PORTME: override above test on systems where it is broken case " $postdeps_FC " in *" -lc "*) archive_cmds_need_lc_FC=no ;; esac compiler_lib_search_dirs_FC= if test -n "${compiler_lib_search_path_FC}"; then compiler_lib_search_dirs_FC=`echo " ${compiler_lib_search_path_FC}" | $SED -e 's! -L! !g' -e 's!^ !!'` fi lt_prog_compiler_wl_FC= lt_prog_compiler_pic_FC= lt_prog_compiler_static_FC= if test yes = "$GCC"; then lt_prog_compiler_wl_FC='-Wl,' lt_prog_compiler_static_FC='-static' case $host_os in aix*) # All AIX code is PIC. if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_FC='-Bstatic' fi lt_prog_compiler_pic_FC='-fPIC' ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support lt_prog_compiler_pic_FC='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the '-m68020' flag to GCC prevents building anything better, # like '-m68040'. lt_prog_compiler_pic_FC='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic_FC='-DDLL_EXPORT' case $host_os in os2*) lt_prog_compiler_static_FC='$wl-static' ;; esac ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_FC='-fno-common' ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. lt_prog_compiler_static_FC= ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) # +Z the default ;; *) lt_prog_compiler_pic_FC='-fPIC' ;; esac ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared_FC=no enable_shared=no ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic_FC='-fPIC -shared' ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_FC=-Kconform_pic fi ;; *) lt_prog_compiler_pic_FC='-fPIC' ;; esac case $cc_basename in nvcc*) # Cuda Compiler Driver 2.2 lt_prog_compiler_wl_FC='-Xlinker ' if test -n "$lt_prog_compiler_pic_FC"; then lt_prog_compiler_pic_FC="-Xcompiler $lt_prog_compiler_pic_FC" fi ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl_FC='-Wl,' if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_FC='-Bstatic' else lt_prog_compiler_static_FC='-bnso -bI:/lib/syscalls.exp' fi ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_FC='-fno-common' case $cc_basename in nagfor*) # NAG Fortran compiler lt_prog_compiler_wl_FC='-Wl,-Wl,,' lt_prog_compiler_pic_FC='-PIC' lt_prog_compiler_static_FC='-Bstatic' ;; esac ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic_FC='-DDLL_EXPORT' case $host_os in os2*) lt_prog_compiler_static_FC='$wl-static' ;; esac ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl_FC='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic_FC='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static_FC='$wl-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl_FC='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static_FC='-non_shared' ;; linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in # old Intel for x86_64, which still supported -KPIC. ecc*) lt_prog_compiler_wl_FC='-Wl,' lt_prog_compiler_pic_FC='-KPIC' lt_prog_compiler_static_FC='-static' ;; # flang / f18. f95 an alias for gfortran or flang on Debian flang* | f18* | f95*) lt_prog_compiler_wl_FC='-Wl,' lt_prog_compiler_pic_FC='-fPIC' lt_prog_compiler_static_FC='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) lt_prog_compiler_wl_FC='-Wl,' lt_prog_compiler_pic_FC='-fPIC' lt_prog_compiler_static_FC='-static' ;; # Lahey Fortran 8.1. lf95*) lt_prog_compiler_wl_FC='-Wl,' lt_prog_compiler_pic_FC='--shared' lt_prog_compiler_static_FC='--static' ;; nagfor*) # NAG Fortran compiler lt_prog_compiler_wl_FC='-Wl,-Wl,,' lt_prog_compiler_pic_FC='-PIC' lt_prog_compiler_static_FC='-Bstatic' ;; tcc*) # Fabrice Bellard et al's Tiny C Compiler lt_prog_compiler_wl_FC='-Wl,' lt_prog_compiler_pic_FC='-fPIC' lt_prog_compiler_static_FC='-static' ;; pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl_FC='-Wl,' lt_prog_compiler_pic_FC='-fpic' lt_prog_compiler_static_FC='-Bstatic' ;; ccc*) lt_prog_compiler_wl_FC='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static_FC='-non_shared' ;; xl* | bgxl* | bgf* | mpixl*) # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene lt_prog_compiler_wl_FC='-Wl,' lt_prog_compiler_pic_FC='-qpic' lt_prog_compiler_static_FC='-qstaticlink' ;; *) case `$CC -V 2>&1 | $SED 5q` in *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic_FC='-KPIC' lt_prog_compiler_static_FC='-Bstatic' lt_prog_compiler_wl_FC='' ;; *Sun\ F* | *Sun*Fortran*) lt_prog_compiler_pic_FC='-KPIC' lt_prog_compiler_static_FC='-Bstatic' lt_prog_compiler_wl_FC='-Qoption ld ' ;; *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic_FC='-KPIC' lt_prog_compiler_static_FC='-Bstatic' lt_prog_compiler_wl_FC='-Wl,' ;; *Intel*\ [CF]*Compiler*) lt_prog_compiler_wl_FC='-Wl,' lt_prog_compiler_pic_FC='-fPIC' lt_prog_compiler_static_FC='-static' ;; *Portland\ Group*) lt_prog_compiler_wl_FC='-Wl,' lt_prog_compiler_pic_FC='-fpic' lt_prog_compiler_static_FC='-Bstatic' ;; esac ;; esac ;; newsos6) lt_prog_compiler_pic_FC='-KPIC' lt_prog_compiler_static_FC='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic_FC='-fPIC -shared' ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl_FC='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static_FC='-non_shared' ;; rdos*) lt_prog_compiler_static_FC='-non_shared' ;; solaris*) lt_prog_compiler_pic_FC='-KPIC' lt_prog_compiler_static_FC='-Bstatic' case $cc_basename in f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) lt_prog_compiler_wl_FC='-Qoption ld ';; *) lt_prog_compiler_wl_FC='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl_FC='-Qoption ld ' lt_prog_compiler_pic_FC='-PIC' lt_prog_compiler_static_FC='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl_FC='-Wl,' lt_prog_compiler_pic_FC='-KPIC' lt_prog_compiler_static_FC='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_FC='-Kconform_pic' lt_prog_compiler_static_FC='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl_FC='-Wl,' lt_prog_compiler_pic_FC='-KPIC' lt_prog_compiler_static_FC='-Bstatic' ;; unicos*) lt_prog_compiler_wl_FC='-Wl,' lt_prog_compiler_can_build_shared_FC=no ;; uts4*) lt_prog_compiler_pic_FC='-pic' lt_prog_compiler_static_FC='-Bstatic' ;; *) lt_prog_compiler_can_build_shared_FC=no ;; esac fi case $host_os in # For platforms that do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_FC= ;; *) lt_prog_compiler_pic_FC="$lt_prog_compiler_pic_FC@&t@" ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 printf %s "checking for $compiler option to produce PIC... " >&6; } if test ${lt_cv_prog_compiler_pic_FC+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) lt_cv_prog_compiler_pic_FC=$lt_prog_compiler_pic_FC ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_FC" >&5 printf "%s\n" "$lt_cv_prog_compiler_pic_FC" >&6; } lt_prog_compiler_pic_FC=$lt_cv_prog_compiler_pic_FC # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_FC"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_FC works" >&5 printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic_FC works... " >&6; } if test ${lt_cv_prog_compiler_pic_works_FC+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) lt_cv_prog_compiler_pic_works_FC=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_FC@&t@" ## exclude from sc_useless_quotes_in_assignment # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_pic_works_FC=yes fi fi $RM conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_FC" >&5 printf "%s\n" "$lt_cv_prog_compiler_pic_works_FC" >&6; } if test yes = "$lt_cv_prog_compiler_pic_works_FC"; then case $lt_prog_compiler_pic_FC in "" | " "*) ;; *) lt_prog_compiler_pic_FC=" $lt_prog_compiler_pic_FC" ;; esac else lt_prog_compiler_pic_FC= lt_prog_compiler_can_build_shared_FC=no fi fi # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_FC eval lt_tmp_static_flag=\"$lt_prog_compiler_static_FC\" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } if test ${lt_cv_prog_compiler_static_works_FC+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) lt_cv_prog_compiler_static_works_FC=no save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_static_works_FC=yes fi else lt_cv_prog_compiler_static_works_FC=yes fi fi $RM -r conftest* LDFLAGS=$save_LDFLAGS ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_FC" >&5 printf "%s\n" "$lt_cv_prog_compiler_static_works_FC" >&6; } if test yes = "$lt_cv_prog_compiler_static_works_FC"; then : else lt_prog_compiler_static_FC= fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if test ${lt_cv_prog_compiler_c_o_FC+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) lt_cv_prog_compiler_c_o_FC=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_FC=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_FC" >&5 printf "%s\n" "$lt_cv_prog_compiler_c_o_FC" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if test ${lt_cv_prog_compiler_c_o_FC+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) lt_cv_prog_compiler_c_o_FC=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_FC=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_FC" >&5 printf "%s\n" "$lt_cv_prog_compiler_c_o_FC" >&6; } hard_links=nottested if test no = "$lt_cv_prog_compiler_c_o_FC" && test no != "$need_locks"; then # do not overwrite the value of need_locks provided by the user { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 printf %s "checking if we can lock with hard links... " >&6; } hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 printf "%s\n" "$hard_links" >&6; } if test no = "$hard_links"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 printf "%s\n" "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } runpath_var= allow_undefined_flag_FC= always_export_symbols_FC=no archive_cmds_FC= archive_expsym_cmds_FC= compiler_needs_object_FC=no enable_shared_with_static_runtimes_FC=no export_dynamic_flag_spec_FC= export_symbols_cmds_FC='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' hardcode_automatic_FC=no hardcode_direct_FC=no hardcode_direct_absolute_FC=no hardcode_libdir_flag_spec_FC= hardcode_libdir_separator_FC= hardcode_minus_L_FC=no hardcode_shlibpath_var_FC=unsupported inherit_rpath_FC=no link_all_deplibs_FC=unknown module_cmds_FC= module_expsym_cmds_FC= old_archive_from_new_cmds_FC= old_archive_from_expsyms_cmds_FC= thread_safe_flag_spec_FC= whole_archive_flag_spec_FC= # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list include_expsyms_FC= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ' (' and ')$', so one must not match beginning or # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', # as well as any symbol that contains 'd'. exclude_expsyms_FC='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++ or Intel C++ Compiler. if test yes != "$GCC"; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) with_gnu_ld=yes ;; openbsd* | bitrig*) with_gnu_ld=no ;; linux* | k*bsd*-gnu | gnu*) link_all_deplibs_FC=no ;; esac ld_shlibs_FC=yes # On some targets, GNU ld is compatible enough with the native linker # that we're better off using the native interface for both. lt_use_gnu_ld_interface=no if test yes = "$with_gnu_ld"; then case $host_os in aix*) # The AIX port of GNU ld has always aspired to compatibility # with the native linker. However, as the warning in the GNU ld # block says, versions before 2.19.5* couldn't really create working # shared libraries, regardless of the interface used. case `$LD -v 2>&1` in *\ \(GNU\ Binutils\)\ 2.19.5*) ;; *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; *\ \(GNU\ Binutils\)\ [3-9]*) ;; *) lt_use_gnu_ld_interface=yes ;; esac ;; *) lt_use_gnu_ld_interface=yes ;; esac fi if test yes = "$lt_use_gnu_ld_interface"; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='$wl' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' export_dynamic_flag_spec_FC='$wl--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then whole_archive_flag_spec_FC=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' else whole_archive_flag_spec_FC= fi supports_anon_versioning=no case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[3-9]*) # On AIX/PPC, the GNU linker is very broken if test ia64 != "$host_cpu"; then ld_shlibs_FC=no cat <<_LT_EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.19, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to install binutils *** 2.20 or above, or modify your PATH so that a non-GNU linker is found. *** You will then need to restart the configuration process. _LT_EOF fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds_FC='' ;; m68k) archive_cmds_FC='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec_FC='-L$libdir' hardcode_minus_L_FC=yes ;; esac ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then allow_undefined_flag_FC=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds_FC='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' else ld_shlibs_FC=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, FC) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_FC='-L$libdir' export_dynamic_flag_spec_FC='$wl--export-all-symbols' allow_undefined_flag_FC=unsupported always_export_symbols_FC=no enable_shared_with_static_runtimes_FC=yes export_symbols_cmds_FC='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' exclude_expsyms_FC='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file, use it as # is; otherwise, prepend EXPORTS... archive_expsym_cmds_FC='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs_FC=no fi ;; haiku*) archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' link_all_deplibs_FC=yes ;; os2*) hardcode_libdir_flag_spec_FC='-L$libdir' hardcode_minus_L_FC=yes allow_undefined_flag_FC=unsupported shrext_cmds=.dll archive_cmds_FC='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' archive_expsym_cmds_FC='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ prefix_cmds="$SED"~ if test EXPORTS = "`$SED 1q $export_symbols`"; then prefix_cmds="$prefix_cmds -e 1d"; fi~ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' old_archive_From_new_cmds_FC='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' enable_shared_with_static_runtimes_FC=yes file_list_spec_FC='@' ;; interix[3-9]*) hardcode_direct_FC=no hardcode_shlibpath_var_FC=no hardcode_libdir_flag_spec_FC='$wl-rpath,$libdir' export_dynamic_flag_spec_FC='$wl-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds_FC='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) tmp_diet=no if test linux-dietlibc = "$host_os"; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test no = "$tmp_diet" then tmp_addflag=' $pic_flag' tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec_FC='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group f77 and f90 compilers whole_archive_flag_spec_FC='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; lf95*) # Lahey Fortran 8.1 whole_archive_flag_spec_FC= tmp_sharedflag='--shared' ;; nagfor*) # NAGFOR 5.3 tmp_sharedflag='-Wl,-shared' ;; xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; nvcc*) # Cuda Compiler Driver 2.2 whole_archive_flag_spec_FC='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' compiler_needs_object_FC=yes ;; esac case `$CC -V 2>&1 | $SED 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec_FC='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' compiler_needs_object_FC=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac archive_cmds_FC='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' if test yes = "$supports_anon_versioning"; then archive_expsym_cmds_FC='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi case $cc_basename in tcc*) hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' export_dynamic_flag_spec_FC='-rdynamic' ;; xlf* | bgf* | bgxlf* | mpixlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself whole_archive_flag_spec_FC='--whole-archive$convenience --no-whole-archive' hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' archive_cmds_FC='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test yes = "$supports_anon_versioning"; then archive_expsym_cmds_FC='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac else ld_shlibs_FC=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds_FC='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then ld_shlibs_FC=no cat <<_LT_EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_FC=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs_FC=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_FC=no fi ;; esac ;; sunos4*) archive_cmds_FC='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct_FC=yes hardcode_shlibpath_var_FC=no ;; *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_FC=no fi ;; esac if test no = "$ld_shlibs_FC"; then runpath_var= hardcode_libdir_flag_spec_FC= export_dynamic_flag_spec_FC= whole_archive_flag_spec_FC= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag_FC=unsupported always_export_symbols_FC=yes archive_expsym_cmds_FC='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L_FC=yes if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct_FC=unsupported fi ;; aix[4-9]*) if test ia64 = "$host_cpu"; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag= else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to GNU nm, but means don't demangle to AIX nm. # Without the "-l" option, or with the "-B" option, AIX nm treats # weak defined symbols like other global defined symbols, whereas # GNU nm marks them as "W". # While the 'weak' keyword is ignored in the Export File, we need # it in the Import File for the 'aix-soname' feature, so we have # to replace the "-B" option with "-P" for AIX nm. if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then export_symbols_cmds_FC='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else export_symbols_cmds_FC='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # have runtime linking enabled, and use it for executables. # For shared libraries, we enable/disable runtime linking # depending on the kind of the shared library created - # when "with_aix_soname,aix_use_runtimelinking" is: # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables # "aix,yes" lib.so shared, rtl:yes, for executables # lib.a static archive # "both,no" lib.so.V(shr.o) shared, rtl:yes # lib.a(lib.so.V) shared, rtl:no, for executables # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables # lib.a(lib.so.V) shared, rtl:no # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables # lib.a static archive case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then aix_use_runtimelinking=yes break fi done if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then # With aix-soname=svr4, we create the lib.so.V shared archives only, # so we don't have lib.a shared libs to link our executables. # We have to force runtime linking in this case. aix_use_runtimelinking=yes LDFLAGS="$LDFLAGS -Wl,-brtl" fi ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds_FC='' hardcode_direct_FC=yes hardcode_direct_absolute_FC=yes hardcode_libdir_separator_FC=':' link_all_deplibs_FC=yes file_list_spec_FC='$wl-f,' case $with_aix_soname,$aix_use_runtimelinking in aix,*) ;; # traditional, no import file svr4,* | *,yes) # use import file # The Import File defines what to hardcode. hardcode_direct_FC=no hardcode_direct_absolute_FC=no ;; esac if test yes = "$GCC"; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`$CC -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct_FC=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L_FC=yes hardcode_libdir_flag_spec_FC='-L$libdir' hardcode_libdir_separator_FC= fi ;; esac shared_flag='-shared' if test yes = "$aix_use_runtimelinking"; then shared_flag="$shared_flag "'$wl-G' fi # Need to ensure runtime linking is disabled for the traditional # shared library, or the linker may eventually find shared libraries # /with/ Import File - we do not want to mix them. shared_flag_aix='-shared' shared_flag_svr4='-shared $wl-G' else # not using gcc if test ia64 = "$host_cpu"; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test yes = "$aix_use_runtimelinking"; then shared_flag='$wl-G' else shared_flag='$wl-bM:SRE' fi shared_flag_aix='$wl-bM:SRE' shared_flag_svr4='$wl-G' fi fi export_dynamic_flag_spec_FC='$wl-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols_FC=yes if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag_FC='-berok' # Determine the default libpath from the value encoded in an # empty executable. if test set = "${lt_cv_aix_libpath+set}"; then aix_libpath=$lt_cv_aix_libpath else if test ${lt_cv_aix_libpath__FC+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) cat > conftest.$ac_ext <<_ACEOF program main end _ACEOF if ac_fn_fc_try_link "$LINENO" then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath__FC=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath__FC"; then lt_cv_aix_libpath__FC=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath__FC"; then lt_cv_aix_libpath__FC=/usr/lib:/lib fi ;; esac fi aix_libpath=$lt_cv_aix_libpath__FC fi hardcode_libdir_flag_spec_FC='$wl-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds_FC='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag else if test ia64 = "$host_cpu"; then hardcode_libdir_flag_spec_FC='$wl-R $libdir:/usr/lib:/lib' allow_undefined_flag_FC="-z nodefs" archive_expsym_cmds_FC="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. if test set = "${lt_cv_aix_libpath+set}"; then aix_libpath=$lt_cv_aix_libpath else if test ${lt_cv_aix_libpath__FC+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) cat > conftest.$ac_ext <<_ACEOF program main end _ACEOF if ac_fn_fc_try_link "$LINENO" then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath__FC=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath__FC"; then lt_cv_aix_libpath__FC=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath__FC"; then lt_cv_aix_libpath__FC=/usr/lib:/lib fi ;; esac fi aix_libpath=$lt_cv_aix_libpath__FC fi hardcode_libdir_flag_spec_FC='$wl-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. no_undefined_flag_FC=' $wl-bernotok' allow_undefined_flag_FC=' $wl-berok' if test yes = "$with_gnu_ld"; then # We only use this code for GNU lds that support --whole-archive. whole_archive_flag_spec_FC='$wl--whole-archive$convenience $wl--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_FC='$convenience' fi archive_cmds_need_lc_FC=yes archive_expsym_cmds_FC='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' # -brtl affects multiple linker settings, -berok does not and is overridden later compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' if test svr4 != "$with_aix_soname"; then # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds_FC="$archive_expsym_cmds_FC"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' fi if test aix != "$with_aix_soname"; then archive_expsym_cmds_FC="$archive_expsym_cmds_FC"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' else # used by -dlpreopen to get the symbols archive_expsym_cmds_FC="$archive_expsym_cmds_FC"'~$MV $output_objdir/$realname.d/$soname $output_objdir' fi archive_expsym_cmds_FC="$archive_expsym_cmds_FC"'~$RM -r $output_objdir/$realname.d' fi fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds_FC='' ;; m68k) archive_cmds_FC='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec_FC='-L$libdir' hardcode_minus_L_FC=yes ;; esac ;; bsdi[45]*) export_dynamic_flag_spec_FC=-rdynamic ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++ or Intel C++ Compiler. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in cl* | icl*) # Native MSVC or ICC hardcode_libdir_flag_spec_FC=' ' allow_undefined_flag_FC=unsupported always_export_symbols_FC=yes file_list_spec_FC='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. archive_cmds_FC='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' archive_expsym_cmds_FC='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then cp "$export_symbols" "$output_objdir/$soname.def"; echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; else $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, FC)='true' enable_shared_with_static_runtimes_FC=yes exclude_expsyms_FC='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' export_symbols_cmds_FC='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' # Don't use ranlib old_postinstall_cmds_FC='chmod 644 $oldlib' postlink_cmds_FC='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile=$lt_outputfile.exe lt_tool_outputfile=$lt_tool_outputfile.exe ;; esac~ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # Assume MSVC and ICC wrapper hardcode_libdir_flag_spec_FC=' ' allow_undefined_flag_FC=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. archive_cmds_FC='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_from_new_cmds_FC='true' # FIXME: Should let the user specify the lib program. old_archive_cmds_FC='lib -OUT:$oldlib$oldobjs$old_deplibs' enable_shared_with_static_runtimes_FC=yes ;; esac ;; darwin* | rhapsody*) archive_cmds_need_lc_FC=no hardcode_direct_FC=no hardcode_automatic_FC=yes hardcode_shlibpath_var_FC=unsupported if test yes = "$lt_cv_ld_force_load"; then whole_archive_flag_spec_FC='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' compiler_needs_object_FC=yes else whole_archive_flag_spec_FC='' fi link_all_deplibs_FC=yes allow_undefined_flag_FC=$_lt_dar_allow_undefined case $cc_basename in ifort*|nagfor*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test yes = "$_lt_dar_can_shared"; then output_verbose_link_cmd=func_echo_all archive_cmds_FC="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" module_cmds_FC="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" archive_expsym_cmds_FC="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" module_expsym_cmds_FC="$SED -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" else ld_shlibs_FC=no fi ;; dgux*) archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_FC='-L$libdir' hardcode_shlibpath_var_FC=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) archive_cmds_FC='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec_FC='-R$libdir' hardcode_direct_FC=yes hardcode_shlibpath_var_FC=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2.*) archive_cmds_FC='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_FC=yes hardcode_minus_L_FC=yes hardcode_shlibpath_var_FC=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly* | midnightbsd*) archive_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_FC='-R$libdir' hardcode_direct_FC=yes hardcode_shlibpath_var_FC=no ;; hpux9*) if test yes = "$GCC"; then archive_cmds_FC='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' else archive_cmds_FC='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' fi hardcode_libdir_flag_spec_FC='$wl+b $wl$libdir' hardcode_libdir_separator_FC=: hardcode_direct_FC=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_FC=yes export_dynamic_flag_spec_FC='$wl-E' ;; hpux10*) if test yes,no = "$GCC,$with_gnu_ld"; then archive_cmds_FC='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_FC='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test no = "$with_gnu_ld"; then hardcode_libdir_flag_spec_FC='$wl+b $wl$libdir' hardcode_libdir_separator_FC=: hardcode_direct_FC=yes hardcode_direct_absolute_FC=yes export_dynamic_flag_spec_FC='$wl-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_FC=yes fi ;; hpux11*) if test yes,no = "$GCC,$with_gnu_ld"; then case $host_cpu in hppa*64*) archive_cmds_FC='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_FC='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_FC='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds_FC='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_FC='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_FC='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test no = "$with_gnu_ld"; then hardcode_libdir_flag_spec_FC='$wl+b $wl$libdir' hardcode_libdir_separator_FC=: case $host_cpu in hppa*64*|ia64*) hardcode_direct_FC=no hardcode_shlibpath_var_FC=no ;; *) hardcode_direct_FC=yes hardcode_direct_absolute_FC=yes export_dynamic_flag_spec_FC='$wl-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_FC=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test yes = "$GCC"; then archive_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. # This should be the same for all languages, so no per-tag cache variable. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 printf %s "checking whether the $host_os linker accepts -exported_symbol... " >&6; } if test ${lt_cv_irix_exported_symbol+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" cat > conftest.$ac_ext <<_ACEOF subroutine foo end _ACEOF if ac_fn_fc_try_link "$LINENO" then : lt_cv_irix_exported_symbol=yes else case e in @%:@( e) lt_cv_irix_exported_symbol=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; } if test yes = "$lt_cv_irix_exported_symbol"; then archive_expsym_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' fi link_all_deplibs_FC=no else archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' archive_expsym_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' fi archive_cmds_need_lc_FC='no' hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' hardcode_libdir_separator_FC=: inherit_rpath_FC=yes link_all_deplibs_FC=yes ;; linux*) case $cc_basename in tcc*) # Fabrice Bellard et al's Tiny C Compiler ld_shlibs_FC=yes archive_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' ;; esac ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds_FC='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds_FC='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec_FC='-R$libdir' hardcode_direct_FC=yes hardcode_shlibpath_var_FC=no ;; newsos6) archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_FC=yes hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' hardcode_libdir_separator_FC=: hardcode_shlibpath_var_FC=no ;; *nto* | *qnx*) ;; openbsd* | bitrig*) if test -f /usr/libexec/ld.so; then hardcode_direct_FC=yes hardcode_shlibpath_var_FC=no hardcode_direct_absolute_FC=yes if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then archive_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec_FC='$wl-rpath,$libdir' export_dynamic_flag_spec_FC='$wl-E' else archive_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_FC='$wl-rpath,$libdir' fi else ld_shlibs_FC=no fi ;; os2*) hardcode_libdir_flag_spec_FC='-L$libdir' hardcode_minus_L_FC=yes allow_undefined_flag_FC=unsupported shrext_cmds=.dll archive_cmds_FC='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' archive_expsym_cmds_FC='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ prefix_cmds="$SED"~ if test EXPORTS = "`$SED 1q $export_symbols`"; then prefix_cmds="$prefix_cmds -e 1d"; fi~ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' old_archive_From_new_cmds_FC='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' enable_shared_with_static_runtimes_FC=yes file_list_spec_FC='@' ;; osf3*) if test yes = "$GCC"; then allow_undefined_flag_FC=' $wl-expect_unresolved $wl\*' archive_cmds_FC='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' else allow_undefined_flag_FC=' -expect_unresolved \*' archive_cmds_FC='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' fi archive_cmds_need_lc_FC='no' hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' hardcode_libdir_separator_FC=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test yes = "$GCC"; then allow_undefined_flag_FC=' $wl-expect_unresolved $wl\*' archive_cmds_FC='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' hardcode_libdir_flag_spec_FC='$wl-rpath $wl$libdir' else allow_undefined_flag_FC=' -expect_unresolved \*' archive_cmds_FC='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' archive_expsym_cmds_FC='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec_FC='-rpath $libdir' fi archive_cmds_need_lc_FC='no' hardcode_libdir_separator_FC=: ;; solaris*) no_undefined_flag_FC=' -z defs' if test yes = "$GCC"; then wlarc='$wl' archive_cmds_FC='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_FC='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' archive_cmds_FC='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds_FC='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) wlarc='$wl' archive_cmds_FC='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_FC='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi hardcode_libdir_flag_spec_FC='-R$libdir' hardcode_shlibpath_var_FC=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands '-z linker_flag'. GCC discards it without '$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test yes = "$GCC"; then whole_archive_flag_spec_FC='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' else whole_archive_flag_spec_FC='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs_FC=yes ;; sunos4*) if test sequent = "$host_vendor"; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. archive_cmds_FC='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_FC='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec_FC='-L$libdir' hardcode_direct_FC=yes hardcode_minus_L_FC=yes hardcode_shlibpath_var_FC=no ;; sysv4) case $host_vendor in sni) archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_FC=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds_FC='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds_FC='$CC -r -o $output$reload_objs' hardcode_direct_FC=no ;; motorola) archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_FC=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var_FC=no ;; sysv4.3*) archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_FC=no export_dynamic_flag_spec_FC='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_FC=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs_FC=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag_FC='$wl-z,text' archive_cmds_need_lc_FC=no hardcode_shlibpath_var_FC=no runpath_var='LD_RUN_PATH' if test yes = "$GCC"; then archive_cmds_FC='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_FC='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_FC='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_FC='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We CANNOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag_FC='$wl-z,text' allow_undefined_flag_FC='$wl-z,nodefs' archive_cmds_need_lc_FC=no hardcode_shlibpath_var_FC=no hardcode_libdir_flag_spec_FC='$wl-R,$libdir' hardcode_libdir_separator_FC=':' link_all_deplibs_FC=yes export_dynamic_flag_spec_FC='$wl-Bexport' runpath_var='LD_RUN_PATH' if test yes = "$GCC"; then archive_cmds_FC='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_FC='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_FC='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_FC='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_FC='-L$libdir' hardcode_shlibpath_var_FC=no ;; *) ld_shlibs_FC=no ;; esac if test sni = "$host_vendor"; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) export_dynamic_flag_spec_FC='$wl-Blargedynsym' ;; esac fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_FC" >&5 printf "%s\n" "$ld_shlibs_FC" >&6; } test no = "$ld_shlibs_FC" && can_build_shared=no with_gnu_ld_FC=$with_gnu_ld # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_FC" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_FC=yes if test yes,yes = "$GCC,$enable_shared"; then case $archive_cmds_FC in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 printf %s "checking whether -lc should be explicitly linked in... " >&6; } if test ${lt_cv_archive_cmds_need_lc_FC+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) $RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl_FC pic_flag=$lt_prog_compiler_pic_FC compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_FC allow_undefined_flag_FC= if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_FC 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 (eval $archive_cmds_FC 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then lt_cv_archive_cmds_need_lc_FC=no else lt_cv_archive_cmds_need_lc_FC=yes fi allow_undefined_flag_FC=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_FC" >&5 printf "%s\n" "$lt_cv_archive_cmds_need_lc_FC" >&6; } archive_cmds_need_lc_FC=$lt_cv_archive_cmds_need_lc_FC ;; esac fi ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 printf %s "checking dynamic linker characteristics... " >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=.so postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='$libname$release$shared_ext$major' ;; aix[4-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes if test ia64 = "$host_cpu"; then # AIX 5 supports IA64 library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line '#! .'. This would cause the generated library to # depend on '.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # Using Import Files as archive members, it is possible to support # filename-based versioning of shared library archives on AIX. While # this would work for both with and without runtime linking, it will # prevent static linking of such archives. So we do filename-based # shared library versioning with .so extension only, which is used # when both runtime linking and shared linking is enabled. # Unfortunately, runtime linking may impact performance, so we do # not want this to be the default eventually. Also, we use the # versioned .so libs for executables only if there is the -brtl # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. # To allow for filename-based versioning support, we need to create # libNAME.so.V as an archive file, containing: # *) an Import File, referring to the versioned filename of the # archive as well as the shared archive member, telling the # bitwidth (32 or 64) of that shared object, and providing the # list of exported symbols of that shared object, eventually # decorated with the 'weak' keyword # *) the shared object with the F_LOADONLY flag set, to really avoid # it being seen by the linker. # At run time we better use the real file rather than another symlink, # but for link time we create the symlink libNAME.so -> libNAME.so.V case $with_aix_soname,$aix_use_runtimelinking in # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. aix,yes) # traditional libtool dynamic_linker='AIX unversionable lib.so' # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ;; aix,no) # traditional AIX only dynamic_linker='AIX lib.a(lib.so.V)' # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='$libname$release.a $libname.a' soname_spec='$libname$release$shared_ext$major' ;; svr4,*) # full svr4 only dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' # We do not specify a path in Import Files, so LIBPATH fires. shlibpath_overrides_runpath=yes ;; *,yes) # both, prefer svr4 dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' # unpreferred sharedlib libNAME.a needs extra handling postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' # We do not specify a path in Import Files, so LIBPATH fires. shlibpath_overrides_runpath=yes ;; *,no) # both, prefer aix dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" library_names_spec='$libname$release.a $libname.a' soname_spec='$libname$release$shared_ext$major' # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' ;; esac shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='$libname$shared_ext' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[45]*) version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=.dll need_version=no need_lib_prefix=no case $GCC,$cc_basename in yes,*) # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ;; esac dynamic_linker='Win32 ld.exe' ;; *,cl* | *,icl*) # Native MSVC or ICC libname_spec='$name' soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' library_names_spec='$libname.dll.lib' case $build_os in mingw*) sys_lib_search_path_spec= lt_save_ifs=$IFS IFS=';' for lt_path in $LIB do IFS=$lt_save_ifs # Let DOS variable expansion print the short 8.3 style file name. lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" done IFS=$lt_save_ifs # Convert to MSYS style. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form # but this time dos style (no spaces!) so that the unix form looks # like /cygdrive/c/PROGRA~1:/cygdr... sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ;; *) sys_lib_search_path_spec=$LIB if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # FIXME: find the short name or the path components, as spaces are # common. (e.g. "Program Files" -> "PROGRA~1") ;; esac # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes dynamic_linker='Win32 link.exe' ;; *) # Assume MSVC and ICC wrapper library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' dynamic_linker='Win32 ld.exe' ;; esac # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' soname_spec='$libname$release$major$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd* | dragonfly* | midnightbsd*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[23].*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; haiku*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=no sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' if test 32 = "$HPUX_IA64_MODE"; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" sys_lib_dlsearch_path_spec=/usr/lib/hpux32 else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" sys_lib_dlsearch_path_spec=/usr/lib/hpux64 fi ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555, ... postinstall_cmds='chmod 555 $lib' # or fails outright, so override atomically: install_override_mode=555 ;; interix[3-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test yes = "$lt_cv_prog_gnu_ld"; then version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='$libname$release$shared_ext$major' library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; linux*android*) version_type=none # Android doesn't support versioned libraries. need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext' soname_spec='$libname$release$shared_ext' finish_cmds= shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes dynamic_linker='Android linker' # Don't embed -rpath directories since the linker doesn't support them. hardcode_libdir_flag_spec_FC='-L$libdir' ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH if test ${lt_cv_shlibpath_overrides_runpath+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_FC\"; \ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_FC\"" cat > conftest.$ac_ext <<_ACEOF program main end _ACEOF if ac_fn_fc_try_link "$LINENO" then : if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null then : lt_cv_shlibpath_overrides_runpath=yes fi fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir ;; esac fi shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Ideally, we could use ldconfig to report *all* directores which are # searched for libraries, however this is still not possible. Aside from not # being certain /sbin/ldconfig is available, command # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, # even though it is searched at run-time. Try to do the best guess by # appending ld.so.conf contents (and includes) to the search path. if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsdelf*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='NetBSD ld.elf_so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd* | bitrig*) version_type=sunos sys_lib_dlsearch_path_spec=/usr/lib need_lib_prefix=no if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then need_version=no else need_version=yes fi library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; os2*) libname_spec='$name' version_type=windows shrext_cmds=.dll need_version=no need_lib_prefix=no # OS/2 can only load a DLL with a base name of 8 characters or less. soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; v=$($ECHO $release$versuffix | tr -d .-); n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); $ECHO $n$v`$shared_ext' library_names_spec='${libname}_dll.$libext' dynamic_linker='OS/2 ld.exe' shlibpath_var=BEGINLIBPATH sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='$libname$release$shared_ext$major' library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test yes = "$with_gnu_ld"; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec; then version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' soname_spec='$libname$shared_ext.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=sco need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test yes = "$with_gnu_ld"; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 printf "%s\n" "$dynamic_linker" >&6; } test no = "$dynamic_linker" && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test yes = "$GCC"; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec fi if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec fi # remember unaugmented sys_lib_dlsearch_path content for libtool script decls... configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" # to be used as default LT_SYS_LIBRARY_PATH value in generated libtool configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 printf %s "checking how to hardcode library paths into programs... " >&6; } hardcode_action_FC= if test -n "$hardcode_libdir_flag_spec_FC" || test -n "$runpath_var_FC" || test yes = "$hardcode_automatic_FC"; then # We can hardcode non-existent directories. if test no != "$hardcode_direct_FC" && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, FC)" && test no != "$hardcode_minus_L_FC"; then # Linking always hardcodes the temporary library directory. hardcode_action_FC=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_FC=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_FC=unsupported fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_FC" >&5 printf "%s\n" "$hardcode_action_FC" >&6; } if test relink = "$hardcode_action_FC" || test yes = "$inherit_rpath_FC"; then # Fast installation is not supported enable_fast_install=no elif test yes = "$shlibpath_overrides_runpath" || test no = "$enable_shared"; then # Fast installation is not necessary enable_fast_install=needless fi fi # test -n "$compiler" GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS fi # test yes != "$_lt_disable_FC" 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_config_commands="$ac_config_commands libtool" # Only expand once: # What's the suffix of shared libraries? Inspired by generated # Libtool code (even though we don't support several of these # platforms, there didn't seem to be any harm in leaving in some of # them, alhtough I did remove some that we have never/will never # support, like OS/2). OPAL_DYN_LIB_PREFIX=lib case $host_os in cygwin*) OPAL_DYN_LIB_PREFIX=cyg OPAL_DYN_LIB_SUFFIX=dll ;; mingw* | pw32* | cegcc*) OPAL_DYN_LIB_SUFFIX=dll ;; darwin* | rhapsody*) OPAL_DYN_LIB_SUFFIX=dylib ;; hpux9* | hpux10* | hpux11*) case $host_cpu in ia64*) OPAL_DYN_LIB_SUFFIX=so ;; *) OPAL_DYN_LIB_SUFFIX=sl ;; esac ;; *) OPAL_DYN_LIB_SUFFIX=so ;; esac # Need the libtool executable before the rpathify stuff : ${CONFIG_LT=./config.lt} { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_LT" >&5 printf "%s\n" "$as_me: creating $CONFIG_LT" >&6;} as_write_fail=0 cat >"$CONFIG_LT" <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate a libtool stub with the current configuration. SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>"$CONFIG_LT" <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh 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 case e in @%:@( e) case `(set -o) 2>/dev/null` in @%:@( *posix*) : set -o posix ;; @%:@( *) : ;; esac ;; 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 @%:@ as_fn_error STATUS ERROR [LINENO LOG_FD] @%:@ ---------------------------------------- @%:@ Output "`basename @S|@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 @%:@ as_fn_set_status STATUS @%:@ ----------------------- @%:@ Set @S|@? to STATUS, without forking. as_fn_set_status () { return $1 } @%:@ as_fn_set_status @%:@ as_fn_exit STATUS @%:@ ----------------- @%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } @%:@ as_fn_exit @%:@ as_fn_unset VAR @%:@ --------------- @%:@ Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset @%:@ as_fn_append VAR VALUE @%:@ ---------------------- @%:@ Append the text in VALUE to the end of the definition contained in VAR. Take @%:@ advantage of any shell optimizations that allow amortized linear growth over @%:@ repeated appends, instead of the typical quadratic growth present in naive @%:@ implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null then : eval 'as_fn_append () { eval $1+=\$2 }' else case e in @%:@( e) as_fn_append () { eval $1=\$$1\$2 } ;; esac fi # as_fn_append @%:@ as_fn_arith ARG... @%:@ ------------------ @%:@ Perform arithmetic evaluation on the ARGs, and store the result in the @%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments @%:@ must be portable across @S|@(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null then : eval 'as_fn_arith () { as_val=$(( $* )) }' else case e in @%:@( e) as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } ;; esac fi # as_fn_arith 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 # 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_@&t@echo='printf %s\n' as_@&t@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 @%:@ as_fn_mkdir_p @%:@ ------------- @%:@ Create "@S|@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 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_fn_executable_p FILE @%:@ ----------------------- @%:@ Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } @%:@ as_fn_executable_p as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_sed_cpp="y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" as_tr_cpp="eval sed '$as_sed_cpp'" # deprecated # Sed expression to map a string onto a valid variable name. as_sed_sh="y%*+%pp%;s%[^_$as_cr_alnum]%_%g" as_tr_sh="eval sed '$as_sed_sh'" # deprecated exec 6>&1 ## --------------------------------- ## ## Main body of "$CONFIG_LT" script. ## ## --------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x "$CONFIG_LT" cat >>"$CONFIG_LT" <<\_LTEOF lt_cl_silent=false exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX @%:@@%:@ Running $as_me. @%:@@%:@ _ASBOX } >&5 lt_cl_help="\ '$as_me' creates a local libtool stub from the current configuration, for use in further configure time tests before the real libtool is generated. Usage: $0 [OPTIONS] -h, --help print this help, then exit -V, --version print version number, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files Report bugs to ." lt_cl_version="\ Open MPI config.lt 5.0.5 configured by $0, generated by GNU Autoconf 2.72. Copyright (C) 2011 Free Software Foundation, Inc. This config.lt script is free software; the Free Software Foundation gives unlimited permision to copy, distribute and modify it." while test 0 != $# do case $1 in --version | --v* | -V ) echo "$lt_cl_version"; exit 0 ;; --help | --h* | -h ) echo "$lt_cl_help"; exit 0 ;; --debug | --d* | -d ) debug=: ;; --quiet | --q* | --silent | --s* | -q ) lt_cl_silent=: ;; -*) as_fn_error $? "unrecognized option: $1 Try '$0 --help' for more information." "$LINENO" 5 ;; *) as_fn_error $? "unrecognized argument: $1 Try '$0 --help' for more information." "$LINENO" 5 ;; esac shift done if $lt_cl_silent; then exec 6>/dev/null fi _LTEOF cat >>"$CONFIG_LT" <<_LTEOF # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`' SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' FILECMD='`$ECHO "$FILECMD" | $SED "$delay_single_quote_subst"`' OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' lt_ar_flags='`$ECHO "$lt_ar_flags" | $SED "$delay_single_quote_subst"`' AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`' nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`' objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`' configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`' hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`' predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`' postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`' predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`' postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`' compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`' LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`' LD_FC='`$ECHO "$LD_FC" | $SED "$delay_single_quote_subst"`' reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`' reload_flag_FC='`$ECHO "$reload_flag_FC" | $SED "$delay_single_quote_subst"`' reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`' reload_cmds_FC='`$ECHO "$reload_cmds_FC" | $SED "$delay_single_quote_subst"`' old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' old_archive_cmds_FC='`$ECHO "$old_archive_cmds_FC" | $SED "$delay_single_quote_subst"`' compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`' compiler_FC='`$ECHO "$compiler_FC" | $SED "$delay_single_quote_subst"`' GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`' GCC_FC='`$ECHO "$GCC_FC" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_no_builtin_flag_FC='`$ECHO "$lt_prog_compiler_no_builtin_flag_FC" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_pic_FC='`$ECHO "$lt_prog_compiler_pic_FC" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_wl_FC='`$ECHO "$lt_prog_compiler_wl_FC" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_static_FC='`$ECHO "$lt_prog_compiler_static_FC" | $SED "$delay_single_quote_subst"`' lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`' lt_cv_prog_compiler_c_o_FC='`$ECHO "$lt_cv_prog_compiler_c_o_FC" | $SED "$delay_single_quote_subst"`' archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`' archive_cmds_need_lc_FC='`$ECHO "$archive_cmds_need_lc_FC" | $SED "$delay_single_quote_subst"`' enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`' enable_shared_with_static_runtimes_FC='`$ECHO "$enable_shared_with_static_runtimes_FC" | $SED "$delay_single_quote_subst"`' export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' export_dynamic_flag_spec_FC='`$ECHO "$export_dynamic_flag_spec_FC" | $SED "$delay_single_quote_subst"`' whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' whole_archive_flag_spec_FC='`$ECHO "$whole_archive_flag_spec_FC" | $SED "$delay_single_quote_subst"`' compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`' compiler_needs_object_FC='`$ECHO "$compiler_needs_object_FC" | $SED "$delay_single_quote_subst"`' old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`' old_archive_from_new_cmds_FC='`$ECHO "$old_archive_from_new_cmds_FC" | $SED "$delay_single_quote_subst"`' old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`' old_archive_from_expsyms_cmds_FC='`$ECHO "$old_archive_from_expsyms_cmds_FC" | $SED "$delay_single_quote_subst"`' archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' archive_cmds_FC='`$ECHO "$archive_cmds_FC" | $SED "$delay_single_quote_subst"`' archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' archive_expsym_cmds_FC='`$ECHO "$archive_expsym_cmds_FC" | $SED "$delay_single_quote_subst"`' module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`' module_cmds_FC='`$ECHO "$module_cmds_FC" | $SED "$delay_single_quote_subst"`' module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' module_expsym_cmds_FC='`$ECHO "$module_expsym_cmds_FC" | $SED "$delay_single_quote_subst"`' with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`' with_gnu_ld_FC='`$ECHO "$with_gnu_ld_FC" | $SED "$delay_single_quote_subst"`' allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' allow_undefined_flag_FC='`$ECHO "$allow_undefined_flag_FC" | $SED "$delay_single_quote_subst"`' no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' no_undefined_flag_FC='`$ECHO "$no_undefined_flag_FC" | $SED "$delay_single_quote_subst"`' hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' hardcode_libdir_flag_spec_FC='`$ECHO "$hardcode_libdir_flag_spec_FC" | $SED "$delay_single_quote_subst"`' hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`' hardcode_libdir_separator_FC='`$ECHO "$hardcode_libdir_separator_FC" | $SED "$delay_single_quote_subst"`' hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`' hardcode_direct_FC='`$ECHO "$hardcode_direct_FC" | $SED "$delay_single_quote_subst"`' hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`' hardcode_direct_absolute_FC='`$ECHO "$hardcode_direct_absolute_FC" | $SED "$delay_single_quote_subst"`' hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`' hardcode_minus_L_FC='`$ECHO "$hardcode_minus_L_FC" | $SED "$delay_single_quote_subst"`' hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`' hardcode_shlibpath_var_FC='`$ECHO "$hardcode_shlibpath_var_FC" | $SED "$delay_single_quote_subst"`' hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`' hardcode_automatic_FC='`$ECHO "$hardcode_automatic_FC" | $SED "$delay_single_quote_subst"`' inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`' inherit_rpath_FC='`$ECHO "$inherit_rpath_FC" | $SED "$delay_single_quote_subst"`' link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`' link_all_deplibs_FC='`$ECHO "$link_all_deplibs_FC" | $SED "$delay_single_quote_subst"`' always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`' always_export_symbols_FC='`$ECHO "$always_export_symbols_FC" | $SED "$delay_single_quote_subst"`' export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`' export_symbols_cmds_FC='`$ECHO "$export_symbols_cmds_FC" | $SED "$delay_single_quote_subst"`' exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`' exclude_expsyms_FC='`$ECHO "$exclude_expsyms_FC" | $SED "$delay_single_quote_subst"`' include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`' include_expsyms_FC='`$ECHO "$include_expsyms_FC" | $SED "$delay_single_quote_subst"`' prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`' prelink_cmds_FC='`$ECHO "$prelink_cmds_FC" | $SED "$delay_single_quote_subst"`' postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`' postlink_cmds_FC='`$ECHO "$postlink_cmds_FC" | $SED "$delay_single_quote_subst"`' file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`' file_list_spec_FC='`$ECHO "$file_list_spec_FC" | $SED "$delay_single_quote_subst"`' hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`' hardcode_action_FC='`$ECHO "$hardcode_action_FC" | $SED "$delay_single_quote_subst"`' compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`' compiler_lib_search_dirs_FC='`$ECHO "$compiler_lib_search_dirs_FC" | $SED "$delay_single_quote_subst"`' predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`' predep_objects_FC='`$ECHO "$predep_objects_FC" | $SED "$delay_single_quote_subst"`' postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`' postdep_objects_FC='`$ECHO "$postdep_objects_FC" | $SED "$delay_single_quote_subst"`' predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`' predeps_FC='`$ECHO "$predeps_FC" | $SED "$delay_single_quote_subst"`' postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`' postdeps_FC='`$ECHO "$postdeps_FC" | $SED "$delay_single_quote_subst"`' compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`' compiler_lib_search_path_FC='`$ECHO "$compiler_lib_search_path_FC" | $SED "$delay_single_quote_subst"`' LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF \$1 _LTECHO_EOF' } # Quote evaled strings. for var in NM \ SHELL \ ECHO \ PATH_SEPARATOR \ SED \ GREP \ EGREP \ FGREP \ LD \ LN_S \ lt_SP2NL \ lt_NL2SP \ reload_flag \ FILECMD \ OBJDUMP \ deplibs_check_method \ file_magic_cmd \ file_magic_glob \ want_nocaseglob \ DLLTOOL \ sharedlib_from_linklib_cmd \ AR \ archiver_list_spec \ STRIP \ RANLIB \ CC \ CFLAGS \ compiler \ lt_cv_sys_global_symbol_pipe \ lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_import \ lt_cv_sys_global_symbol_to_c_name_address \ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ lt_cv_nm_interface \ nm_file_list_spec \ lt_cv_truncate_bin \ lt_prog_compiler_no_builtin_flag \ lt_prog_compiler_pic \ lt_prog_compiler_wl \ lt_prog_compiler_static \ lt_cv_prog_compiler_c_o \ need_locks \ MANIFEST_TOOL \ DSYMUTIL \ NMEDIT \ LIPO \ OTOOL \ OTOOL64 \ shrext_cmds \ export_dynamic_flag_spec \ whole_archive_flag_spec \ compiler_needs_object \ with_gnu_ld \ allow_undefined_flag \ no_undefined_flag \ hardcode_libdir_flag_spec \ hardcode_libdir_separator \ exclude_expsyms \ include_expsyms \ file_list_spec \ variables_saved_for_relink \ libname_spec \ library_names_spec \ soname_spec \ install_override_mode \ finish_eval \ old_striplib \ striplib \ compiler_lib_search_dirs \ predep_objects \ postdep_objects \ predeps \ postdeps \ compiler_lib_search_path \ LD_CXX \ LD_FC \ reload_flag_CXX \ reload_flag_FC \ compiler_CXX \ compiler_FC \ lt_prog_compiler_no_builtin_flag_CXX \ lt_prog_compiler_no_builtin_flag_FC \ lt_prog_compiler_pic_CXX \ lt_prog_compiler_pic_FC \ lt_prog_compiler_wl_CXX \ lt_prog_compiler_wl_FC \ lt_prog_compiler_static_CXX \ lt_prog_compiler_static_FC \ lt_cv_prog_compiler_c_o_CXX \ lt_cv_prog_compiler_c_o_FC \ export_dynamic_flag_spec_CXX \ export_dynamic_flag_spec_FC \ whole_archive_flag_spec_CXX \ whole_archive_flag_spec_FC \ compiler_needs_object_CXX \ compiler_needs_object_FC \ with_gnu_ld_CXX \ with_gnu_ld_FC \ allow_undefined_flag_CXX \ allow_undefined_flag_FC \ no_undefined_flag_CXX \ no_undefined_flag_FC \ hardcode_libdir_flag_spec_CXX \ hardcode_libdir_flag_spec_FC \ hardcode_libdir_separator_CXX \ hardcode_libdir_separator_FC \ exclude_expsyms_CXX \ exclude_expsyms_FC \ include_expsyms_CXX \ include_expsyms_FC \ file_list_spec_CXX \ file_list_spec_FC \ compiler_lib_search_dirs_CXX \ compiler_lib_search_dirs_FC \ predep_objects_CXX \ predep_objects_FC \ postdep_objects_CXX \ postdep_objects_FC \ predeps_CXX \ predeps_FC \ postdeps_CXX \ postdeps_FC \ compiler_lib_search_path_CXX \ compiler_lib_search_path_FC; do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Double-quote double-evaled strings. for var in reload_cmds \ old_postinstall_cmds \ old_postuninstall_cmds \ old_archive_cmds \ extract_expsyms_cmds \ old_archive_from_new_cmds \ old_archive_from_expsyms_cmds \ archive_cmds \ archive_expsym_cmds \ module_cmds \ module_expsym_cmds \ export_symbols_cmds \ prelink_cmds \ postlink_cmds \ postinstall_cmds \ postuninstall_cmds \ finish_cmds \ sys_lib_search_path_spec \ configure_time_dlsearch_path \ configure_time_lt_sys_library_path \ reload_cmds_CXX \ reload_cmds_FC \ old_archive_cmds_CXX \ old_archive_cmds_FC \ old_archive_from_new_cmds_CXX \ old_archive_from_new_cmds_FC \ old_archive_from_expsyms_cmds_CXX \ old_archive_from_expsyms_cmds_FC \ archive_cmds_CXX \ archive_cmds_FC \ archive_expsym_cmds_CXX \ archive_expsym_cmds_FC \ module_cmds_CXX \ module_cmds_FC \ module_expsym_cmds_CXX \ module_expsym_cmds_FC \ export_symbols_cmds_CXX \ export_symbols_cmds_FC \ prelink_cmds_CXX \ prelink_cmds_FC \ postlink_cmds_CXX \ postlink_cmds_FC; do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done ac_aux_dir='$ac_aux_dir' # See if we are running on zsh, and set the options that allow our # commands through without removal of \ escapes INIT. if test -n "\${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi PACKAGE='$PACKAGE' VERSION='$VERSION' RM='$RM' ofile='$ofile' _LTEOF cat >>"$CONFIG_LT" <<\_LTEOF { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ofile" >&5 printf "%s\n" "$as_me: creating $ofile" >&6;} # See if we are running on zsh, and set the options that allow our # commands through without removal of \ escapes. if test -n "${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi cfgfile=${ofile}T trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # Generated automatically by $as_me ($PACKAGE) $VERSION # NOTE: Changes made to this file will be lost: look at ltmain.sh. # Provide generalized library-building support services. # Written by Gordon Matzigkeit, 1996 # Copyright (C) 2014 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # GNU Libtool is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of of the License, or # (at your option) any later version. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program or library that is built # using GNU Libtool, you may include this file under the same # distribution terms that you use for the rest of that program. # # GNU Libtool is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # The names of the tagged configurations supported by this script. available_tags='CXX FC ' # Configured defaults for sys_lib_dlsearch_path munging. : \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} # ### BEGIN LIBTOOL CONFIG # Whether or not to build shared libraries. build_libtool_libs=$enable_shared # Whether or not to build static libraries. build_old_libs=$enable_static # A BSD- or MS-compatible name lister. NM=$lt_NM # Which release of libtool.m4 was used? macro_version=$macro_version macro_revision=$macro_revision # What type of objects to build. pic_mode=$pic_mode # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # Shared archive member basename,for filename based shared library versioning on AIX. shared_archive_member_spec=$shared_archive_member_spec # Shell to use when invoking shell scripts. SHELL=$lt_SHELL # An echo program that protects backslashes. ECHO=$lt_ECHO # The PATH separator for the build system. PATH_SEPARATOR=$lt_PATH_SEPARATOR # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # A sed program that does not truncate output. SED=$lt_SED # Sed that helps us avoid accidentally triggering echo(1) options like -n. Xsed="\$SED -e 1s/^X//" # A grep program that handles long lines. GREP=$lt_GREP # An ERE matcher. EGREP=$lt_EGREP # A literal string matcher. FGREP=$lt_FGREP # Whether we need soft or hard links. LN_S=$lt_LN_S # What is the maximum length of a command? max_cmd_len=$max_cmd_len # Object file suffix (normally "o"). objext=$ac_objext # Executable file suffix (normally ""). exeext=$exeext # whether the shell understands "unset". lt_unset=$lt_unset # turn spaces into newlines. SP2NL=$lt_lt_SP2NL # turn newlines into spaces. NL2SP=$lt_lt_NL2SP # convert \$build file names to \$host format. to_host_file_cmd=$lt_cv_to_host_file_cmd # convert \$build files to toolchain format. to_tool_file_cmd=$lt_cv_to_tool_file_cmd # A file(cmd) program that detects file types. FILECMD=$lt_FILECMD # An object symbol dumper. OBJDUMP=$lt_OBJDUMP # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method # Command to use when deplibs_check_method = "file_magic". file_magic_cmd=$lt_file_magic_cmd # How to find potential files when deplibs_check_method = "file_magic". file_magic_glob=$lt_file_magic_glob # Find potential files using nocaseglob when deplibs_check_method = "file_magic". want_nocaseglob=$lt_want_nocaseglob # DLL creation program. DLLTOOL=$lt_DLLTOOL # Command to associate shared and link libraries. sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd # The archiver. AR=$lt_AR # Flags to create an archive (by configure). lt_ar_flags=$lt_ar_flags # Flags to create an archive. AR_FLAGS=\@S|@{ARFLAGS-"\@S|@lt_ar_flags"} # How to feed a file listing to the archiver. archiver_list_spec=$lt_archiver_list_spec # A symbol stripping program. STRIP=$lt_STRIP # Commands used to install an old-style archive. RANLIB=$lt_RANLIB old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds # Whether to use a lock for old archive extraction. lock_old_archive_extraction=$lock_old_archive_extraction # A C compiler. LTCC=$lt_CC # LTCC compiler flags. LTCFLAGS=$lt_CFLAGS # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe # Transform the output of nm in a proper C declaration. global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl # Transform the output of nm into a list of symbols to manually relocate. global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import # Transform the output of nm in a C name address pair. global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # Transform the output of nm in a C name address pair when lib prefix is needed. global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix # The name lister interface. nm_interface=$lt_lt_cv_nm_interface # Specify filename containing input files for \$NM. nm_file_list_spec=$lt_nm_file_list_spec # The root where to search for dependent libraries,and where our libraries should be installed. lt_sysroot=$lt_sysroot # Command to truncate a binary pipe. lt_truncate_bin=$lt_lt_cv_truncate_bin # The name of the directory that contains temporary libtool files. objdir=$objdir # Used to examine libraries when file_magic_cmd begins with "file". MAGIC_CMD=$MAGIC_CMD # Must we lock files when doing compilation? need_locks=$lt_need_locks # Manifest tool. MANIFEST_TOOL=$lt_MANIFEST_TOOL # Tool to manipulate archived DWARF debug symbol files on Mac OS X. DSYMUTIL=$lt_DSYMUTIL # Tool to change global to local symbols on Mac OS X. NMEDIT=$lt_NMEDIT # Tool to manipulate fat objects and archives on Mac OS X. LIPO=$lt_LIPO # ldd/readelf like tool for Mach-O binaries on Mac OS X. OTOOL=$lt_OTOOL # ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. OTOOL64=$lt_OTOOL64 # Old archive suffix (normally "a"). libext=$libext # Shared library suffix (normally ".so"). shrext_cmds=$lt_shrext_cmds # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds=$lt_extract_expsyms_cmds # Variables whose values should be saved in libtool wrapper scripts and # restored at link time. variables_saved_for_relink=$lt_variables_saved_for_relink # Do we need the "lib" prefix for modules? need_lib_prefix=$need_lib_prefix # Do we need a version for libraries? need_version=$need_version # Library versioning type. version_type=$version_type # Shared library runtime path variable. runpath_var=$runpath_var # Shared library path variable. shlibpath_var=$shlibpath_var # Is shlibpath searched before the hard-coded library search path? shlibpath_overrides_runpath=$shlibpath_overrides_runpath # Format of library name prefix. libname_spec=$lt_libname_spec # List of archive names. First name is the real one, the rest are links. # The last name is the one that the linker finds with -lNAME library_names_spec=$lt_library_names_spec # The coded name of the library, if different from the real name. soname_spec=$lt_soname_spec # Permission mode override for installation of shared libraries. install_override_mode=$lt_install_override_mode # Command to use after installation of a shared archive. postinstall_cmds=$lt_postinstall_cmds # Command to use after uninstallation of a shared archive. postuninstall_cmds=$lt_postuninstall_cmds # Commands used to finish a libtool library installation in a directory. finish_cmds=$lt_finish_cmds # As "finish_cmds", except a single script fragment to be evaled but # not shown. finish_eval=$lt_finish_eval # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # Compile-time system search path for libraries. sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Detected run-time system search path for libraries. sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path # Explicit LT_SYS_LIBRARY_PATH set during ./configure time. configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path # Whether dlopen is supported. dlopen_support=$enable_dlopen # Whether dlopen of programs is supported. dlopen_self=$enable_dlopen_self # Whether dlopen of statically linked programs is supported. dlopen_self_static=$enable_dlopen_self_static # Commands to strip libraries. old_striplib=$lt_old_striplib striplib=$lt_striplib # The linker used to build libraries. LD=$lt_LD # How to create reloadable object files. reload_flag=$lt_reload_flag reload_cmds=$lt_reload_cmds # Commands used to build an old-style archive. old_archive_cmds=$lt_old_archive_cmds # A language specific compiler. CC=$lt_compiler # Is the compiler the GNU compiler? with_gcc=$GCC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc # Whether or not to disallow shared libs when runtime libs are static. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec # Whether the compiler copes with passing no objects directly. compiler_needs_object=$lt_compiler_needs_object # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds # Commands used to build a shared archive. archive_cmds=$lt_archive_cmds archive_expsym_cmds=$lt_archive_expsym_cmds # Commands used to build a loadable module if different from building # a shared archive. module_cmds=$lt_module_cmds module_expsym_cmds=$lt_module_expsym_cmds # Whether we are building with GNU ld or not. with_gnu_ld=$lt_with_gnu_ld # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag # Flag that enforces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes # DIR into the resulting binary. hardcode_direct=$hardcode_direct # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes # DIR into the resulting binary and the resulting library dependency is # "absolute",i.e impossible to change by setting \$shlibpath_var if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute # Set to "yes" if using the -LDIR flag during linking hardcodes DIR # into the resulting binary. hardcode_minus_L=$hardcode_minus_L # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR # into the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var # Set to "yes" if building a shared library automatically hardcodes DIR # into the library and all subsequent libraries and executables linked # against it. hardcode_automatic=$hardcode_automatic # Set to yes if linker adds runtime paths of dependent libraries # to runtime path list. inherit_rpath=$inherit_rpath # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms # Symbols that must always be exported. include_expsyms=$lt_include_expsyms # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds # Commands necessary for finishing linking programs. postlink_cmds=$lt_postlink_cmds # Specify filename containing input files. file_list_spec=$lt_file_list_spec # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action # The directories searched by this compiler when creating a shared library. compiler_lib_search_dirs=$lt_compiler_lib_search_dirs # Dependencies to place before and after the objects being linked to # create a shared library. predep_objects=$lt_predep_objects postdep_objects=$lt_postdep_objects predeps=$lt_predeps postdeps=$lt_postdeps # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path # ### END LIBTOOL CONFIG _LT_EOF cat <<'_LT_EOF' >> "$cfgfile" # ### BEGIN FUNCTIONS SHARED WITH CONFIGURE # func_munge_path_list VARIABLE PATH # ----------------------------------- # VARIABLE is name of variable containing _space_ separated list of # directories to be munged by the contents of PATH, which is string # having a format: # "DIR[:DIR]:" # string "DIR[ DIR]" will be prepended to VARIABLE # ":DIR[:DIR]" # string "DIR[ DIR]" will be appended to VARIABLE # "DIRP[:DIRP]::[DIRA:]DIRA" # string "DIRP[ DIRP]" will be prepended to VARIABLE and string # "DIRA[ DIRA]" will be appended to VARIABLE # "DIR[:DIR]" # VARIABLE will be replaced by "DIR[ DIR]" func_munge_path_list () { case x@S|@2 in x) ;; *:) eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" ;; x:*) eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" ;; *::*) eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" ;; *) eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" ;; esac } # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. func_cc_basename () { for cc_temp in @S|@*""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` } # ### END FUNCTIONS SHARED WITH CONFIGURE _LT_EOF case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test set != "${COLLECT_NAMES+set}"; then COLLECT_NAMES= export COLLECT_NAMES fi _LT_EOF ;; esac ltmain=$ac_aux_dir/ltmain.sh # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? $SED '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" cat <<_LT_EOF >> "$ofile" # ### BEGIN LIBTOOL TAG CONFIG: CXX # The linker used to build libraries. LD=$lt_LD_CXX # How to create reloadable object files. reload_flag=$lt_reload_flag_CXX reload_cmds=$lt_reload_cmds_CXX # Commands used to build an old-style archive. old_archive_cmds=$lt_old_archive_cmds_CXX # A language specific compiler. CC=$lt_compiler_CXX # Is the compiler the GNU compiler? with_gcc=$GCC_CXX # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_CXX # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl_CXX # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static_CXX # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc_CXX # Whether or not to disallow shared libs when runtime libs are static. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX # Whether the compiler copes with passing no objects directly. compiler_needs_object=$lt_compiler_needs_object_CXX # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX # Commands used to build a shared archive. archive_cmds=$lt_archive_cmds_CXX archive_expsym_cmds=$lt_archive_expsym_cmds_CXX # Commands used to build a loadable module if different from building # a shared archive. module_cmds=$lt_module_cmds_CXX module_expsym_cmds=$lt_module_expsym_cmds_CXX # Whether we are building with GNU ld or not. with_gnu_ld=$lt_with_gnu_ld_CXX # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag_CXX # Flag that enforces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_CXX # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes # DIR into the resulting binary. hardcode_direct=$hardcode_direct_CXX # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes # DIR into the resulting binary and the resulting library dependency is # "absolute",i.e impossible to change by setting \$shlibpath_var if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute_CXX # Set to "yes" if using the -LDIR flag during linking hardcodes DIR # into the resulting binary. hardcode_minus_L=$hardcode_minus_L_CXX # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR # into the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX # Set to "yes" if building a shared library automatically hardcodes DIR # into the library and all subsequent libraries and executables linked # against it. hardcode_automatic=$hardcode_automatic_CXX # Set to yes if linker adds runtime paths of dependent libraries # to runtime path list. inherit_rpath=$inherit_rpath_CXX # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs_CXX # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols_CXX # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_CXX # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms_CXX # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_CXX # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds_CXX # Commands necessary for finishing linking programs. postlink_cmds=$lt_postlink_cmds_CXX # Specify filename containing input files. file_list_spec=$lt_file_list_spec_CXX # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action_CXX # The directories searched by this compiler when creating a shared library. compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX # Dependencies to place before and after the objects being linked to # create a shared library. predep_objects=$lt_predep_objects_CXX postdep_objects=$lt_postdep_objects_CXX predeps=$lt_predeps_CXX postdeps=$lt_postdeps_CXX # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_CXX # ### END LIBTOOL TAG CONFIG: CXX _LT_EOF cat <<_LT_EOF >> "$ofile" # ### BEGIN LIBTOOL TAG CONFIG: FC # The linker used to build libraries. LD=$lt_LD_FC # How to create reloadable object files. reload_flag=$lt_reload_flag_FC reload_cmds=$lt_reload_cmds_FC # Commands used to build an old-style archive. old_archive_cmds=$lt_old_archive_cmds_FC # A language specific compiler. CC=$lt_compiler_FC # Is the compiler the GNU compiler? with_gcc=$GCC_FC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_FC # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_FC # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl_FC # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static_FC # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o_FC # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc_FC # Whether or not to disallow shared libs when runtime libs are static. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_FC # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_FC # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_FC # Whether the compiler copes with passing no objects directly. compiler_needs_object=$lt_compiler_needs_object_FC # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_FC # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_FC # Commands used to build a shared archive. archive_cmds=$lt_archive_cmds_FC archive_expsym_cmds=$lt_archive_expsym_cmds_FC # Commands used to build a loadable module if different from building # a shared archive. module_cmds=$lt_module_cmds_FC module_expsym_cmds=$lt_module_expsym_cmds_FC # Whether we are building with GNU ld or not. with_gnu_ld=$lt_with_gnu_ld_FC # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag_FC # Flag that enforces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_FC # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_FC # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_FC # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes # DIR into the resulting binary. hardcode_direct=$hardcode_direct_FC # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes # DIR into the resulting binary and the resulting library dependency is # "absolute",i.e impossible to change by setting \$shlibpath_var if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute_FC # Set to "yes" if using the -LDIR flag during linking hardcodes DIR # into the resulting binary. hardcode_minus_L=$hardcode_minus_L_FC # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR # into the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_FC # Set to "yes" if building a shared library automatically hardcodes DIR # into the library and all subsequent libraries and executables linked # against it. hardcode_automatic=$hardcode_automatic_FC # Set to yes if linker adds runtime paths of dependent libraries # to runtime path list. inherit_rpath=$inherit_rpath_FC # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs_FC # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols_FC # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_FC # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms_FC # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_FC # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds_FC # Commands necessary for finishing linking programs. postlink_cmds=$lt_postlink_cmds_FC # Specify filename containing input files. file_list_spec=$lt_file_list_spec_FC # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action_FC # The directories searched by this compiler when creating a shared library. compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_FC # Dependencies to place before and after the objects being linked to # create a shared library. predep_objects=$lt_predep_objects_FC postdep_objects=$lt_postdep_objects_FC predeps=$lt_predeps_FC postdeps=$lt_postdeps_FC # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_FC # ### END LIBTOOL TAG CONFIG: FC _LT_EOF as_fn_exit 0 _LTEOF chmod +x "$CONFIG_LT" # configure is writing to config.log, but config.lt does its own redirection, # appending to config.log, which fails on DOS, as config.log is still kept # open by configure. Here we exec the FD to /dev/null, effectively closing # config.log, so it can be properly (re)opened and appended to by config.lt. lt_cl_success=: test yes = "$silent" && lt_config_lt_args="$lt_config_lt_args --quiet" exec 5>/dev/null $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false exec 5>>config.log $lt_cl_success || as_fn_exit 1 ############################################################################ # final compiler config ############################################################################ opal_show_subtitle "Compiler flags" # # This is needed for VPATH builds, so that it will -I the appropriate # include directory. We delayed doing it until now just so that # '-I$(top_srcdir)' doesn't show up in any of the configure output -- # purely aesthetic. # # Because opal_config.h and mpi.h are created by AC_CONFIG_HEADERS, we # don't need to -I the builddir for /include. If we VPATH # building, we do need to include the source directories, however. # if test "$OMPI_TOP_BUILDDIR" != "$OMPI_TOP_SRCDIR"; then # Note the embedded m4 directives here -- we must embed them # rather than have successive assignments to these shell # variables, lest the $(foo) names try to get evaluated here. # Yuck! cpp_includes='$(top_srcdir) $(top_builddir) $(top_srcdir)/opal/include $(top_srcdir)/ompi/include $(top_srcdir)/oshmem/include' else cpp_includes='$(top_srcdir)' fi CPP_INCLUDES="$(echo $cpp_includes | $SED 's/[^ \]* */'"$opal_cc_iquote"'&/g')" CXX_INCLUDES="$(echo $cpp_includes | $SED 's/[^ \]* */'"$opal_cxx_iquote"'&/g')" CPPFLAGS="$CPP_INCLUDES $CPPFLAGS" # C++ is only relevant if we're building OMPI CXXCPPFLAGS="$CXX_INCLUDES $CXXCPPFLAGS" # OMPI needs some additional processing of the flags (e.g., get # versions without optimization for debugger modules). # # Do a final process of the CFLAGS to make a WITHOUT_OPTFLAGS # version. We need this so that we can guarantee to build the # debugger-sensitive files with -g and nothing else. # # Process a set of flags and remove all debugging and optimization # flags s_arg="$CFLAGS" s_result= for s_word in $s_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 $s_word in -g) ;; -g@<:@1-3@:>@) ;; +K@<:@0-5@:>@) ;; -O) ;; -O@<:@0-9@:>@) ;; -xO) ;; -xO@<:@0-9@:>@) ;; -fast) ;; -finline-functions) ;; # The below Sun Studio flags require or # trigger -xO optimization -xvector*) ;; -xdepend=yes) ;; *) s_result="$s_result $s_word" esac done # Clean up unset s_word s_arg CFLAGS_WITHOUT_OPTFLAGS="$s_result" # Tweak the compiler flags passed to ompirun for Sun Studio SPARC # https://svn.open-mpi.org/trac/ompi/ticket/1448 if test "x$opal_cv_c_compiler_vendor" = "xsun" && test -n "`echo $host | $GREP sparc`"; then DEBUGGER_CFLAGS="-g -xO0" else # Tweak the compiler flags passed for intel # to stop its aggressive inlining of functions if test "x$opal_cv_c_compiler_vendor" = "xintel"; then DEBUGGER_CFLAGS="-g -O0" else DEBUGGER_CFLAGS="-g" fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which of CFLAGS are ok for debugger modules" >&5 printf %s "checking which of CFLAGS are ok for debugger modules... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CFLAGS_WITHOUT_OPTFLAGS" >&5 printf "%s\n" "$CFLAGS_WITHOUT_OPTFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for debugger extra CFLAGS" >&5 printf %s "checking for debugger extra CFLAGS... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DEBUGGER_CFLAGS" >&5 printf "%s\n" "$DEBUGGER_CFLAGS" >&6; } # Check for compiler specific flag to add in unwind information. # This is needed when attaching using MPIR to unwind back to the # user's main function. Certain optimisations can prevent GDB from # producing a stack when explicit unwind information is unavailable. # This is implied by -g, but we want to save space and don't need # full debug symbols. opal_var_scope_push ${LINENO} OMPI_SETUP_DEBUGGER_FLAGS_CFLAGS_save OMPI_SETUP_DEBUGGER_FLAGS_CFLAGS_save=$CFLAGS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if -fasynchronous-unwind-tables compiler flag works" >&5 printf %s "checking if -fasynchronous-unwind-tables compiler flag works... " >&6; } CFLAGS="$CFLAGS -fasynchronous-unwind-tables" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { int i = 3; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : OMPI_SETUP_DEBUGGER_FLAGS_HAPPY=yes else case e in @%:@( e) OMPI_SETUP_DEBUGGER_FLAGS_HAPPY=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OMPI_SETUP_DEBUGGER_FLAGS_HAPPY" >&5 printf "%s\n" "$OMPI_SETUP_DEBUGGER_FLAGS_HAPPY" >&6; } CFLAGS=$OMPI_SETUP_DEBUGGER_FLAGS_CFLAGS_save opal_var_scope_pop OMPI_SETUP_DEBUGGER_FLAGS_CFLAGS_save if test $OMPI_SETUP_DEBUGGER_FLAGS_HAPPY = yes then : MPIR_UNWIND_CFLAGS="-fasynchronous-unwind-tables" else case e in @%:@( e) opal_var_scope_push ${LINENO} OMPI_SETUP_DEBUGGER_FLAGS_CFLAGS_save OMPI_SETUP_DEBUGGER_FLAGS_CFLAGS_save=$CFLAGS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if -Meh_frame -Mframe compiler flag works" >&5 printf %s "checking if -Meh_frame -Mframe compiler flag works... " >&6; } CFLAGS="$CFLAGS -Meh_frame -Mframe" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { int i = 3; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : OMPI_SETUP_DEBUGGER_FLAGS_HAPPY=yes else case e in @%:@( e) OMPI_SETUP_DEBUGGER_FLAGS_HAPPY=no ;; esac fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OMPI_SETUP_DEBUGGER_FLAGS_HAPPY" >&5 printf "%s\n" "$OMPI_SETUP_DEBUGGER_FLAGS_HAPPY" >&6; } CFLAGS=$OMPI_SETUP_DEBUGGER_FLAGS_CFLAGS_save opal_var_scope_pop OMPI_SETUP_DEBUGGER_FLAGS_CFLAGS_save if test $OMPI_SETUP_DEBUGGER_FLAGS_HAPPY = yes then : MPIR_UNWIND_CFLAGS="-Meh_frame -Mframe" else case e in @%:@( e) MPIR_UNWIND_CFLAGS=-g ;; esac fi ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for final compiler unwind flags" >&5 printf %s "checking for final compiler unwind flags... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MPIR_UNWIND_CFLAGS" >&5 printf "%s\n" "$MPIR_UNWIND_CFLAGS" >&6; } # # Delayed the substitution of CFLAGS and friends until now because # they may have been modified throughout the course of this script. # # # Aggregate MCA parameters directory # AMCA_PARAM_SETS_DIR='$(opaldatadir)/amca-param-sets' ############################################################################ # final wrapper compiler config ############################################################################ opal_show_subtitle "Wrapper compiler final setup" # The OMPI wrapper scripts (i.e., not the C-compiled # executables) need perl. # 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_path_PERL+y} then : printf %s "(cached) " >&6 else case e in @%:@( e) case $PERL in [\\/]* | ?:[\\/]*) ac_cv_path_PERL="$PERL" # 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_PERL="$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 test -z "$ac_cv_path_PERL" && ac_cv_path_PERL="perl" ;; esac ;; esac fi PERL=$ac_cv_path_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 opal_var_scope_push ${LINENO} wrapper_tmp_arg wrapper_finalize_opal_libs wrapper_finalize_ompi_libs # Setup RPATH support, if desired WRAPPER_RPATH_SUPPORT=disabled if test "$enable_wrapper_rpath" = "yes" then : opal_var_scope_push ${LINENO} rpath_libdir_save { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if linker supports RPATH" >&5 printf %s "checking if linker supports RPATH... " >&6; } opal_var_scope_push ${LINENO} rpath_script rpath_outfile # Output goes into globally-visible variable. Run this in a # sub-process so that we don't pollute the current process # environment. rpath_script=conftest.$$.sh rpath_outfile=conftest.$$.out rm -f $rpath_script $rpath_outfile cat > $rpath_script < $rpath_outfile chmod +x $rpath_outfile . ./$rpath_outfile rm -f $rpath_outfile # Evaluate \$hardcode_libdir_flag_spec, and substitute in LIBDIR for \$libdir libdir=LIBDIR flags="\`eval echo \$hardcode_libdir_flag_spec\`" echo \$flags # Done exit 0 EOF chmod +x $rpath_script rpath_args=`./$rpath_script` rm -f $rpath_script opal_var_scope_pop rpath_script rpath_outfile if test -n "$rpath_args" then : WRAPPER_RPATH_SUPPORT=rpath opal_var_scope_push ${LINENO} rpath_script rpath_outfile # Output goes into globally-visible variable. Run this in a # sub-process so that we don't pollute the current process # environment. rpath_script=conftest.$$.sh rpath_outfile=conftest.$$.out rm -f $rpath_script $rpath_outfile cat > $rpath_script < $rpath_outfile chmod +x $rpath_outfile . ./$rpath_outfile rm -f $rpath_outfile # Evaluate \$hardcode_libdir_flag_spec, and substitute in LIBDIR for \$libdir libdir=LIBDIR flags="\`eval echo \$hardcode_libdir_flag_spec\`" echo \$flags # Done exit 0 EOF chmod +x $rpath_script rpath_fc_args=`./$rpath_script` rm -f $rpath_script opal_var_scope_pop rpath_script rpath_outfile { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes ($rpath_args + $rpath_fc_args)" >&5 printf "%s\n" "yes ($rpath_args + $rpath_fc_args)" >&6; } else case e in @%:@( e) WRAPPER_RPATH_SUPPORT=unnecessary { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes (no extra flags needed)" >&5 printf "%s\n" "yes (no extra flags needed)" >&6; } ;; esac fi opal_var_scope_pop rpath_libdir_save # If we found RPATH support, check for RUNPATH support, too if test "$WRAPPER_RPATH_SUPPORT" = "rpath" then : opal_var_scope_push ${LINENO} LDFLAGS_save wl_fc # Set the output in $runpath_args runpath_args= runpath_fc_args= LDFLAGS_save=$LDFLAGS LDFLAGS="$LDFLAGS -Wl,--enable-new-dtags" if test x"$enable_wrapper_runpath" = x"yes" then : ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if linker supports RUNPATH" >&5 printf %s "checking if linker supports RUNPATH... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main (void) { return 7; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : WRAPPER_RPATH_SUPPORT=runpath runpath_args="-Wl,--enable-new-dtags" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes (-Wl,--enable-new-dtags)" >&5 printf "%s\n" "yes (-Wl,--enable-new-dtags)" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac 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 opal_var_scope_push ${LINENO} rpath_script rpath_outfile # Output goes into globally-visible variable. Run this in a # sub-process so that we don't pollute the current process # environment. rpath_script=conftest.$$.sh rpath_outfile=conftest.$$.out rm -f $rpath_script $rpath_outfile cat > $rpath_script < $rpath_outfile chmod +x $rpath_outfile . ./$rpath_outfile rm -f $rpath_outfile # Evaluate \$wl, and substitute in LIBDIR for \$libdir flags="\`eval echo \$wl\`" echo \$flags # Done exit 0 EOF chmod +x $rpath_script wl_fc=`./$rpath_script` rm -f $rpath_script opal_var_scope_pop rpath_script rpath_outfile LDFLAGS="$LDFLAGS_save ${wl_fc}--enable-new-dtags" 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 if Fortran linker supports RUNPATH" >&5 printf %s "checking if Fortran linker supports RUNPATH... " >&6; } cat > conftest.$ac_ext <<_ACEOF program test end program _ACEOF if ac_fn_fc_try_link "$LINENO" then : runpath_fc_args="${wl_fc}--enable-new-dtags" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes (-Wl,--enable-new-dtags)" >&5 printf "%s\n" "yes (-Wl,--enable-new-dtags)" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac 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 fi LDFLAGS=$LDFLAGS_save opal_var_scope_pop LDFLAGS_save wl_fc fi fi if test "$enable_wrapper_rpath" = "yes" && test "$WRAPPER_RPATH_SUPPORT" = "disabled" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: RPATH support requested but not available" >&5 printf "%s\n" "$as_me: WARNING: RPATH support requested but not available" >&2;} as_fn_error $? "Cannot continue" "$LINENO" 5 fi printf "%s\n" "@%:@define WRAPPER_RPATH_SUPPORT \"$WRAPPER_RPATH_SUPPORT\"" >>confdefs.h # We now have all relevant flags. Substitute them in everywhere. wapper_tmp_arg="${LIBS}" oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in ${wrapper_extra_libs}; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${wrapper_tmp_arg} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${wrapper_tmp_arg}" then : wrapper_tmp_arg="${oac_list_arg}" else case e in @%:@( e) wrapper_tmp_arg="${wrapper_tmp_arg} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${wrapper_tmp_arg}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi wrapper_tmp_arg="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${wrapper_tmp_arg}" then : wrapper_tmp_arg="${oac_list_arg}" else case e in @%:@( e) wrapper_tmp_arg="${wrapper_tmp_arg} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable wrapper_extra_libs="${wrapper_tmp_arg}" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OPAL wrapper CPPFLAGS" >&5 printf %s "checking for OPAL wrapper CPPFLAGS... " >&6; } if test "$WANT_INSTALL_HEADERS" = "1" then : OPAL_WRAPPER_CPPFLAGS='-I${includedir} -I${includedir}/openmpi' else case e in @%:@( e) OPAL_WRAPPER_CPPFLAGS='-I${includedir}' ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $opal_mca_wrapper_extra_cppflags $wrapper_extra_cppflags $with_wrapper_cppflags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${OPAL_WRAPPER_CPPFLAGS}; 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 "${OPAL_WRAPPER_CPPFLAGS}" then : OPAL_WRAPPER_CPPFLAGS="$oac_list_arg" else case e in @%:@( e) OPAL_WRAPPER_CPPFLAGS="${OPAL_WRAPPER_CPPFLAGS} $oac_list_arg" ;; esac 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}: result: $OPAL_WRAPPER_CPPFLAGS" >&5 printf "%s\n" "$OPAL_WRAPPER_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OPAL wrapper CFLAGS" >&5 printf %s "checking for OPAL wrapper CFLAGS... " >&6; } OPAL_WRAPPER_CFLAGS="$wrapper_extra_cflags $with_wrapper_cflags" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OPAL_WRAPPER_CFLAGS" >&5 printf "%s\n" "$OPAL_WRAPPER_CFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OPAL wrapper CFLAGS_PREFIX" >&5 printf %s "checking for OPAL wrapper CFLAGS_PREFIX... " >&6; } OPAL_WRAPPER_CFLAGS_PREFIX="$with_wrapper_cflags_prefix" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OPAL_WRAPPER_CFLAGS_PREFIX" >&5 printf "%s\n" "$OPAL_WRAPPER_CFLAGS_PREFIX" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OPAL wrapper CXXFLAGS" >&5 printf %s "checking for OPAL wrapper CXXFLAGS... " >&6; } OPAL_WRAPPER_CXXFLAGS="$wrapper_extra_cxxflags $with_wrapper_cxxflags" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OPAL_WRAPPER_CXXFLAGS" >&5 printf "%s\n" "$OPAL_WRAPPER_CXXFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OPAL wrapper CXXFLAGS_PREFIX" >&5 printf %s "checking for OPAL wrapper CXXFLAGS_PREFIX... " >&6; } OPAL_WRAPPER_CXXFLAGS_PREFIX="$with_wrapper_cxxflags_prefix" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OPAL_WRAPPER_CXXFLAGS_PREFIX" >&5 printf "%s\n" "$OPAL_WRAPPER_CXXFLAGS_PREFIX" >&6; } wrapper_finalize_opal_libs="-l${OPAL_LIB_NAME}" OPAL_WRAPPER_LDFLAGS='-L${libdir}' OPAL_WRAPPER_LIBS="${wrapper_finalize_opal_libs}" OPAL_WRAPPER_LIBS_STATIC= OPAL_WRAPPER_LDFLAGS_STATIC= if test "${enable_shared}" != "no" -a "${enable_static}" != "yes" then : elif test "${enable_shared}" != "no" -a "${enable_static}" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${opal_mca_wrapper_extra_ldflags} ${wrapper_extra_ldflags}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${OPAL_WRAPPER_LDFLAGS_STATIC}; 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 "${OPAL_WRAPPER_LDFLAGS_STATIC}" then : OPAL_WRAPPER_LDFLAGS_STATIC="$oac_list_arg" else case e in @%:@( e) OPAL_WRAPPER_LDFLAGS_STATIC="${OPAL_WRAPPER_LDFLAGS_STATIC} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in ${opal_mca_wrapper_extra_libs} ${wrapper_extra_libs}; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${OPAL_WRAPPER_LIBS_STATIC} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${OPAL_WRAPPER_LIBS_STATIC}" then : OPAL_WRAPPER_LIBS_STATIC="${oac_list_arg}" else case e in @%:@( e) OPAL_WRAPPER_LIBS_STATIC="${OPAL_WRAPPER_LIBS_STATIC} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${OPAL_WRAPPER_LIBS_STATIC}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi OPAL_WRAPPER_LIBS_STATIC="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${OPAL_WRAPPER_LIBS_STATIC}" then : OPAL_WRAPPER_LIBS_STATIC="${oac_list_arg}" else case e in @%:@( e) OPAL_WRAPPER_LIBS_STATIC="${OPAL_WRAPPER_LIBS_STATIC} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${opal_mca_wrapper_extra_static_ldflags} ${wrapper_extra_static_ldflags}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${OPAL_WRAPPER_LDFLAGS_STATIC}; 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 "${OPAL_WRAPPER_LDFLAGS_STATIC}" then : OPAL_WRAPPER_LDFLAGS_STATIC="$oac_list_arg" else case e in @%:@( e) OPAL_WRAPPER_LDFLAGS_STATIC="${OPAL_WRAPPER_LDFLAGS_STATIC} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in ${opal_mca_wrapper_extra_static_libs} ${wrapper_extra_static_libs}; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${OPAL_WRAPPER_LIBS_STATIC} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${OPAL_WRAPPER_LIBS_STATIC}" then : OPAL_WRAPPER_LIBS_STATIC="${oac_list_arg}" else case e in @%:@( e) OPAL_WRAPPER_LIBS_STATIC="${OPAL_WRAPPER_LIBS_STATIC} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${OPAL_WRAPPER_LIBS_STATIC}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi OPAL_WRAPPER_LIBS_STATIC="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${OPAL_WRAPPER_LIBS_STATIC}" then : OPAL_WRAPPER_LIBS_STATIC="${oac_list_arg}" else case e in @%:@( e) OPAL_WRAPPER_LIBS_STATIC="${OPAL_WRAPPER_LIBS_STATIC} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable else case e in @%:@( e) oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${opal_mca_wrapper_extra_ldflags} ${wrapper_extra_ldflags}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${OPAL_WRAPPER_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 "${OPAL_WRAPPER_LDFLAGS}" then : OPAL_WRAPPER_LDFLAGS="$oac_list_arg" else case e in @%:@( e) OPAL_WRAPPER_LDFLAGS="${OPAL_WRAPPER_LDFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in ${opal_mca_wrapper_extra_libs} ${wrapper_extra_libs}; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${OPAL_WRAPPER_LIBS} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${OPAL_WRAPPER_LIBS}" then : OPAL_WRAPPER_LIBS="${oac_list_arg}" else case e in @%:@( e) OPAL_WRAPPER_LIBS="${OPAL_WRAPPER_LIBS} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${OPAL_WRAPPER_LIBS}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi OPAL_WRAPPER_LIBS="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${OPAL_WRAPPER_LIBS}" then : OPAL_WRAPPER_LIBS="${oac_list_arg}" else case e in @%:@( e) OPAL_WRAPPER_LIBS="${OPAL_WRAPPER_LIBS} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${opal_mca_wrapper_extra_static_ldflags} ${wrapper_extra_static_ldflags}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${OPAL_WRAPPER_LDFLAGS_STATIC}; 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 "${OPAL_WRAPPER_LDFLAGS_STATIC}" then : OPAL_WRAPPER_LDFLAGS_STATIC="$oac_list_arg" else case e in @%:@( e) OPAL_WRAPPER_LDFLAGS_STATIC="${OPAL_WRAPPER_LDFLAGS_STATIC} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in ${opal_mca_wrapper_extra_static_libs} ${wrapper_extra_static_libs}; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${OPAL_WRAPPER_LIBS_STATIC} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${OPAL_WRAPPER_LIBS_STATIC}" then : OPAL_WRAPPER_LIBS_STATIC="${oac_list_arg}" else case e in @%:@( e) OPAL_WRAPPER_LIBS_STATIC="${OPAL_WRAPPER_LIBS_STATIC} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${OPAL_WRAPPER_LIBS_STATIC}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi OPAL_WRAPPER_LIBS_STATIC="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${OPAL_WRAPPER_LIBS_STATIC}" then : OPAL_WRAPPER_LIBS_STATIC="${oac_list_arg}" else case e in @%:@( e) OPAL_WRAPPER_LIBS_STATIC="${OPAL_WRAPPER_LIBS_STATIC} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${with_wrapper_ldflags}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${OPAL_WRAPPER_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 "${OPAL_WRAPPER_LDFLAGS}" then : OPAL_WRAPPER_LDFLAGS="$oac_list_arg" else case e in @%:@( e) OPAL_WRAPPER_LDFLAGS="${OPAL_WRAPPER_LDFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in ${with_wrapper_libs}; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${OPAL_WRAPPER_LIBS} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${OPAL_WRAPPER_LIBS}" then : OPAL_WRAPPER_LIBS="${oac_list_arg}" else case e in @%:@( e) OPAL_WRAPPER_LIBS="${OPAL_WRAPPER_LIBS} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${OPAL_WRAPPER_LIBS}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi OPAL_WRAPPER_LIBS="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${OPAL_WRAPPER_LIBS}" then : OPAL_WRAPPER_LIBS="${oac_list_arg}" else case e in @%:@( e) OPAL_WRAPPER_LIBS="${OPAL_WRAPPER_LIBS} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable opal_var_scope_push ${LINENO} rpath_out rpath_dir rpath_tmp if test "$enable_wrapper_rpath" = "yes" && test "$WRAPPER_RPATH_SUPPORT" != "disabled" && test "$WRAPPER_RPATH_SUPPORT" != "unnecessary" then : rpath_out="" for val in ${OPAL_WRAPPER_LDFLAGS}; do case $val in -L*) rpath_dir=`echo $val | cut -c3-` rpath_tmp=`echo ${rpath_args} | sed -e s@LIBDIR@$rpath_dir@` rpath_out="$rpath_out $rpath_tmp" ;; esac done OPAL_WRAPPER_LDFLAGS="${OPAL_WRAPPER_LDFLAGS} $rpath_out" fi opal_var_scope_pop rpath_out rpath_dir rpath_tmp opal_var_scope_push ${LINENO} rpath_out rpath_dir rpath_tmp if test "$enable_wrapper_rpath" = "yes" && test "$WRAPPER_RPATH_SUPPORT" != "disabled" && test "$WRAPPER_RPATH_SUPPORT" != "unnecessary" then : rpath_out="" for val in ${OPAL_WRAPPER_LDFLAGS_STATIC}; do case $val in -L*) rpath_dir=`echo $val | cut -c3-` rpath_tmp=`echo ${rpath_args} | sed -e s@LIBDIR@$rpath_dir@` rpath_out="$rpath_out $rpath_tmp" ;; esac done OPAL_WRAPPER_LDFLAGS_STATIC="${OPAL_WRAPPER_LDFLAGS_STATIC} $rpath_out" fi opal_var_scope_pop rpath_out rpath_dir rpath_tmp oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${runpath_args}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${OPAL_WRAPPER_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 "${OPAL_WRAPPER_LDFLAGS}" then : OPAL_WRAPPER_LDFLAGS="$oac_list_arg" else case e in @%:@( e) OPAL_WRAPPER_LDFLAGS="${OPAL_WRAPPER_LDFLAGS} $oac_list_arg" ;; esac 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}: checking for OPAL wrapper LDFLAGS" >&5 printf %s "checking for OPAL wrapper LDFLAGS... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OPAL_WRAPPER_LDFLAGS" >&5 printf "%s\n" "$OPAL_WRAPPER_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OPAL wrapper static LDFLAGS" >&5 printf %s "checking for OPAL wrapper static LDFLAGS... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OPAL_WRAPPER_LDFLAGS_STATIC" >&5 printf "%s\n" "$OPAL_WRAPPER_LDFLAGS_STATIC" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OPAL wrapper LIBS" >&5 printf %s "checking for OPAL wrapper LIBS... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OPAL_WRAPPER_LIBS" >&5 printf "%s\n" "$OPAL_WRAPPER_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OPAL wrapper static LIBS" >&5 printf %s "checking for OPAL wrapper static LIBS... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OPAL_WRAPPER_LIBS_STATIC" >&5 printf "%s\n" "$OPAL_WRAPPER_LIBS_STATIC" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OMPI wrapper CPPFLAGS" >&5 printf %s "checking for OMPI wrapper CPPFLAGS... " >&6; } if test "$WANT_INSTALL_HEADERS" = "1" then : OMPI_WRAPPER_CPPFLAGS='-I${includedir} -I${includedir}/openmpi' else case e in @%:@( e) OMPI_WRAPPER_CPPFLAGS='-I${includedir}' ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $ompi_mca_wrapper_extra_cppflags $wrapper_extra_cppflags $with_wrapper_cppflags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${OMPI_WRAPPER_CPPFLAGS}; 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 "${OMPI_WRAPPER_CPPFLAGS}" then : OMPI_WRAPPER_CPPFLAGS="$oac_list_arg" else case e in @%:@( e) OMPI_WRAPPER_CPPFLAGS="${OMPI_WRAPPER_CPPFLAGS} $oac_list_arg" ;; esac 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}: result: $OMPI_WRAPPER_CPPFLAGS" >&5 printf "%s\n" "$OMPI_WRAPPER_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OMPI wrapper CFLAGS" >&5 printf %s "checking for OMPI wrapper CFLAGS... " >&6; } OMPI_WRAPPER_CFLAGS="$wrapper_extra_cflags $with_wrapper_cflags" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OMPI_WRAPPER_CFLAGS" >&5 printf "%s\n" "$OMPI_WRAPPER_CFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OMPI wrapper CFLAGS_PREFIX" >&5 printf %s "checking for OMPI wrapper CFLAGS_PREFIX... " >&6; } OMPI_WRAPPER_CFLAGS_PREFIX="$with_wrapper_cflags_prefix" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OMPI_WRAPPER_CFLAGS_PREFIX" >&5 printf "%s\n" "$OMPI_WRAPPER_CFLAGS_PREFIX" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OMPI wrapper CXXFLAGS" >&5 printf %s "checking for OMPI wrapper CXXFLAGS... " >&6; } OMPI_WRAPPER_CXXFLAGS="$wrapper_extra_cxxflags $with_wrapper_cxxflags" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OMPI_WRAPPER_CXXFLAGS" >&5 printf "%s\n" "$OMPI_WRAPPER_CXXFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OMPI wrapper CXXFLAGS_PREFIX" >&5 printf %s "checking for OMPI wrapper CXXFLAGS_PREFIX... " >&6; } OMPI_WRAPPER_CXXFLAGS_PREFIX="$with_wrapper_cxxflags_prefix" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OMPI_WRAPPER_CXXFLAGS_PREFIX" >&5 printf "%s\n" "$OMPI_WRAPPER_CXXFLAGS_PREFIX" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OMPI wrapper FCFLAGS" >&5 printf %s "checking for OMPI wrapper FCFLAGS... " >&6; } OMPI_WRAPPER_FCFLAGS='-I${includedir}'" ${wrapper_extra_fcflags} ${with_wrapper_fcflags}" if test -n "${OMPI_FC_MODULE_FLAG}" then : wrapper_tmp_arg="${OMPI_FC_MODULE_FLAG}${OMPI_FORTRAN_MODULEDIR}" if test -z "${OMPI_WRAPPER_FCFLAGS}" then : OMPI_WRAPPER_FCFLAGS="${wrapper_tmp_arg}" else case e in @%:@( e) OMPI_WRAPPER_FCFLAGS="${OMPI_WRAPPER_FCFLAGS} ${wrapper_tmp_arg}" ;; esac fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OMPI_WRAPPER_EXTRA_FCFLAGS" >&5 printf "%s\n" "$OMPI_WRAPPER_EXTRA_FCFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OMPI wrapper FCFLAGS_PREFIX" >&5 printf %s "checking for OMPI wrapper FCFLAGS_PREFIX... " >&6; } OMPI_WRAPPER_FCFLAGS_PREFIX="$with_wrapper_fcflags_prefix" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OMPI_WRAPPER_FCFLAGS_PREFIX" >&5 printf "%s\n" "$OMPI_WRAPPER_FCFLAGS_PREFIX" >&6; } wrapper_finalize_ompi_libs="-l${OMPI_LIBMPI_NAME}" OMPI_WRAPPER_LDFLAGS='-L${libdir}' OMPI_WRAPPER_LIBS="${wrapper_finalize_ompi_libs}" OMPI_WRAPPER_LIBS_STATIC= OMPI_WRAPPER_LDFLAGS_STATIC= if test "${enable_shared}" != "no" -a "${enable_static}" != "yes" then : elif test "${enable_shared}" != "no" -a "${enable_static}" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${ompi_mca_wrapper_extra_ldflags} ${wrapper_extra_ldflags}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${OMPI_WRAPPER_LDFLAGS_STATIC}; 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 "${OMPI_WRAPPER_LDFLAGS_STATIC}" then : OMPI_WRAPPER_LDFLAGS_STATIC="$oac_list_arg" else case e in @%:@( e) OMPI_WRAPPER_LDFLAGS_STATIC="${OMPI_WRAPPER_LDFLAGS_STATIC} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in ${wrapper_finalize_opal_libs} ${ompi_mca_wrapper_extra_libs} ${wrapper_extra_libs}; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${OMPI_WRAPPER_LIBS_STATIC} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${OMPI_WRAPPER_LIBS_STATIC}" then : OMPI_WRAPPER_LIBS_STATIC="${oac_list_arg}" else case e in @%:@( e) OMPI_WRAPPER_LIBS_STATIC="${OMPI_WRAPPER_LIBS_STATIC} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${OMPI_WRAPPER_LIBS_STATIC}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi OMPI_WRAPPER_LIBS_STATIC="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${OMPI_WRAPPER_LIBS_STATIC}" then : OMPI_WRAPPER_LIBS_STATIC="${oac_list_arg}" else case e in @%:@( e) OMPI_WRAPPER_LIBS_STATIC="${OMPI_WRAPPER_LIBS_STATIC} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${ompi_mca_wrapper_extra_static_ldflags} ${wrapper_extra_static_ldflags}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${OMPI_WRAPPER_LDFLAGS_STATIC}; 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 "${OMPI_WRAPPER_LDFLAGS_STATIC}" then : OMPI_WRAPPER_LDFLAGS_STATIC="$oac_list_arg" else case e in @%:@( e) OMPI_WRAPPER_LDFLAGS_STATIC="${OMPI_WRAPPER_LDFLAGS_STATIC} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in ${ompi_mca_wrapper_extra_static_libs} ${wrapper_extra_static_libs}; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${OMPI_WRAPPER_LIBS_STATIC} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${OMPI_WRAPPER_LIBS_STATIC}" then : OMPI_WRAPPER_LIBS_STATIC="${oac_list_arg}" else case e in @%:@( e) OMPI_WRAPPER_LIBS_STATIC="${OMPI_WRAPPER_LIBS_STATIC} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${OMPI_WRAPPER_LIBS_STATIC}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi OMPI_WRAPPER_LIBS_STATIC="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${OMPI_WRAPPER_LIBS_STATIC}" then : OMPI_WRAPPER_LIBS_STATIC="${oac_list_arg}" else case e in @%:@( e) OMPI_WRAPPER_LIBS_STATIC="${OMPI_WRAPPER_LIBS_STATIC} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable else case e in @%:@( e) oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${ompi_mca_wrapper_extra_ldflags} ${wrapper_extra_ldflags}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${OMPI_WRAPPER_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 "${OMPI_WRAPPER_LDFLAGS}" then : OMPI_WRAPPER_LDFLAGS="$oac_list_arg" else case e in @%:@( e) OMPI_WRAPPER_LDFLAGS="${OMPI_WRAPPER_LDFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in ${wrapper_finalize_opal_libs} ${ompi_mca_wrapper_extra_libs} ${wrapper_extra_libs}; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${OMPI_WRAPPER_LIBS} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${OMPI_WRAPPER_LIBS}" then : OMPI_WRAPPER_LIBS="${oac_list_arg}" else case e in @%:@( e) OMPI_WRAPPER_LIBS="${OMPI_WRAPPER_LIBS} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${OMPI_WRAPPER_LIBS}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi OMPI_WRAPPER_LIBS="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${OMPI_WRAPPER_LIBS}" then : OMPI_WRAPPER_LIBS="${oac_list_arg}" else case e in @%:@( e) OMPI_WRAPPER_LIBS="${OMPI_WRAPPER_LIBS} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${ompi_mca_wrapper_extra_static_ldflags} ${wrapper_extra_static_ldflags}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${OMPI_WRAPPER_LDFLAGS_STATIC}; 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 "${OMPI_WRAPPER_LDFLAGS_STATIC}" then : OMPI_WRAPPER_LDFLAGS_STATIC="$oac_list_arg" else case e in @%:@( e) OMPI_WRAPPER_LDFLAGS_STATIC="${OMPI_WRAPPER_LDFLAGS_STATIC} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in ${ompi_mca_wrapper_extra_static_libs} ${wrapper_extra_static_libs}; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${OMPI_WRAPPER_LIBS_STATIC} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${OMPI_WRAPPER_LIBS_STATIC}" then : OMPI_WRAPPER_LIBS_STATIC="${oac_list_arg}" else case e in @%:@( e) OMPI_WRAPPER_LIBS_STATIC="${OMPI_WRAPPER_LIBS_STATIC} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${OMPI_WRAPPER_LIBS_STATIC}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi OMPI_WRAPPER_LIBS_STATIC="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${OMPI_WRAPPER_LIBS_STATIC}" then : OMPI_WRAPPER_LIBS_STATIC="${oac_list_arg}" else case e in @%:@( e) OMPI_WRAPPER_LIBS_STATIC="${OMPI_WRAPPER_LIBS_STATIC} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${with_wrapper_ldflags}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${OMPI_WRAPPER_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 "${OMPI_WRAPPER_LDFLAGS}" then : OMPI_WRAPPER_LDFLAGS="$oac_list_arg" else case e in @%:@( e) OMPI_WRAPPER_LDFLAGS="${OMPI_WRAPPER_LDFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in ${with_wrapper_libs}; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${OMPI_WRAPPER_LIBS} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${OMPI_WRAPPER_LIBS}" then : OMPI_WRAPPER_LIBS="${oac_list_arg}" else case e in @%:@( e) OMPI_WRAPPER_LIBS="${OMPI_WRAPPER_LIBS} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${OMPI_WRAPPER_LIBS}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi OMPI_WRAPPER_LIBS="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${OMPI_WRAPPER_LIBS}" then : OMPI_WRAPPER_LIBS="${oac_list_arg}" else case e in @%:@( e) OMPI_WRAPPER_LIBS="${OMPI_WRAPPER_LIBS} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable OMPI_WRAPPER_FC_LIBS="${OMPI_FORTRAN_USEMPIF08_LIB} ${OMPI_FORTRAN_USEMPI_LIB} ${OMPI_FORTRAN_MPIFH_LINK} ${OMPI_WRAPPER_LIBS}" OMPI_WRAPPER_FC_LIBS_STATIC=${OMPI_WRAPPER_LIBS_STATIC} OMPI_WRAPPER_FC_LDFLAGS=$OMPI_WRAPPER_LDFLAGS OMPI_WRAPPER_FC_LDFLAGS_STATIC=$OMPI_WRAPPER_LDFLAGS opal_var_scope_push ${LINENO} rpath_out rpath_dir rpath_tmp if test "$enable_wrapper_rpath" = "yes" && test "$WRAPPER_RPATH_SUPPORT" != "disabled" && test "$WRAPPER_RPATH_SUPPORT" != "unnecessary" then : rpath_out="" for val in ${OMPI_WRAPPER_LDFLAGS}; do case $val in -L*) rpath_dir=`echo $val | cut -c3-` rpath_tmp=`echo ${rpath_args} | sed -e s@LIBDIR@$rpath_dir@` rpath_out="$rpath_out $rpath_tmp" ;; esac done OMPI_WRAPPER_LDFLAGS="${OMPI_WRAPPER_LDFLAGS} $rpath_out" fi opal_var_scope_pop rpath_out rpath_dir rpath_tmp opal_var_scope_push ${LINENO} rpath_out rpath_dir rpath_tmp if test "$enable_wrapper_rpath" = "yes" && test "$WRAPPER_RPATH_SUPPORT" != "disabled" && test "$WRAPPER_RPATH_SUPPORT" != "unnecessary" then : rpath_out="" for val in ${OMPI_WRAPPER_LDFLAGS_STATIC}; do case $val in -L*) rpath_dir=`echo $val | cut -c3-` rpath_tmp=`echo ${rpath_args} | sed -e s@LIBDIR@$rpath_dir@` rpath_out="$rpath_out $rpath_tmp" ;; esac done OMPI_WRAPPER_LDFLAGS_STATIC="${OMPI_WRAPPER_LDFLAGS_STATIC} $rpath_out" fi opal_var_scope_pop rpath_out rpath_dir rpath_tmp opal_var_scope_push ${LINENO} rpath_out rpath_dir rpath_tmp if test "$enable_wrapper_rpath" = "yes" && test "$WRAPPER_RPATH_SUPPORT" != "disabled" && test "$WRAPPER_RPATH_SUPPORT" != "unnecessary" then : rpath_out="" for val in ${OMPI_WRAPPER_FC_LDFLAGS}; do case $val in -L*) rpath_dir=`echo $val | cut -c3-` rpath_tmp=`echo ${rpath_fc_args} | sed -e s@LIBDIR@$rpath_dir@` rpath_out="$rpath_out $rpath_tmp" ;; esac done OMPI_WRAPPER_FC_LDFLAGS="${OMPI_WRAPPER_FC_LDFLAGS} $rpath_out" fi opal_var_scope_pop rpath_out rpath_dir rpath_tmp opal_var_scope_push ${LINENO} rpath_out rpath_dir rpath_tmp if test "$enable_wrapper_rpath" = "yes" && test "$WRAPPER_RPATH_SUPPORT" != "disabled" && test "$WRAPPER_RPATH_SUPPORT" != "unnecessary" then : rpath_out="" for val in ${OMPI_WRAPPER_FC_LDFLAGS_STATIC}; do case $val in -L*) rpath_dir=`echo $val | cut -c3-` rpath_tmp=`echo ${rpath_fc_args} | sed -e s@LIBDIR@$rpath_dir@` rpath_out="$rpath_out $rpath_tmp" ;; esac done OMPI_WRAPPER_FC_LDFLAGS_STATIC="${OMPI_WRAPPER_FC_LDFLAGS_STATIC} $rpath_out" fi opal_var_scope_pop rpath_out rpath_dir rpath_tmp oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${runpath_args}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${OMPI_WRAPPER_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 "${OMPI_WRAPPER_LDFLAGS}" then : OMPI_WRAPPER_LDFLAGS="$oac_list_arg" else case e in @%:@( e) OMPI_WRAPPER_LDFLAGS="${OMPI_WRAPPER_LDFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${runpath_fc_args}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${OMPI_WRAPPER_FC_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 "${OMPI_WRAPPER_FC_LDFLAGS}" then : OMPI_WRAPPER_FC_LDFLAGS="$oac_list_arg" else case e in @%:@( e) OMPI_WRAPPER_FC_LDFLAGS="${OMPI_WRAPPER_FC_LDFLAGS} $oac_list_arg" ;; esac 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}: checking for OMPI wrapper LDFLAGS" >&5 printf %s "checking for OMPI wrapper LDFLAGS... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OMPI_WRAPPER_LDFLAGS" >&5 printf "%s\n" "$OMPI_WRAPPER_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OMPI wrapper static LDFLAGS" >&5 printf %s "checking for OMPI wrapper static LDFLAGS... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OMPI_WRAPPER_LDFLAGS_STATIC" >&5 printf "%s\n" "$OMPI_WRAPPER_LDFLAGS_STATIC" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OMPI wrapper LIBS" >&5 printf %s "checking for OMPI wrapper LIBS... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OMPI_WRAPPER_LIBS" >&5 printf "%s\n" "$OMPI_WRAPPER_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OMPI wrapper static LIBS" >&5 printf %s "checking for OMPI wrapper static LIBS... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OMPI_WRAPPER_LIBS_STATIC" >&5 printf "%s\n" "$OMPI_WRAPPER_LIBS_STATIC" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OMPI wrapper Fortran LDFLAGS" >&5 printf %s "checking for OMPI wrapper Fortran LDFLAGS... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OMPI_WRAPPER_FC_LDFLAGS" >&5 printf "%s\n" "$OMPI_WRAPPER_FC_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OMPI wrapper Fortran static LDFLAGS" >&5 printf %s "checking for OMPI wrapper Fortran static LDFLAGS... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OMPI_WRAPPER_LDFLAGS_STATIC" >&5 printf "%s\n" "$OMPI_WRAPPER_LDFLAGS_STATIC" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OMPI wrapper Fortran LIBS" >&5 printf %s "checking for OMPI wrapper Fortran LIBS... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OMPI_WRAPPER_FC_LIBS" >&5 printf "%s\n" "$OMPI_WRAPPER_FC_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OMPI wrapper Fortran static LIBS" >&5 printf %s "checking for OMPI wrapper Fortran static LIBS... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OMPI_WRAPPER_FC_LIBS_STATIC" >&5 printf "%s\n" "$OMPI_WRAPPER_FC_LIBS_STATIC" >&6; } # language binding support. C++ is a bit different, as the # compiler should work even if there is no MPI C++ bindings # support. However, we do want it to fail if there is no C++ # compiler. if test "$CXX" = "none"; then OMPI_WRAPPER_CXX_REQUIRED_FILE="not supported" else OMPI_WRAPPER_CXX_REQUIRED_FILE="" fi if test "$OMPI_TRY_FORTRAN_BINDINGS" -gt "$OMPI_FORTRAN_NO_BINDINGS" ; then OMPI_WRAPPER_FORTRAN_REQUIRED_FILE="" else OMPI_WRAPPER_FORTRAN_REQUIRED_FILE="not supported" fi # For script-based wrappers that don't do relocatable binaries. # Don't use if you don't have to. exec_prefix_save="${exec_prefix}" test "x$exec_prefix" = xNONE && exec_prefix="${prefix}" eval "OMPI_WRAPPER_INCLUDEDIR=\"${includedir}\"" eval "OMPI_WRAPPER_LIBDIR=\"${libdir}\"" exec_prefix="${exec_prefix_save}" # if wrapper compilers were requested, set the ompi one up if test "$WANT_SCRIPT_WRAPPER_COMPILERS" = "1" ; then ac_config_files="$ac_config_files ompi/tools/wrappers/ompi_wrapper_script" fi printf "%s\n" "@%:@define OMPI_WRAPPER_CFLAGS \"$OMPI_WRAPPER_CFLAGS\"" >>confdefs.h printf "%s\n" "@%:@define OMPI_WRAPPER_CXXFLAGS \"$OMPI_WRAPPER_CXXFLAGS\"" >>confdefs.h printf "%s\n" "@%:@define OMPI_WRAPPER_FCFLAGS \"$OMPI_WRAPPER__FCFLAGS\"" >>confdefs.h printf "%s\n" "@%:@define OMPI_WRAPPER_LDFLAGS \"$OMPI_WRAPPER_LDFLAGS\"" >>confdefs.h printf "%s\n" "@%:@define OMPI_WRAPPER_LIBS \"$OMPI_WRAPPER_LIBS\"" >>confdefs.h { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OMPI pkg-config Cflags" >&5 printf %s "checking for OMPI pkg-config Cflags... " >&6; } OMPI_PC_CFLAGS="${OMPI_WRAPPER_CPPFLAGS} ${OMPI_WRAPPER_CFLAGS} ${OMPI_WRAPPER_CFLAGS_PREFIX}" OMPI_PC_CFLAGS=`echo ${OMPI_PC_CFLAGS} | sed -e 's/@{/\${/g'` { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${OMPI_PC_CFLAGS}" >&5 printf "%s\n" "${OMPI_PC_CFLAGS}" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OMPI pkg-config Libs" >&5 printf %s "checking for OMPI pkg-config Libs... " >&6; } OMPI_PC_LIBS="${OMPI_WRAPPER_LDFLAGS} ${OMPI_WRAPPER_LIBS}" OMPI_PC_LIBS=`echo ${OMPI_PC_LIBS} | sed -e 's/@{/\${/g'` { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${OMPI_PC_LIBS}" >&5 printf "%s\n" "${OMPI_PC_LIBS}" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OMPI pkg-config Libs.private" >&5 printf %s "checking for OMPI pkg-config Libs.private... " >&6; } OMPI_PC_LIBS_PRIVATE="${OMPI_WRAPPER_LDFLAGS_STATIC} ${OMPI_WRAPPER_LIBS_STATIC}" OMPI_PC_LIBS_PRIVATE=`echo ${OMPI_PC_LIBS_PRIVATE} | sed -e 's/@{/\${/g'` { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${OMPI_PC_LIBS_PRIVATE}" >&5 printf "%s\n" "${OMPI_PC_LIBS_PRIVATE}" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OMPI pkg-config Fortran Cflags" >&5 printf %s "checking for OMPI pkg-config Fortran Cflags... " >&6; } OMPI_PC_FC_CFLAGS="${OMPI_WRAPPER_FCFLAGS} ${OMPI_WRAPPER_FCFLAGS_PREFIX}" OMPI_PC_FC_CFLAGS=`echo ${OMPI_PC_FC_CFLAGS} | sed -e 's/@{/\${/g'` { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${OMPI_PC_FC_CFLAGS}" >&5 printf "%s\n" "${OMPI_PC_FC_CFLAGS}" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OMPI pkg-config Fortran Libs" >&5 printf %s "checking for OMPI pkg-config Fortran Libs... " >&6; } OMPI_PC_FC_LIBS="${OMPI_WRAPPER_FC_LDFLAGS} ${OMPI_WRAPPER_FC_LIBS}" OMPI_PC_FC_LIBS=`echo ${OMPI_PC_FC_LIBS} | sed -e 's/@{/\${/g'` { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${OMPI_PC_FC_LIBS}" >&5 printf "%s\n" "${OMPI_PC_FC_LIBS}" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OMPI pkg-config Fortran Libs.private" >&5 printf %s "checking for OMPI pkg-config Fortran Libs.private... " >&6; } OMPI_PC_FC_LIBS_PRIVATE="${OMPI_WRAPPER_FC_LDFLAGS_STATIC} ${OMPI_WRAPPER_FC_LIBS_STATIC}" OMPI_PC_FC_LIBS_PRIVATE=`echo ${OMPI_PC_FC_LIBS_PRIVATE} | sed -e 's/@{/\${/g'` { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${OMPI_PC_FC_LIBS_PRIVATE}" >&5 printf "%s\n" "${OMPI_PC_FC_LIBS_PRIVATE}" >&6; } OMPI_PC_MODULES= OMPI_PC_MODULES_PRIVATE= if test "${enable_shared}" != "no" -a "${enable_static}" != "yes" then : elif test "${enable_shared}" != "no" -a "${enable_static}" = "yes" then : OMPI_PC_MODULES_PRIVATE="${wrapper_extra_pkgconfig_modules} ${ompi_mca_wrapper_extra_pc_modules}" else case e in @%:@( e) OMPI_PC_MODULES="${wrapper_extra_pkgconfig_modules} ${ompi_mca_wrapper_extra_pc_modules}" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OMPI pkg-config Modules" >&5 printf %s "checking for OMPI pkg-config Modules... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${OMPI_PC_MODULES}" >&5 printf "%s\n" "${OMPI_PC_MODULES}" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OMPI pkg-config Modules.private" >&5 printf %s "checking for OMPI pkg-config Modules.private... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${OMPI_PC_MODULES_PRIVATE}" >&5 printf "%s\n" "${OMPI_PC_MODULES_PRIVATE}" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OSHMEM wrapper CPPFLAGS" >&5 printf %s "checking for OSHMEM wrapper CPPFLAGS... " >&6; } if test "$WANT_INSTALL_HEADERS" = "1" then : OSHMEM_WRAPPER_CPPFLAGS='-I${includedir} -I${includedir}/openmpi' else case e in @%:@( e) OSHMEM_WRAPPER_CPPFLAGS='-I${includedir}' ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $oshmem_mca_wrapper_extra_cppflags $wrapper_extra_cppflags $with_wrapper_cppflags; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${OSHMEM_WRAPPER_CPPFLAGS}; 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 "${OSHMEM_WRAPPER_CPPFLAGS}" then : OSHMEM_WRAPPER_CPPFLAGS="$oac_list_arg" else case e in @%:@( e) OSHMEM_WRAPPER_CPPFLAGS="${OSHMEM_WRAPPER_CPPFLAGS} $oac_list_arg" ;; esac 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}: result: $OSHMEM_WRAPPER_CPPFLAGS" >&5 printf "%s\n" "$OSHMEM_WRAPPER_CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OSHMEM wrapper CFLAGS" >&5 printf %s "checking for OSHMEM wrapper CFLAGS... " >&6; } OSHMEM_WRAPPER_CFLAGS="$wrapper_extra_cflags $with_wrapper_cflags" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OSHMEM_WRAPPER_CFLAGS" >&5 printf "%s\n" "$OSHMEM_WRAPPER_CFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OSHMEM wrapper CFLAGS_PREFIX" >&5 printf %s "checking for OSHMEM wrapper CFLAGS_PREFIX... " >&6; } OSHMEM_WRAPPER_CFLAGS_PREFIX="$with_wrapper_cflags_prefix" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OSHMEM_WRAPPER_CFLAGS_PREFIX" >&5 printf "%s\n" "$OSHMEM_WRAPPER_CFLAGS_PREFIX" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OSHMEM wrapper CXXFLAGS" >&5 printf %s "checking for OSHMEM wrapper CXXFLAGS... " >&6; } OSHMEM_WRAPPER_CXXFLAGS="$wrapper_extra_cxxflags $with_wrapper_cxxflags" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OSHMEM_WRAPPER_CXXFLAGS" >&5 printf "%s\n" "$OSHMEM_WRAPPER_CXXFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OSHMEM wrapper CXXFLAGS_PREFIX" >&5 printf %s "checking for OSHMEM wrapper CXXFLAGS_PREFIX... " >&6; } OSHMEM_WRAPPER_CXXFLAGS_PREFIX="$with_wrapper_cxxflags_prefix" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OSHMEM_WRAPPER_CXXFLAGS_PREFIX" >&5 printf "%s\n" "$OSHMEM_WRAPPER_CXXFLAGS_PREFIX" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OSHMEM wrapper FCFLAGS" >&5 printf %s "checking for OSHMEM wrapper FCFLAGS... " >&6; } OSHMEM_WRAPPER_FCFLAGS='-I${includedir}'" ${wrapper_extra_fcflags} ${with_wrapper_fcflags}" if test -n "${OMPI_FC_MODULE_FLAG}" then : wrapper_tmp_arg="${OMPI_FC_MODULE_FLAG}${OMPI_FORTRAN_MODULEDIR}" if test -z "${OSHMEM_WRAPPER_FCFLAGS}" then : OSHMEM_WRAPPER_FCFLAGS="${wrapper_tmp_arg}" else case e in @%:@( e) OSHMEM_WRAPPER_FCFLAGS="${OSHMEM_WRAPPER_FCFLAGS} ${wrapper_tmp_arg}" ;; esac fi fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OSHMEM_WRAPPER_EXTRA_FCFLAGS" >&5 printf "%s\n" "$OSHMEM_WRAPPER_EXTRA_FCFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OSHMEM wrapper FCFLAGS_PREFIX" >&5 printf %s "checking for OSHMEM wrapper FCFLAGS_PREFIX... " >&6; } OSHMEM_WRAPPER_FCFLAGS_PREFIX="$with_wrapper_fcflags_prefix" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OSHMEM_WRAPPER_FCFLAGS_PREFIX" >&5 printf "%s\n" "$OSHMEM_WRAPPER_FCFLAGS_PREFIX" >&6; } OSHMEM_WRAPPER_LDFLAGS='-L${libdir}' OSHMEM_WRAPPER_LIBS="-loshmem ${wrapper_finalize_ompi_libs}" OSHMEM_WRAPPER_LIBS_STATIC= OSHMEM_WRAPPER_LDFLAGS_STATIC= if test "${enable_shared}" != "no" -a "${enable_static}" != "yes" then : elif test "${enable_shared}" != "no" -a "${enable_static}" = "yes" then : oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${oshmem_mca_wrapper_extra_ldflags} ${wrapper_extra_ldflags}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${OSHMEM_WRAPPER_LDFLAGS_STATIC}; 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 "${OSHMEM_WRAPPER_LDFLAGS_STATIC}" then : OSHMEM_WRAPPER_LDFLAGS_STATIC="$oac_list_arg" else case e in @%:@( e) OSHMEM_WRAPPER_LDFLAGS_STATIC="${OSHMEM_WRAPPER_LDFLAGS_STATIC} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in ${wrapper_finalize_opal_libs} ${oshmem_mca_wrapper_extra_libs} ${wrapper_extra_libs}; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${OSHMEM_WRAPPER_LIBS_STATIC} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${OSHMEM_WRAPPER_LIBS_STATIC}" then : OSHMEM_WRAPPER_LIBS_STATIC="${oac_list_arg}" else case e in @%:@( e) OSHMEM_WRAPPER_LIBS_STATIC="${OSHMEM_WRAPPER_LIBS_STATIC} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${OSHMEM_WRAPPER_LIBS_STATIC}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi OSHMEM_WRAPPER_LIBS_STATIC="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${OSHMEM_WRAPPER_LIBS_STATIC}" then : OSHMEM_WRAPPER_LIBS_STATIC="${oac_list_arg}" else case e in @%:@( e) OSHMEM_WRAPPER_LIBS_STATIC="${OSHMEM_WRAPPER_LIBS_STATIC} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${oshmem_mca_wrapper_extra_static_ldflags} ${wrapper_extra_static_ldflags}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${OSHMEM_WRAPPER_LDFLAGS_STATIC}; 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 "${OSHMEM_WRAPPER_LDFLAGS_STATIC}" then : OSHMEM_WRAPPER_LDFLAGS_STATIC="$oac_list_arg" else case e in @%:@( e) OSHMEM_WRAPPER_LDFLAGS_STATIC="${OSHMEM_WRAPPER_LDFLAGS_STATIC} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in ${oshmem_mca_wrapper_extra_static_libs} ${wrapper_extra_static_libs}; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${OSHMEM_WRAPPER_LIBS_STATIC} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${OSHMEM_WRAPPER_LIBS_STATIC}" then : OSHMEM_WRAPPER_LIBS_STATIC="${oac_list_arg}" else case e in @%:@( e) OSHMEM_WRAPPER_LIBS_STATIC="${OSHMEM_WRAPPER_LIBS_STATIC} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${OSHMEM_WRAPPER_LIBS_STATIC}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi OSHMEM_WRAPPER_LIBS_STATIC="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${OSHMEM_WRAPPER_LIBS_STATIC}" then : OSHMEM_WRAPPER_LIBS_STATIC="${oac_list_arg}" else case e in @%:@( e) OSHMEM_WRAPPER_LIBS_STATIC="${OSHMEM_WRAPPER_LIBS_STATIC} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable else case e in @%:@( e) oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${oshmem_mca_wrapper_extra_ldflags} ${wrapper_extra_ldflags}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${OSHMEM_WRAPPER_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 "${OSHMEM_WRAPPER_LDFLAGS}" then : OSHMEM_WRAPPER_LDFLAGS="$oac_list_arg" else case e in @%:@( e) OSHMEM_WRAPPER_LDFLAGS="${OSHMEM_WRAPPER_LDFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in ${wrapper_finalize_opal_libs} ${oshmem_mca_wrapper_extra_libs} ${wrapper_extra_libs}; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${OSHMEM_WRAPPER_LIBS} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${OSHMEM_WRAPPER_LIBS}" then : OSHMEM_WRAPPER_LIBS="${oac_list_arg}" else case e in @%:@( e) OSHMEM_WRAPPER_LIBS="${OSHMEM_WRAPPER_LIBS} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${OSHMEM_WRAPPER_LIBS}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi OSHMEM_WRAPPER_LIBS="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${OSHMEM_WRAPPER_LIBS}" then : OSHMEM_WRAPPER_LIBS="${oac_list_arg}" else case e in @%:@( e) OSHMEM_WRAPPER_LIBS="${OSHMEM_WRAPPER_LIBS} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${oshmem_mca_wrapper_extra_static_ldflags} ${wrapper_extra_static_ldflags}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${OSHMEM_WRAPPER_LDFLAGS_STATIC}; 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 "${OSHMEM_WRAPPER_LDFLAGS_STATIC}" then : OSHMEM_WRAPPER_LDFLAGS_STATIC="$oac_list_arg" else case e in @%:@( e) OSHMEM_WRAPPER_LDFLAGS_STATIC="${OSHMEM_WRAPPER_LDFLAGS_STATIC} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in ${oshmem_mca_wrapper_extra_static_libs} ${wrapper_extra_static_libs}; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${OSHMEM_WRAPPER_LIBS_STATIC} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${OSHMEM_WRAPPER_LIBS_STATIC}" then : OSHMEM_WRAPPER_LIBS_STATIC="${oac_list_arg}" else case e in @%:@( e) OSHMEM_WRAPPER_LIBS_STATIC="${OSHMEM_WRAPPER_LIBS_STATIC} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${OSHMEM_WRAPPER_LIBS_STATIC}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi OSHMEM_WRAPPER_LIBS_STATIC="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${OSHMEM_WRAPPER_LIBS_STATIC}" then : OSHMEM_WRAPPER_LIBS_STATIC="${oac_list_arg}" else case e in @%:@( e) OSHMEM_WRAPPER_LIBS_STATIC="${OSHMEM_WRAPPER_LIBS_STATIC} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable ;; esac fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${with_wrapper_ldflags}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${OSHMEM_WRAPPER_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 "${OSHMEM_WRAPPER_LDFLAGS}" then : OSHMEM_WRAPPER_LDFLAGS="$oac_list_arg" else case e in @%:@( e) OSHMEM_WRAPPER_LDFLAGS="${OSHMEM_WRAPPER_LDFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in ${with_wrapper_libs}; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${OSHMEM_WRAPPER_LIBS} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${OSHMEM_WRAPPER_LIBS}" then : OSHMEM_WRAPPER_LIBS="${oac_list_arg}" else case e in @%:@( e) OSHMEM_WRAPPER_LIBS="${OSHMEM_WRAPPER_LIBS} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${OSHMEM_WRAPPER_LIBS}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi OSHMEM_WRAPPER_LIBS="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${OSHMEM_WRAPPER_LIBS}" then : OSHMEM_WRAPPER_LIBS="${oac_list_arg}" else case e in @%:@( e) OSHMEM_WRAPPER_LIBS="${OSHMEM_WRAPPER_LIBS} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable OSHMEM_WRAPPER_FC_LIBS="-loshmem ${OMPI_FORTRAN_MPIFH_LINK}" oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${OSHMEM_WRAPPER_LIBS}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${OSHMEM_WRAPPER_FC_LIBS}; 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 "${OSHMEM_WRAPPER_FC_LIBS}" then : OSHMEM_WRAPPER_FC_LIBS="$oac_list_arg" else case e in @%:@( e) OSHMEM_WRAPPER_FC_LIBS="${OSHMEM_WRAPPER_FC_LIBS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val OSHMEM_WRAPPER_FC_LIBS_STATIC=${OSHMEM_WRAPPER_LIBS_STATIC} OSHMEM_WRAPPER_FC_LDFLAGS=$OSHMEM_WRAPPER_LDFLAGS OSHMEM_WRAPPER_FC_LDFLAGS_STATIC=$OSHMEM_WRAPPER_LDFLAGS opal_var_scope_push ${LINENO} rpath_out rpath_dir rpath_tmp if test "$enable_wrapper_rpath" = "yes" && test "$WRAPPER_RPATH_SUPPORT" != "disabled" && test "$WRAPPER_RPATH_SUPPORT" != "unnecessary" then : rpath_out="" for val in ${OSHMEM_WRAPPER_LDFLAGS}; do case $val in -L*) rpath_dir=`echo $val | cut -c3-` rpath_tmp=`echo ${rpath_args} | sed -e s@LIBDIR@$rpath_dir@` rpath_out="$rpath_out $rpath_tmp" ;; esac done OSHMEM_WRAPPER_LDFLAGS="${OSHMEM_WRAPPER_LDFLAGS} $rpath_out" fi opal_var_scope_pop rpath_out rpath_dir rpath_tmp opal_var_scope_push ${LINENO} rpath_out rpath_dir rpath_tmp if test "$enable_wrapper_rpath" = "yes" && test "$WRAPPER_RPATH_SUPPORT" != "disabled" && test "$WRAPPER_RPATH_SUPPORT" != "unnecessary" then : rpath_out="" for val in ${OSHMEM_WRAPPER_LDFLAGS_STATIC}; do case $val in -L*) rpath_dir=`echo $val | cut -c3-` rpath_tmp=`echo ${rpath_args} | sed -e s@LIBDIR@$rpath_dir@` rpath_out="$rpath_out $rpath_tmp" ;; esac done OSHMEM_WRAPPER_LDFLAGS_STATIC="${OSHMEM_WRAPPER_LDFLAGS_STATIC} $rpath_out" fi opal_var_scope_pop rpath_out rpath_dir rpath_tmp opal_var_scope_push ${LINENO} rpath_out rpath_dir rpath_tmp if test "$enable_wrapper_rpath" = "yes" && test "$WRAPPER_RPATH_SUPPORT" != "disabled" && test "$WRAPPER_RPATH_SUPPORT" != "unnecessary" then : rpath_out="" for val in ${OSHMEM_WRAPPER_FC_LDFLAGS}; do case $val in -L*) rpath_dir=`echo $val | cut -c3-` rpath_tmp=`echo ${rpath_fc_args} | sed -e s@LIBDIR@$rpath_dir@` rpath_out="$rpath_out $rpath_tmp" ;; esac done OSHMEM_WRAPPER_FC_LDFLAGS="${OSHMEM_WRAPPER_FC_LDFLAGS} $rpath_out" fi opal_var_scope_pop rpath_out rpath_dir rpath_tmp opal_var_scope_push ${LINENO} rpath_out rpath_dir rpath_tmp if test "$enable_wrapper_rpath" = "yes" && test "$WRAPPER_RPATH_SUPPORT" != "disabled" && test "$WRAPPER_RPATH_SUPPORT" != "unnecessary" then : rpath_out="" for val in ${OSHMEM_WRAPPER_FC_LDFLAGS_STATIC}; do case $val in -L*) rpath_dir=`echo $val | cut -c3-` rpath_tmp=`echo ${rpath_fc_args} | sed -e s@LIBDIR@$rpath_dir@` rpath_out="$rpath_out $rpath_tmp" ;; esac done OSHMEM_WRAPPER_FC_LDFLAGS_STATIC="${OSHMEM_WRAPPER_FC_LDFLAGS_STATIC} $rpath_out" fi opal_var_scope_pop rpath_out rpath_dir rpath_tmp oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${runpath_args}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${OSHMEM_WRAPPER_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 "${OSHMEM_WRAPPER_LDFLAGS}" then : OSHMEM_WRAPPER_LDFLAGS="$oac_list_arg" else case e in @%:@( e) OSHMEM_WRAPPER_LDFLAGS="${OSHMEM_WRAPPER_LDFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${runpath_fc_args}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${OSHMEM_WRAPPER_FC_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 "${OSHMEM_WRAPPER_FC_LDFLAGS}" then : OSHMEM_WRAPPER_FC_LDFLAGS="$oac_list_arg" else case e in @%:@( e) OSHMEM_WRAPPER_FC_LDFLAGS="${OSHMEM_WRAPPER_FC_LDFLAGS} $oac_list_arg" ;; esac 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}: checking for OSHMEM wrapper LDFLAGS" >&5 printf %s "checking for OSHMEM wrapper LDFLAGS... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OSHMEM_WRAPPER_LDFLAGS" >&5 printf "%s\n" "$OSHMEM_WRAPPER_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OSHMEM wrapper static LDFLAGS" >&5 printf %s "checking for OSHMEM wrapper static LDFLAGS... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OSHMEM_WRAPPER_LDFLAGS_STATIC" >&5 printf "%s\n" "$OSHMEM_WRAPPER_LDFLAGS_STATIC" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OSHMEM wrapper LIBS" >&5 printf %s "checking for OSHMEM wrapper LIBS... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OSHMEM_WRAPPER_LIBS" >&5 printf "%s\n" "$OSHMEM_WRAPPER_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OSHMEM wrapper static LIBS" >&5 printf %s "checking for OSHMEM wrapper static LIBS... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OSHMEM_WRAPPER_LIBS_STATIC" >&5 printf "%s\n" "$OSHMEM_WRAPPER_LIBS_STATIC" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OSHMEM wrapper Fortran LDFLAGS" >&5 printf %s "checking for OSHMEM wrapper Fortran LDFLAGS... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OSHMEM_WRAPPER_FC_LDFLAGS" >&5 printf "%s\n" "$OSHMEM_WRAPPER_FC_LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OSHMEM wrapper Fortran static LDFLAGS" >&5 printf %s "checking for OSHMEM wrapper Fortran static LDFLAGS... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OSHMEM_WRAPPER_FC_LDFLAGS_STATIC" >&5 printf "%s\n" "$OSHMEM_WRAPPER_FC_LDFLAGS_STATIC" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OSHMEM wrapper Fortran LIBS" >&5 printf %s "checking for OSHMEM wrapper Fortran LIBS... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OSHMEM_WRAPPER_FC_LIBS" >&5 printf "%s\n" "$OSHMEM_WRAPPER_FC_LIBS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OSHMEM wrapper Fortran static LIBS" >&5 printf %s "checking for OSHMEM wrapper Fortran static LIBS... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OSHMEM_WRAPPER_FC_LIBS_STATIC" >&5 printf "%s\n" "$OSHMEM_WRAPPER_FC_LIBS_STATIC" >&6; } # language binding support. C++ is a bit different, as the # coshmemler should work even if there is no MPI C++ bindings # support. However, we do want it to fail if there is no C++ # coshmemler. if test "$CXX" = "none"; then OSHMEM_WRAPPER_CXX_REQUIRED_FILE="not supported" else OSHMEM_WRAPPER_CXX_REQUIRED_FILE="" fi if test "$OMPI_TRY_FORTRAN_BINDINGS" -gt "$OMPI_FORTRAN_NO_BINDINGS" ; then OSHMEM_WRAPPER_FORTRAN_REQUIRED_FILE="" else OSHMEM_WRAPPER_FORTRAN_REQUIRED_FILE="not supported" fi printf "%s\n" "@%:@define OSHMEM_WRAPPER_CFLAGS \"$OSHMEM_WRAPPER_CFLAGS\"" >>confdefs.h printf "%s\n" "@%:@define OSHMEM_WRAPPER_CXXFLAGS \"$OSHMEM_WRAPPER_CXXFLAGS\"" >>confdefs.h printf "%s\n" "@%:@define OSHMEM_WRAPPER_FCFLAGS \"$OSHMEM_WRAPPER__FCFLAGS\"" >>confdefs.h printf "%s\n" "@%:@define OSHMEM_WRAPPER_LDFLAGS \"$OSHMEM_WRAPPER_LDFLAGS\"" >>confdefs.h printf "%s\n" "@%:@define OSHMEM_WRAPPER_LIBS \"$OSHMEM_WRAPPER_LIBS\"" >>confdefs.h { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OSHMEM pkg-config Cflags" >&5 printf %s "checking for OSHMEM pkg-config Cflags... " >&6; } OSHMEM_PC_CFLAGS="${OSHMEM_WRAPPER_CPPFLAGS} ${OSHMEM_WRAPPER_CFLAGS} ${OSHMEM_WRAPPER_CFLAGS_PREFIX}" OSHMEM_PC_CFLAGS=`echo ${OSHMEM_PC_CFLAGS} | sed -e 's/@{/\${/g'` { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${OSHMEM_PC_CFLAGS}" >&5 printf "%s\n" "${OSHMEM_PC_CFLAGS}" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OSHMEM pkg-config Libs" >&5 printf %s "checking for OSHMEM pkg-config Libs... " >&6; } OSHMEM_PC_LIBS="${OSHMEM_WRAPPER_LDFLAGS} ${OSHMEM_WRAPPER_LIBS}" OSHMEM_PC_LIBS=`echo ${OSHMEM_PC_LIBS} | sed -e 's/@{/\${/g'` { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${OSHMEM_PC_LIBS}" >&5 printf "%s\n" "${OSHMEM_PC_LIBS}" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OSHMEM pkg-config Libs.private" >&5 printf %s "checking for OSHMEM pkg-config Libs.private... " >&6; } OSHMEM_PC_LIBS_PRIVATE="${OSHMEM_WRAPPER_LDFLAGS_STATIC} ${OSHMEM_WRAPPER_LIBS_STATIC}" OSHMEM_PC_LIBS_PRIVATE=`echo ${OSHMEM_PC_LIBS_PRIVATE} | sed -e 's/@{/\${/g'` { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${OSHMEM_PC_LIBS_PRIVATE}" >&5 printf "%s\n" "${OSHMEM_PC_LIBS_PRIVATE}" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OSHMEM pkg-config Fortran Cflags" >&5 printf %s "checking for OSHMEM pkg-config Fortran Cflags... " >&6; } OSHMEM_PC_CFLAGS="${OSHMEM_WRAPPER_FCFLAGS} ${OSHMEM_WRAPPER_FCFLAGS_PREFIX}" OSHMEM_PC_CFLAGS=`echo ${OSHMEM_PC_CFLAGS} | sed -e 's/@{/\${/g'` { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${OSHMEM_PC_FC_CFLAGS}" >&5 printf "%s\n" "${OSHMEM_PC_FC_CFLAGS}" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OSHMEM pkg-config Fortran Libs" >&5 printf %s "checking for OSHMEM pkg-config Fortran Libs... " >&6; } OSHMEM_PC_FC_LIBS="${OSHMEM_WRAPPER_FC_LDFLAGS} ${OSHMEM_WRAPPER_FC_LIBS}" OSHMEM_PC_FC_LIBS=`echo ${OSHMEM_PC_FC_LIBS} | sed -e 's/@{/\${/g'` { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${OSHMEM_PC_FC_LIBS}" >&5 printf "%s\n" "${OSHMEM_PC_FC_LIBS}" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OSHMEM pkg-config Fortran Libs.private" >&5 printf %s "checking for OSHMEM pkg-config Fortran Libs.private... " >&6; } OSHMEM_PC_FC_LIBS_PRIVATE="${OSHMEM_WRAPPER_FC_LDFLAGS_STATIC} ${OSHMEM_WRAPPER_FC_LIBS_STATIC}" OSHMEM_PC_FC_LIBS_PRIVATE=`echo ${OSHMEM_PC_FC_LIBS_PRIVATE} | sed -e 's/@{/\${/g'` { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${OSHMEM_PC_FC_LIBS_PRIVATE}" >&5 printf "%s\n" "${OSHMEM_PC_FC_LIBS_PRIVATE}" >&6; } OSHMEM_PC_MODULES= OSHMEM_PC_MODULES_PRIVATE= if test "${enable_shared}" != "no" -a "${enable_static}" != "yes" then : elif test "${enable_shared}" != "no" -a "${enable_static}" = "yes" then : OSHMEM_PC_MODULES_PRIVATE="${wrapper_extra_pkgconfig_modules} ${oshmem_mca_wrapper_extra_pc_modules}" else case e in @%:@( e) OSHMEM_PC_MODULES="${wrapper_extra_pkgconfig_modules} ${oshmem_mca_wrapper_extra_pc_modules}" ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OSHMEM pkg-config Modules" >&5 printf %s "checking for OSHMEM pkg-config Modules... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${OSHMEM_PC_MODULES}" >&5 printf "%s\n" "${OSHMEM_PC_MODULES}" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OSHMEM pkg-config Modules.private" >&5 printf %s "checking for OSHMEM pkg-config Modules.private... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${OSHMEM_PC_MODULES_PRIVATE}" >&5 printf "%s\n" "${OSHMEM_PC_MODULES_PRIVATE}" >&6; } opal_var_scope_pop wrapper_tmp_arg wrapper_finalize_opal_libs wrapper_finalize_ompi_libs # Recreate some defines prefixed with OMPI_ so that there are no bare # autoconf macro defines in mpi.h. Since AC sometimes changes whether # things are defined as null tokens or an integer result, two projects # with different versions of AC can cause problems. # According to the autoconf 2.67 documentation the AC_HEADER_STDC macro, # and therefore the ac_cv_header_stdc cache variable, is obsolescent, as # current systems have conforming header files. Instead of removing the # protection completely, let's just make sure it is always on. printf "%s\n" "@%:@define OPAL_STDC_HEADERS 1" >>confdefs.h if test $ac_cv_header_sys_time_h = yes ; then printf "%s\n" "@%:@define OPAL_HAVE_SYS_TIME_H 1" >>confdefs.h fi if test $ac_cv_type_long_long = yes ; then printf "%s\n" "@%:@define OPAL_HAVE_LONG_LONG 1" >>confdefs.h fi if test $ac_cv_header_sys_synch_h = yes ; then printf "%s\n" "@%:@define OPAL_HAVE_SYS_SYNCH_H 1" >>confdefs.h fi # If there is a local hook for each project, call it. This allows 3rd # parties to add configuration steps to OPAL and/or OMPI simply # by placing a file in [opal|ompi]/config/whatever.m4 that # AC_DEFUN's the appropriate macro name -- no patching is necessary. # If that macro is defined, we'll run it here. # # Unfortunately, aclocal is not smart enough to parse something like # the following in opal_mca.m4 (when we're already m4 looping over the # project list): # # m4_foreach(mca_project, [mca_project_list], # [m4_ifdef(mca_project[_CONFIG_LOCAL], mca_project[_CONFIG_LOCAL])]) # # Meaning that aclocal doesn't see that, for example, # "ompi_CONFIG_LOCAL" is actually invoked at the bottom and therefore # go look for an .m4 file that contains it. Instead, we have to # manually list the macros here. *Then* aclocal is smart enough to go # look for an .m4 file containing each macro, and if found, # automatically m4_include the corresponding in aclocal.m4. Bummer. # :-\ ############################################################################ # Party on ############################################################################ # set projects good/no good AM_CONDITIONALS. This is at the end so # that the OSHMEM/OMPI projects can be disabled, if needed, based on # MCA tests. If a project is to be disabled, also remove it from # MCA_PROJECT_SUBDIRS to actually disable building. if test "$project_ompi_amc" = "true"; then PROJECT_OMPI_TRUE= PROJECT_OMPI_FALSE='#' else PROJECT_OMPI_TRUE='#' PROJECT_OMPI_FALSE= fi if test "$project_oshmem_amc" = "true"; then PROJECT_OSHMEM_TRUE= PROJECT_OSHMEM_FALSE='#' else PROJECT_OSHMEM_TRUE='#' PROJECT_OSHMEM_FALSE= fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if libtool needs -no-undefined flag to build shared libraries" >&5 printf %s "checking if libtool needs -no-undefined flag to build shared libraries... " >&6; } case "`uname`" in CYGWIN*|MINGW*|AIX*) ## Add in the -no-undefined flag to LDFLAGS for libtool. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } LDFLAGS="$LDFLAGS -no-undefined" ;; *) ## Don't add in anything. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } ;; esac # opaldatadir, opallibdir, and opalinclude are essentially the same as # pkg*dir, but will always be */openmpi. This is to make it a bit # easier to deal with the problem of opal and ompi built from # their own tarballs, with their own PACKAGE variables. opaldatadir='${datadir}/openmpi' opallibdir='${libdir}/openmpi3' opalincludedir='${includedir}/openmpi' pkglibdir='${libdir}/openmpi3' if test "$opal_mca_prefix_set" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: OPAL mca prefix was already set!" >&5 printf "%s\n" "$as_me: WARNING: OPAL mca prefix 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 MCA_PREFIX=OMPI_MCA_ opal_mca_prefix_set=yes printf "%s\n" "@%:@define OPAL_MCA_PREFIX \"$MCA_PREFIX\"" >>confdefs.h if test "$opal_mca_cmd_id_set" = "yes" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: OPAL mca cmd line id was already set!" >&5 printf "%s\n" "$as_me: WARNING: OPAL mca cmd line id 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 MCA_CMD_LINE_ID=mca opal_mca_cmd_id_set=yes printf "%s\n" "@%:@define OPAL_MCA_CMD_LINE_ID \"$MCA_CMD_LINE_ID\"" >>confdefs.h ompidatadir="$opaldatadir" ompilibdir="$opallibdir" ompiincludedir="$opalincludedir" oshmemdatadir="$opaldatadir" oshmemlibdir="$opallibdir" oshmemincludedir="$opalincludedir" opal_show_subtitle "Final output" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking OMPI final CPPFLAGS" >&5 printf %s "checking OMPI final CPPFLAGS... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPPFLAGS" >&5 printf "%s\n" "$CPPFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking OMPI final LDFLAGS" >&5 printf %s "checking OMPI final LDFLAGS... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LDFLAGS" >&5 printf "%s\n" "$LDFLAGS" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking OMPI final LIBS" >&5 printf %s "checking OMPI final LIBS... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIBS" >&5 printf "%s\n" "$LIBS" >&6; } ac_config_files="$ac_config_files Makefile docs/Makefile config/Makefile contrib/Makefile contrib/dist/mofed/debian/changelog contrib/dist/mofed/debian/control contrib/dist/mofed/debian/copyright:LICENSE 3rd-party/Makefile test/Makefile test/event/Makefile test/asm/Makefile test/datatype/Makefile test/class/Makefile test/mpool/Makefile test/support/Makefile test/threads/Makefile test/util/Makefile" ac_config_files="$ac_config_files test/monitoring/Makefile test/spc/Makefile" ac_config_files="$ac_config_files contrib/dist/mofed/debian/rules" ac_config_files="$ac_config_files contrib/dist/mofed/compile_debian_mlnx_example" if test -n "$OPAL_MAKEDIST_DISABLE" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"make dist\" will be disabled due to: $OPAL_MAKEDIST_DISABLE" >&5 printf "%s\n" "$as_me: WARNING: \"make dist\" will be disabled due to: $OPAL_MAKEDIST_DISABLE" >&2;} fi ac_config_files="$ac_config_files opal/Makefile opal/etc/Makefile opal/include/Makefile opal/datatype/Makefile opal/util/Makefile opal/util/keyval/Makefile opal/mca/base/Makefile opal/tools/wrappers/Makefile opal/tools/wrappers/opalcc-wrapper-data.txt opal/tools/wrappers/opal.pc" ac_config_files="$ac_config_files ompi/Makefile ompi/etc/Makefile ompi/include/Makefile ompi/include/mpif.h ompi/include/mpif-config.h ompi/datatype/Makefile ompi/debuggers/Makefile ompi/mpi/c/Makefile ompi/mpi/fortran/base/Makefile ompi/mpi/fortran/mpif-h/Makefile ompi/mpi/fortran/mpif-h/profile/Makefile ompi/mpi/fortran/use-mpi/Makefile ompi/mpi/fortran/use-mpi/mpi-types.F90 ompi/mpi/fortran/use-mpi-tkr/Makefile ompi/mpi/fortran/use-mpi-tkr/fortran_sizes.h ompi/mpi/fortran/use-mpi-tkr/fortran_kinds.sh ompi/mpi/fortran/use-mpi-ignore-tkr/Makefile ompi/mpi/fortran/use-mpi-ignore-tkr/mpi-ignore-tkr-interfaces.h ompi/mpi/fortran/use-mpi-ignore-tkr/mpi-ignore-tkr-file-interfaces.h ompi/mpi/fortran/use-mpi-ignore-tkr/mpi-ignore-tkr-removed-interfaces.h ompi/mpi/fortran/use-mpi-f08/Makefile ompi/mpi/fortran/use-mpi-f08/base/Makefile ompi/mpi/fortran/use-mpi-f08/profile/Makefile ompi/mpi/fortran/use-mpi-f08/bindings/Makefile ompi/mpi/fortran/use-mpi-f08/mod/Makefile ompi/mpi/fortran/use-mpi-f08/mod/mpi-f08-interfaces.h ompi/mpi/fortran/mpiext-use-mpi/Makefile ompi/mpi/fortran/mpiext-use-mpi-f08/Makefile ompi/mpi/tool/Makefile ompi/tools/ompi_info/Makefile ompi/tools/wrappers/Makefile ompi/tools/wrappers/mpicc-wrapper-data.txt ompi/tools/wrappers/mpic++-wrapper-data.txt ompi/tools/wrappers/mpifort-wrapper-data.txt ompi/tools/wrappers/ompi.pc ompi/tools/wrappers/ompi-c.pc ompi/tools/wrappers/ompi-cxx.pc ompi/tools/wrappers/ompi-fort.pc ompi/tools/wrappers/mpijavac.pl ompi/tools/mpisync/Makefile ompi/tools/mpirun/Makefile" ac_config_files="$ac_config_files oshmem/Makefile oshmem/include/Makefile oshmem/shmem/c/Makefile oshmem/shmem/fortran/Makefile oshmem/tools/oshmem_info/Makefile oshmem/tools/wrappers/Makefile oshmem/tools/wrappers/shmemcc-wrapper-data.txt oshmem/tools/wrappers/shmemc++-wrapper-data.txt oshmem/tools/wrappers/shmemfort-wrapper-data.txt oshmem/tools/wrappers/oshmem.pc oshmem/tools/wrappers/oshmem-c.pc oshmem/tools/wrappers/oshmem-cxx.pc oshmem/tools/wrappers/oshmem-fort.pc" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libraries that use libnl v1" >&5 printf %s "checking for libraries that use libnl v1... " >&6; } if test -n "$opal_libnlv1_libs" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnlv1_libs" >&5 printf "%s\n" "$opal_libnlv1_libs" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: (none)" >&5 printf "%s\n" "(none)" >&6; } ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libraries that use libnl v3" >&5 printf %s "checking for libraries that use libnl v3... " >&6; } if test -n "$opal_libnlv3_libs" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $opal_libnlv3_libs" >&5 printf "%s\n" "$opal_libnlv3_libs" >&6; } else case e in @%:@( e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: (none)" >&5 printf "%s\n" "(none)" >&6; } ;; esac fi if test -n "$opal_libnlv1_libs" && test -n "$opal_libnlv3_libs" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libnl v1 and libnl v3 have been found as dependent libraries" >&5 printf "%s\n" "$as_me: WARNING: libnl v1 and libnl v3 have been found as dependent libraries" >&2;} as_fn_error $? "This is a configuration that is known to cause run-time crashes" "$LINENO" 5 fi # checkpoint results cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # 'ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* 'ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( 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=\ *) # 'set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # 'set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 printf "%s\n" "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # 'ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* 'ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( 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=\ *) # 'set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # 'set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 printf "%s\n" "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= U= for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`printf "%s\n" "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIB@&t@OBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 printf %s "checking that generated files are newer than configure... " >&6; } if test -n "$am_sleep_pid"; then # Hide warnings about reused PIDs. wait $am_sleep_pid 2>/dev/null fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: done" >&5 printf "%s\n" "done" >&6; } if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' else am__EXEEXT_TRUE='#' am__EXEEXT_FALSE= fi if test -z "${OPAL_COMPILE_TIMING_TRUE}" && test -z "${OPAL_COMPILE_TIMING_FALSE}"; then as_fn_error $? "conditional \"OPAL_COMPILE_TIMING\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OPAL_INSTALL_TIMING_BINARIES_TRUE}" && test -z "${OPAL_INSTALL_TIMING_BINARIES_FALSE}"; then as_fn_error $? "conditional \"OPAL_INSTALL_TIMING_BINARIES\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${WANT_INSTALL_HEADERS_TRUE}" && test -z "${WANT_INSTALL_HEADERS_FALSE}"; then as_fn_error $? "conditional \"WANT_INSTALL_HEADERS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OPAL_INSTALL_BINARIES_TRUE}" && test -z "${OPAL_INSTALL_BINARIES_FALSE}"; then as_fn_error $? "conditional \"OPAL_INSTALL_BINARIES\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OPAL_WANT_SCRIPT_WRAPPER_COMPILERS_TRUE}" && test -z "${OPAL_WANT_SCRIPT_WRAPPER_COMPILERS_FALSE}"; then as_fn_error $? "conditional \"OPAL_WANT_SCRIPT_WRAPPER_COMPILERS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${WANT_PERUSE_TRUE}" && test -z "${WANT_PERUSE_FALSE}"; then as_fn_error $? "conditional \"WANT_PERUSE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OMPI_ENABLE_MPI1_COMPAT_TRUE}" && test -z "${OMPI_ENABLE_MPI1_COMPAT_FALSE}"; then as_fn_error $? "conditional \"OMPI_ENABLE_MPI1_COMPAT\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OMPI_ENABLE_GREQUEST_EXTENSIONS_TRUE}" && test -z "${OMPI_ENABLE_GREQUEST_EXTENSIONS_FALSE}"; then as_fn_error $? "conditional \"OMPI_ENABLE_GREQUEST_EXTENSIONS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OMPI_OMPIO_SUPPORT_TRUE}" && test -z "${OMPI_OMPIO_SUPPORT_FALSE}"; then as_fn_error $? "conditional \"OMPI_OMPIO_SUPPORT\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${SPC_ENABLE_TRUE}" && test -z "${SPC_ENABLE_FALSE}"; then as_fn_error $? "conditional \"SPC_ENABLE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then as_fn_error $? "conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OMPI_HAVE_CXX_COMPILER_TRUE}" && test -z "${OMPI_HAVE_CXX_COMPILER_FALSE}"; then as_fn_error $? "conditional \"OMPI_HAVE_CXX_COMPILER\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OMPI_HAVE_JAVAH_SUPPORT_TRUE}" && test -z "${OMPI_HAVE_JAVAH_SUPPORT_FALSE}"; then as_fn_error $? "conditional \"OMPI_HAVE_JAVAH_SUPPORT\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OMPI_WANT_JAVA_BINDINGS_TRUE}" && test -z "${OMPI_WANT_JAVA_BINDINGS_FALSE}"; then as_fn_error $? "conditional \"OMPI_WANT_JAVA_BINDINGS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_MPI_BINDINGS_LAYER_TRUE}" && test -z "${BUILD_MPI_BINDINGS_LAYER_FALSE}"; then as_fn_error $? "conditional \"BUILD_MPI_BINDINGS_LAYER\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${COMPILE_PROFILING_SEPARATELY_TRUE}" && test -z "${COMPILE_PROFILING_SEPARATELY_FALSE}"; then as_fn_error $? "conditional \"COMPILE_PROFILING_SEPARATELY\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OSHMEM_PROFILING_TRUE}" && test -z "${OSHMEM_PROFILING_FALSE}"; then as_fn_error $? "conditional \"OSHMEM_PROFILING\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OMPI_HAVE_FORTRAN_COMPILER_TRUE}" && test -z "${OMPI_HAVE_FORTRAN_COMPILER_FALSE}"; then as_fn_error $? "conditional \"OMPI_HAVE_FORTRAN_COMPILER\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OMPI_FORTRAN_HAVE_TYPE_MPI_STATUS_TRUE}" && test -z "${OMPI_FORTRAN_HAVE_TYPE_MPI_STATUS_FALSE}"; then as_fn_error $? "conditional \"OMPI_FORTRAN_HAVE_TYPE_MPI_STATUS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_FORTRAN_SIZEOF_TRUE}" && test -z "${BUILD_FORTRAN_SIZEOF_FALSE}"; then as_fn_error $? "conditional \"BUILD_FORTRAN_SIZEOF\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_MPI_FORTRAN_MPIFH_BINDINGS_LAYER_TRUE}" && test -z "${BUILD_MPI_FORTRAN_MPIFH_BINDINGS_LAYER_FALSE}"; then as_fn_error $? "conditional \"BUILD_MPI_FORTRAN_MPIFH_BINDINGS_LAYER\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_PMPI_FORTRAN_MPIFH_BINDINGS_LAYER_TRUE}" && test -z "${BUILD_PMPI_FORTRAN_MPIFH_BINDINGS_LAYER_FALSE}"; then as_fn_error $? "conditional \"BUILD_PMPI_FORTRAN_MPIFH_BINDINGS_LAYER\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OMPI_BUILD_FORTRAN_MPIFH_BINDINGS_TRUE}" && test -z "${OMPI_BUILD_FORTRAN_MPIFH_BINDINGS_FALSE}"; then as_fn_error $? "conditional \"OMPI_BUILD_FORTRAN_MPIFH_BINDINGS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OMPI_BUILD_FORTRAN_USEMPI_BINDINGS_TRUE}" && test -z "${OMPI_BUILD_FORTRAN_USEMPI_BINDINGS_FALSE}"; then as_fn_error $? "conditional \"OMPI_BUILD_FORTRAN_USEMPI_BINDINGS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OMPI_BUILD_FORTRAN_USEMPI_TKR_BINDINGS_TRUE}" && test -z "${OMPI_BUILD_FORTRAN_USEMPI_TKR_BINDINGS_FALSE}"; then as_fn_error $? "conditional \"OMPI_BUILD_FORTRAN_USEMPI_TKR_BINDINGS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OMPI_BUILD_FORTRAN_USEMPI_IGNORE_TKR_BINDINGS_TRUE}" && test -z "${OMPI_BUILD_FORTRAN_USEMPI_IGNORE_TKR_BINDINGS_FALSE}"; then as_fn_error $? "conditional \"OMPI_BUILD_FORTRAN_USEMPI_IGNORE_TKR_BINDINGS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OMPI_BUILD_FORTRAN_USEMPIF08_BINDINGS_TRUE}" && test -z "${OMPI_BUILD_FORTRAN_USEMPIF08_BINDINGS_FALSE}"; then as_fn_error $? "conditional \"OMPI_BUILD_FORTRAN_USEMPIF08_BINDINGS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OMPI_BUILD_ANY_FORTRAN_BINDINGS_TRUE}" && test -z "${OMPI_BUILD_ANY_FORTRAN_BINDINGS_FALSE}"; then as_fn_error $? "conditional \"OMPI_BUILD_ANY_FORTRAN_BINDINGS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MAN_PAGE_BUILD_MPIFH_BINDINGS_TRUE}" && test -z "${MAN_PAGE_BUILD_MPIFH_BINDINGS_FALSE}"; then as_fn_error $? "conditional \"MAN_PAGE_BUILD_MPIFH_BINDINGS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MAN_PAGE_BUILD_USEMPIF08_BINDINGS_TRUE}" && test -z "${MAN_PAGE_BUILD_USEMPIF08_BINDINGS_FALSE}"; then as_fn_error $? "conditional \"MAN_PAGE_BUILD_USEMPIF08_BINDINGS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OSHMEM_BUILD_FORTRAN_BINDINGS_TRUE}" && test -z "${OSHMEM_BUILD_FORTRAN_BINDINGS_FALSE}"; then as_fn_error $? "conditional \"OSHMEM_BUILD_FORTRAN_BINDINGS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OPAL_BUILD_DOCS_TRUE}" && test -z "${OPAL_BUILD_DOCS_FALSE}"; then as_fn_error $? "conditional \"OPAL_BUILD_DOCS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OPAL_INSTALL_DOCS_TRUE}" && test -z "${OPAL_INSTALL_DOCS_FALSE}"; then as_fn_error $? "conditional \"OPAL_INSTALL_DOCS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${CASE_SENSITIVE_FS_TRUE}" && test -z "${CASE_SENSITIVE_FS_FALSE}"; then as_fn_error $? "conditional \"CASE_SENSITIVE_FS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${CASE_SENSITIVE_FS_AND_HAVE_CXX_COMPILER_TRUE}" && test -z "${CASE_SENSITIVE_FS_AND_HAVE_CXX_COMPILER_FALSE}"; then as_fn_error $? "conditional \"CASE_SENSITIVE_FS_AND_HAVE_CXX_COMPILER\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${opal_libevent_CPPFLAGS}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${CPPFLAGS}; 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 "${CPPFLAGS}" then : CPPFLAGS="$oac_list_arg" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${opal_libevent_LDFLAGS}; 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 case e in @%:@( e) LDFLAGS="${LDFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in ${opal_libevent_BUILD_LIBS}; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${LIBS} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${LIBS}" then : LIBS="${oac_list_arg}" else case e in @%:@( e) LIBS="${LIBS} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${LIBS}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi LIBS="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${LIBS}" then : LIBS="${oac_list_arg}" else case e in @%:@( e) LIBS="${LIBS} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${opal_hwloc_CPPFLAGS}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${CPPFLAGS}; 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 "${CPPFLAGS}" then : CPPFLAGS="$oac_list_arg" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in $opal_hwloc_LDFLAGS; 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 case e in @%:@( e) LDFLAGS="${LDFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in ${opal_hwloc_BUILD_LIBS}; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${LIBS} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${LIBS}" then : LIBS="${oac_list_arg}" else case e in @%:@( e) LIBS="${LIBS} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${LIBS}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi LIBS="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${LIBS}" then : LIBS="${oac_list_arg}" else case e in @%:@( e) LIBS="${LIBS} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${opal_pmix_CPPFLAGS}; do oac_list_append=1 case ${oac_list_arg} in @%:@( -I*|-L*|-l*) : for oac_list_val in ${CPPFLAGS}; 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 "${CPPFLAGS}" then : CPPFLAGS="$oac_list_arg" else case e in @%:@( e) CPPFLAGS="${CPPFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val oac_var_scope_push ${LINENO} oac_list_prefix oac_list_append oac_list_arg oac_list_val for oac_list_arg in ${opal_pmix_LDFLAGS}; 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 case e in @%:@( e) LDFLAGS="${LDFLAGS} $oac_list_arg" ;; esac fi fi done oac_var_scope_pop oac_list_prefix oac_list_append oac_list_arg oac_list_val oac_var_scope_push ${LINENO} oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable for oac_list_arg in ${opal_pmix_BUILD_LIBS}; do case ${oac_list_arg} in @%:@( -I*|-L*) : oac_list_append=1 for oac_list_val in ${LIBS} ; do if test "x${oac_list_val}" = "x${oac_list_arg}" then : oac_list_append=0 fi done if test ${oac_list_append} -eq 1 then : if test -z "${LIBS}" then : LIBS="${oac_list_arg}" else case e in @%:@( e) LIBS="${LIBS} ${oac_list_arg}" ;; esac fi fi ;; @%:@( -l*) : oac_list_tmp_variable= for oac_list_val in ${LIBS}; do if test "x${oac_list_val}" != "x${oac_list_arg}" then : if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_val}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_val}" ;; esac fi fi done if test -z "${oac_list_tmp_variable}" then : oac_list_tmp_variable="${oac_list_arg}" else case e in @%:@( e) oac_list_tmp_variable="${oac_list_tmp_variable} ${oac_list_arg}" ;; esac fi LIBS="${oac_list_tmp_variable}" ;; @%:@( *) : if test -z "${LIBS}" then : LIBS="${oac_list_arg}" else case e in @%:@( e) LIBS="${LIBS} ${oac_list_arg}" ;; esac fi ;; esac done oac_var_scope_pop oac_list_arg oac_list_append oac_list_val oac_list_tmp_variable if test -z "${OMPI_WANT_PRRTE_TRUE}" && test -z "${OMPI_WANT_PRRTE_FALSE}"; then as_fn_error $? "conditional \"OMPI_WANT_PRRTE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OMPI_HAVE_PRRTE_RST_TRUE}" && test -z "${OMPI_HAVE_PRRTE_RST_FALSE}"; then as_fn_error $? "conditional \"OMPI_HAVE_PRRTE_RST\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${WANT_FT_TRUE}" && test -z "${WANT_FT_FALSE}"; then as_fn_error $? "conditional \"WANT_FT\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${WANT_FT_MPI_TRUE}" && test -z "${WANT_FT_MPI_FALSE}"; then as_fn_error $? "conditional \"WANT_FT_MPI\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_common_ofi_DSO_TRUE}" && test -z "${MCA_BUILD_opal_common_ofi_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_common_ofi_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_common_sm_DSO_TRUE}" && test -z "${MCA_BUILD_opal_common_sm_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_common_sm_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_common_ucx_DSO_TRUE}" && test -z "${MCA_BUILD_opal_common_ucx_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_common_ucx_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_accelerator_null_DSO_TRUE}" && test -z "${MCA_BUILD_opal_accelerator_null_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_accelerator_null_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OPAL_cuda_support_TRUE}" && test -z "${OPAL_cuda_support_FALSE}"; then as_fn_error $? "conditional \"OPAL_cuda_support\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OPAL_cuda_sync_memops_TRUE}" && test -z "${OPAL_cuda_sync_memops_FALSE}"; then as_fn_error $? "conditional \"OPAL_cuda_sync_memops\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OPAL_cuda_get_attributes_TRUE}" && test -z "${OPAL_cuda_get_attributes_FALSE}"; then as_fn_error $? "conditional \"OPAL_cuda_get_attributes\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OPAL_cuda_gdr_support_TRUE}" && test -z "${OPAL_cuda_gdr_support_FALSE}"; then as_fn_error $? "conditional \"OPAL_cuda_gdr_support\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_accelerator_cuda_DSO_TRUE}" && test -z "${MCA_BUILD_opal_accelerator_cuda_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_accelerator_cuda_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OPAL_rocm_support_TRUE}" && test -z "${OPAL_rocm_support_FALSE}"; then as_fn_error $? "conditional \"OPAL_rocm_support\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_accelerator_rocm_DSO_TRUE}" && test -z "${MCA_BUILD_opal_accelerator_rocm_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_accelerator_rocm_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_allocator_basic_DSO_TRUE}" && test -z "${MCA_BUILD_opal_allocator_basic_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_allocator_basic_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_allocator_bucket_DSO_TRUE}" && test -z "${MCA_BUILD_opal_allocator_bucket_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_allocator_bucket_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_backtrace_execinfo_DSO_TRUE}" && test -z "${MCA_BUILD_opal_backtrace_execinfo_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_backtrace_execinfo_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_backtrace_printstack_DSO_TRUE}" && test -z "${MCA_BUILD_opal_backtrace_printstack_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_backtrace_printstack_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_backtrace_none_DSO_TRUE}" && test -z "${MCA_BUILD_opal_backtrace_none_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_backtrace_none_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_btl_self_DSO_TRUE}" && test -z "${MCA_BUILD_opal_btl_self_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_btl_self_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_btl_ofi_DSO_TRUE}" && test -z "${MCA_BUILD_opal_btl_ofi_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_btl_ofi_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OPAL_BTL_PORTALS4_FLOW_CONTROL_TRUE}" && test -z "${OPAL_BTL_PORTALS4_FLOW_CONTROL_FALSE}"; then as_fn_error $? "conditional \"OPAL_BTL_PORTALS4_FLOW_CONTROL\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_btl_portals4_DSO_TRUE}" && test -z "${MCA_BUILD_opal_btl_portals4_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_btl_portals4_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_btl_sm_DSO_TRUE}" && test -z "${MCA_BUILD_opal_btl_sm_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_btl_sm_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OPAL_cuda_support_TRUE}" && test -z "${OPAL_cuda_support_FALSE}"; then as_fn_error $? "conditional \"OPAL_cuda_support\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OPAL_cuda_sync_memops_TRUE}" && test -z "${OPAL_cuda_sync_memops_FALSE}"; then as_fn_error $? "conditional \"OPAL_cuda_sync_memops\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OPAL_cuda_get_attributes_TRUE}" && test -z "${OPAL_cuda_get_attributes_FALSE}"; then as_fn_error $? "conditional \"OPAL_cuda_get_attributes\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OPAL_cuda_gdr_support_TRUE}" && test -z "${OPAL_cuda_gdr_support_FALSE}"; then as_fn_error $? "conditional \"OPAL_cuda_gdr_support\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_btl_smcuda_DSO_TRUE}" && test -z "${MCA_BUILD_opal_btl_smcuda_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_btl_smcuda_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_btl_tcp_DSO_TRUE}" && test -z "${MCA_BUILD_opal_btl_tcp_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_btl_tcp_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_btl_uct_DSO_TRUE}" && test -z "${MCA_BUILD_opal_btl_uct_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_btl_uct_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_btl_ugni_DSO_TRUE}" && test -z "${MCA_BUILD_opal_btl_ugni_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_btl_ugni_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OPAL_BTL_USNIC_BUILD_UNIT_TESTS_TRUE}" && test -z "${OPAL_BTL_USNIC_BUILD_UNIT_TESTS_FALSE}"; then as_fn_error $? "conditional \"OPAL_BTL_USNIC_BUILD_UNIT_TESTS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_btl_usnic_DSO_TRUE}" && test -z "${MCA_BUILD_opal_btl_usnic_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_btl_usnic_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_dl_dlopen_DSO_TRUE}" && test -z "${MCA_BUILD_opal_dl_dlopen_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_dl_dlopen_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_dl_libltdl_DSO_TRUE}" && test -z "${MCA_BUILD_opal_dl_libltdl_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_dl_libltdl_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_if_bsdx_ipv4_DSO_TRUE}" && test -z "${MCA_BUILD_opal_if_bsdx_ipv4_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_if_bsdx_ipv4_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_if_bsdx_ipv6_DSO_TRUE}" && test -z "${MCA_BUILD_opal_if_bsdx_ipv6_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_if_bsdx_ipv6_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_if_linux_ipv6_DSO_TRUE}" && test -z "${MCA_BUILD_opal_if_linux_ipv6_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_if_linux_ipv6_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_if_posix_ipv4_DSO_TRUE}" && test -z "${MCA_BUILD_opal_if_posix_ipv4_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_if_posix_ipv4_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_if_solaris_ipv6_DSO_TRUE}" && test -z "${MCA_BUILD_opal_if_solaris_ipv6_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_if_solaris_ipv6_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_installdirs_env_DSO_TRUE}" && test -z "${MCA_BUILD_opal_installdirs_env_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_installdirs_env_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_installdirs_config_DSO_TRUE}" && test -z "${MCA_BUILD_opal_installdirs_config_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_installdirs_config_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OPAL_WANT_MEMCHECKER_TRUE}" && test -z "${OPAL_WANT_MEMCHECKER_FALSE}"; then as_fn_error $? "conditional \"OPAL_WANT_MEMCHECKER\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_memchecker_valgrind_DSO_TRUE}" && test -z "${MCA_BUILD_opal_memchecker_valgrind_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_memchecker_valgrind_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_memory_patcher_DSO_TRUE}" && test -z "${MCA_BUILD_opal_memory_patcher_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_memory_patcher_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_memory_malloc_solaris_DSO_TRUE}" && test -z "${MCA_BUILD_opal_memory_malloc_solaris_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_memory_malloc_solaris_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_mpool_hugepage_DSO_TRUE}" && test -z "${MCA_BUILD_opal_mpool_hugepage_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_mpool_hugepage_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_mpool_memkind_DSO_TRUE}" && test -z "${MCA_BUILD_opal_mpool_memkind_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_mpool_memkind_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_patcher_overwrite_DSO_TRUE}" && test -z "${MCA_BUILD_opal_patcher_overwrite_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_patcher_overwrite_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_rcache_grdma_DSO_TRUE}" && test -z "${MCA_BUILD_opal_rcache_grdma_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_rcache_grdma_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OPAL_cuda_support_TRUE}" && test -z "${OPAL_cuda_support_FALSE}"; then as_fn_error $? "conditional \"OPAL_cuda_support\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OPAL_cuda_sync_memops_TRUE}" && test -z "${OPAL_cuda_sync_memops_FALSE}"; then as_fn_error $? "conditional \"OPAL_cuda_sync_memops\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OPAL_cuda_get_attributes_TRUE}" && test -z "${OPAL_cuda_get_attributes_FALSE}"; then as_fn_error $? "conditional \"OPAL_cuda_get_attributes\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OPAL_cuda_gdr_support_TRUE}" && test -z "${OPAL_cuda_gdr_support_FALSE}"; then as_fn_error $? "conditional \"OPAL_cuda_gdr_support\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_rcache_gpusm_DSO_TRUE}" && test -z "${MCA_BUILD_opal_rcache_gpusm_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_rcache_gpusm_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OPAL_cuda_support_TRUE}" && test -z "${OPAL_cuda_support_FALSE}"; then as_fn_error $? "conditional \"OPAL_cuda_support\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OPAL_cuda_sync_memops_TRUE}" && test -z "${OPAL_cuda_sync_memops_FALSE}"; then as_fn_error $? "conditional \"OPAL_cuda_sync_memops\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OPAL_cuda_get_attributes_TRUE}" && test -z "${OPAL_cuda_get_attributes_FALSE}"; then as_fn_error $? "conditional \"OPAL_cuda_get_attributes\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OPAL_cuda_gdr_support_TRUE}" && test -z "${OPAL_cuda_gdr_support_FALSE}"; then as_fn_error $? "conditional \"OPAL_cuda_gdr_support\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_rcache_rgpusm_DSO_TRUE}" && test -z "${MCA_BUILD_opal_rcache_rgpusm_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_rcache_rgpusm_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_rcache_udreg_DSO_TRUE}" && test -z "${MCA_BUILD_opal_rcache_udreg_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_rcache_udreg_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_reachable_weighted_DSO_TRUE}" && test -z "${MCA_BUILD_opal_reachable_weighted_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_reachable_weighted_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_reachable_netlink_DSO_TRUE}" && test -z "${MCA_BUILD_opal_reachable_netlink_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_reachable_netlink_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_shmem_mmap_DSO_TRUE}" && test -z "${MCA_BUILD_opal_shmem_mmap_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_shmem_mmap_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_shmem_posix_DSO_TRUE}" && test -z "${MCA_BUILD_opal_shmem_posix_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_shmem_posix_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_shmem_sysv_DSO_TRUE}" && test -z "${MCA_BUILD_opal_shmem_sysv_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_shmem_sysv_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_smsc_cma_DSO_TRUE}" && test -z "${MCA_BUILD_opal_smsc_cma_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_smsc_cma_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_smsc_knem_DSO_TRUE}" && test -z "${MCA_BUILD_opal_smsc_knem_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_smsc_knem_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_smsc_xpmem_DSO_TRUE}" && test -z "${MCA_BUILD_opal_smsc_xpmem_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_smsc_xpmem_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_threads_argobots_DSO_TRUE}" && test -z "${MCA_BUILD_opal_threads_argobots_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_threads_argobots_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_threads_pthreads_DSO_TRUE}" && test -z "${MCA_BUILD_opal_threads_pthreads_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_threads_pthreads_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_threads_qthreads_DSO_TRUE}" && test -z "${MCA_BUILD_opal_threads_qthreads_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_threads_qthreads_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_timer_altix_DSO_TRUE}" && test -z "${MCA_BUILD_opal_timer_altix_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_timer_altix_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_timer_darwin_DSO_TRUE}" && test -z "${MCA_BUILD_opal_timer_darwin_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_timer_darwin_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_timer_linux_DSO_TRUE}" && test -z "${MCA_BUILD_opal_timer_linux_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_timer_linux_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_opal_timer_solaris_DSO_TRUE}" && test -z "${MCA_BUILD_opal_timer_solaris_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_opal_timer_solaris_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_common_monitoring_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_common_monitoring_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_common_monitoring_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_common_ompio_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_common_ompio_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_common_ompio_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_bml_r2_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_bml_r2_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_bml_r2_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_coll_adapt_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_coll_adapt_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_coll_adapt_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_coll_basic_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_coll_basic_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_coll_basic_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_coll_han_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_coll_han_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_coll_han_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_coll_inter_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_coll_inter_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_coll_inter_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_coll_libnbc_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_coll_libnbc_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_coll_libnbc_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_coll_self_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_coll_self_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_coll_self_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_coll_sync_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_coll_sync_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_coll_sync_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_coll_tuned_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_coll_tuned_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_coll_tuned_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_coll_cuda_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_coll_cuda_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_coll_cuda_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_coll_ftagree_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_coll_ftagree_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_coll_ftagree_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_coll_hcoll_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_coll_hcoll_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_coll_hcoll_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_coll_monitoring_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_coll_monitoring_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_coll_monitoring_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_coll_portals4_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_coll_portals4_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_coll_portals4_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_coll_sm_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_coll_sm_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_coll_sm_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_coll_ucc_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_coll_ucc_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_coll_ucc_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_fbtl_ime_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_fbtl_ime_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_fbtl_ime_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_fbtl_posix_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_fbtl_posix_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_fbtl_posix_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_fbtl_pvfs2_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_fbtl_pvfs2_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_fbtl_pvfs2_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_fcoll_dynamic_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_fcoll_dynamic_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_fcoll_dynamic_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_fcoll_dynamic_gen2_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_fcoll_dynamic_gen2_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_fcoll_dynamic_gen2_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_fcoll_individual_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_fcoll_individual_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_fcoll_individual_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_fcoll_vulcan_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_fcoll_vulcan_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_fcoll_vulcan_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_fs_gpfs_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_fs_gpfs_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_fs_gpfs_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_fs_ime_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_fs_ime_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_fs_ime_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_fs_lustre_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_fs_lustre_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_fs_lustre_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_fs_pvfs2_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_fs_pvfs2_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_fs_pvfs2_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_fs_ufs_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_fs_ufs_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_fs_ufs_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_hook_comm_method_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_hook_comm_method_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_hook_comm_method_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_io_ompio_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_io_ompio_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_io_ompio_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_io_romio341_SHOULD_BUILD_TRUE}" && test -z "${MCA_io_romio341_SHOULD_BUILD_FALSE}"; then as_fn_error $? "conditional \"MCA_io_romio341_SHOULD_BUILD\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_io_romio341_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_io_romio341_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_io_romio341_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_mtl_ofi_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_mtl_ofi_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_mtl_ofi_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OMPI_MTL_PORTALS4_FLOW_CONTROL_TRUE}" && test -z "${OMPI_MTL_PORTALS4_FLOW_CONTROL_FALSE}"; then as_fn_error $? "conditional \"OMPI_MTL_PORTALS4_FLOW_CONTROL\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_mtl_portals4_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_mtl_portals4_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_mtl_portals4_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_mtl_psm2_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_mtl_psm2_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_mtl_psm2_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_op_has_neon_support_TRUE}" && test -z "${MCA_BUILD_ompi_op_has_neon_support_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_op_has_neon_support\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_op_has_neon_fp_support_TRUE}" && test -z "${MCA_BUILD_ompi_op_has_neon_fp_support_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_op_has_neon_fp_support\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_op_has_sve_support_TRUE}" && test -z "${MCA_BUILD_ompi_op_has_sve_support_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_op_has_sve_support\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_op_aarch64_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_op_aarch64_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_op_aarch64_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_op_has_avx512_support_TRUE}" && test -z "${MCA_BUILD_ompi_op_has_avx512_support_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_op_has_avx512_support\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_op_has_avx2_support_TRUE}" && test -z "${MCA_BUILD_ompi_op_has_avx2_support_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_op_has_avx2_support\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_op_has_avx_support_TRUE}" && test -z "${MCA_BUILD_ompi_op_has_avx_support_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_op_has_avx_support\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_op_has_sse41_support_TRUE}" && test -z "${MCA_BUILD_ompi_op_has_sse41_support_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_op_has_sse41_support\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_op_has_sse3_support_TRUE}" && test -z "${MCA_BUILD_ompi_op_has_sse3_support_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_op_has_sse3_support\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_op_avx_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_op_avx_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_op_avx_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_osc_sm_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_osc_sm_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_osc_sm_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_osc_monitoring_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_osc_monitoring_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_osc_monitoring_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_osc_portals4_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_osc_portals4_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_osc_portals4_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_osc_rdma_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_osc_rdma_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_osc_rdma_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_osc_ucx_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_osc_ucx_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_osc_ucx_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_part_persist_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_part_persist_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_part_persist_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_pml_cm_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_pml_cm_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_pml_cm_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_pml_monitoring_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_pml_monitoring_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_pml_monitoring_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_pml_ob1_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_pml_ob1_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_pml_ob1_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_pml_ucx_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_pml_ucx_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_pml_ucx_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_pml_v_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_pml_v_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_pml_v_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_sharedfp_individual_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_sharedfp_individual_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_sharedfp_individual_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_sharedfp_lockedfile_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_sharedfp_lockedfile_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_sharedfp_lockedfile_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_sharedfp_sm_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_sharedfp_sm_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_sharedfp_sm_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_topo_basic_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_topo_basic_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_topo_basic_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_topo_treematch_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_topo_treematch_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_topo_treematch_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_ompi_vprotocol_pessimist_DSO_TRUE}" && test -z "${MCA_BUILD_ompi_vprotocol_pessimist_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_ompi_vprotocol_pessimist_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_oshmem_atomic_basic_DSO_TRUE}" && test -z "${MCA_BUILD_oshmem_atomic_basic_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_oshmem_atomic_basic_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_oshmem_atomic_ucx_DSO_TRUE}" && test -z "${MCA_BUILD_oshmem_atomic_ucx_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_oshmem_atomic_ucx_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_oshmem_memheap_buddy_DSO_TRUE}" && test -z "${MCA_BUILD_oshmem_memheap_buddy_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_oshmem_memheap_buddy_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_oshmem_memheap_ptmalloc_DSO_TRUE}" && test -z "${MCA_BUILD_oshmem_memheap_ptmalloc_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_oshmem_memheap_ptmalloc_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_oshmem_scoll_basic_DSO_TRUE}" && test -z "${MCA_BUILD_oshmem_scoll_basic_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_oshmem_scoll_basic_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_oshmem_scoll_mpi_DSO_TRUE}" && test -z "${MCA_BUILD_oshmem_scoll_mpi_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_oshmem_scoll_mpi_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_oshmem_scoll_ucc_DSO_TRUE}" && test -z "${MCA_BUILD_oshmem_scoll_ucc_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_oshmem_scoll_ucc_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_oshmem_spml_ucx_DSO_TRUE}" && test -z "${MCA_BUILD_oshmem_spml_ucx_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_oshmem_spml_ucx_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_oshmem_sshmem_mmap_DSO_TRUE}" && test -z "${MCA_BUILD_oshmem_sshmem_mmap_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_oshmem_sshmem_mmap_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_oshmem_sshmem_sysv_DSO_TRUE}" && test -z "${MCA_BUILD_oshmem_sshmem_sysv_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_oshmem_sshmem_sysv_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MCA_BUILD_oshmem_sshmem_ucx_DSO_TRUE}" && test -z "${MCA_BUILD_oshmem_sshmem_ucx_DSO_FALSE}"; then as_fn_error $? "conditional \"MCA_BUILD_oshmem_sshmem_ucx_DSO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OMPI_BUILD_FORTRAN_USEMPI_EXT_TRUE}" && test -z "${OMPI_BUILD_FORTRAN_USEMPI_EXT_FALSE}"; then as_fn_error $? "conditional \"OMPI_BUILD_FORTRAN_USEMPI_EXT\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OMPI_BUILD_FORTRAN_USEMPIF08_EXT_TRUE}" && test -z "${OMPI_BUILD_FORTRAN_USEMPIF08_EXT_FALSE}"; then as_fn_error $? "conditional \"OMPI_BUILD_FORTRAN_USEMPIF08_EXT\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${OMPI_BUILD_FORTRAN_USEMPI_OR_USEMPIF08_EXT_TRUE}" && test -z "${OMPI_BUILD_FORTRAN_USEMPI_OR_USEMPIF08_EXT_FALSE}"; then as_fn_error $? "conditional \"OMPI_BUILD_FORTRAN_USEMPI_OR_USEMPIF08_EXT\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${PROJECT_OMPI_TRUE}" && test -z "${PROJECT_OMPI_FALSE}"; then as_fn_error $? "conditional \"PROJECT_OMPI\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${PROJECT_OSHMEM_TRUE}" && test -z "${PROJECT_OSHMEM_FALSE}"; then as_fn_error $? "conditional \"PROJECT_OSHMEM\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 printf "%s\n" "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh 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 case e in @%:@( e) case `(set -o) 2>/dev/null` in @%:@( *posix*) : set -o posix ;; @%:@( *) : ;; esac ;; 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 @%:@ as_fn_error STATUS ERROR [LINENO LOG_FD] @%:@ ---------------------------------------- @%:@ Output "`basename @S|@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 @%:@ as_fn_set_status STATUS @%:@ ----------------------- @%:@ Set @S|@? to STATUS, without forking. as_fn_set_status () { return $1 } @%:@ as_fn_set_status @%:@ as_fn_exit STATUS @%:@ ----------------- @%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } @%:@ as_fn_exit @%:@ as_fn_unset VAR @%:@ --------------- @%:@ Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset @%:@ as_fn_append VAR VALUE @%:@ ---------------------- @%:@ Append the text in VALUE to the end of the definition contained in VAR. Take @%:@ advantage of any shell optimizations that allow amortized linear growth over @%:@ repeated appends, instead of the typical quadratic growth present in naive @%:@ implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null then : eval 'as_fn_append () { eval $1+=\$2 }' else case e in @%:@( e) as_fn_append () { eval $1=\$$1\$2 } ;; esac fi # as_fn_append @%:@ as_fn_arith ARG... @%:@ ------------------ @%:@ Perform arithmetic evaluation on the ARGs, and store the result in the @%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments @%:@ must be portable across @S|@(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null then : eval 'as_fn_arith () { as_val=$(( $* )) }' else case e in @%:@( e) as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } ;; esac fi # as_fn_arith 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 # 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_@&t@echo='printf %s\n' as_@&t@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 @%:@ as_fn_mkdir_p @%:@ ------------- @%:@ Create "@S|@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 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_fn_executable_p FILE @%:@ ----------------------- @%:@ Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } @%:@ as_fn_executable_p as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_sed_cpp="y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" as_tr_cpp="eval sed '$as_sed_cpp'" # deprecated # Sed expression to map a string onto a valid variable name. as_sed_sh="y%*+%pp%;s%[^_$as_cr_alnum]%_%g" as_tr_sh="eval sed '$as_sed_sh'" # deprecated exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by Open MPI $as_me 5.0.5, which was generated by GNU Autoconf 2.72. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac case $ac_config_headers in *" "*) set x $ac_config_headers; shift; ac_config_headers=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_links="$ac_config_links" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ '$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration links: $config_links Configuration commands: $config_commands Report bugs to ." _ACEOF ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ Open MPI config.status 5.0.5 configured by $0, generated by GNU Autoconf 2.72, with options \\"\$ac_cs_config\\" Copyright (C) 2023 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' AWK='$AWK' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; --*=) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg= ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) printf "%s\n" "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) printf "%s\n" "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header as_fn_error $? "ambiguous option: '$1' Try '$0 --help' for more information.";; --help | --hel | -h ) printf "%s\n" "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: '$1' Try '$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \printf "%s\n" "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX @%:@@%:@ Running $as_me. @%:@@%:@ _ASBOX printf "%s\n" "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`' SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' FILECMD='`$ECHO "$FILECMD" | $SED "$delay_single_quote_subst"`' OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' lt_ar_flags='`$ECHO "$lt_ar_flags" | $SED "$delay_single_quote_subst"`' AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`' nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`' objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`' configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`' hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`' predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`' postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`' predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`' postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`' compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`' LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`' LD_FC='`$ECHO "$LD_FC" | $SED "$delay_single_quote_subst"`' reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`' reload_flag_FC='`$ECHO "$reload_flag_FC" | $SED "$delay_single_quote_subst"`' reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`' reload_cmds_FC='`$ECHO "$reload_cmds_FC" | $SED "$delay_single_quote_subst"`' old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' old_archive_cmds_FC='`$ECHO "$old_archive_cmds_FC" | $SED "$delay_single_quote_subst"`' compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`' compiler_FC='`$ECHO "$compiler_FC" | $SED "$delay_single_quote_subst"`' GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`' GCC_FC='`$ECHO "$GCC_FC" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_no_builtin_flag_FC='`$ECHO "$lt_prog_compiler_no_builtin_flag_FC" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_pic_FC='`$ECHO "$lt_prog_compiler_pic_FC" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_wl_FC='`$ECHO "$lt_prog_compiler_wl_FC" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_static_FC='`$ECHO "$lt_prog_compiler_static_FC" | $SED "$delay_single_quote_subst"`' lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`' lt_cv_prog_compiler_c_o_FC='`$ECHO "$lt_cv_prog_compiler_c_o_FC" | $SED "$delay_single_quote_subst"`' archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`' archive_cmds_need_lc_FC='`$ECHO "$archive_cmds_need_lc_FC" | $SED "$delay_single_quote_subst"`' enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`' enable_shared_with_static_runtimes_FC='`$ECHO "$enable_shared_with_static_runtimes_FC" | $SED "$delay_single_quote_subst"`' export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' export_dynamic_flag_spec_FC='`$ECHO "$export_dynamic_flag_spec_FC" | $SED "$delay_single_quote_subst"`' whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' whole_archive_flag_spec_FC='`$ECHO "$whole_archive_flag_spec_FC" | $SED "$delay_single_quote_subst"`' compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`' compiler_needs_object_FC='`$ECHO "$compiler_needs_object_FC" | $SED "$delay_single_quote_subst"`' old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`' old_archive_from_new_cmds_FC='`$ECHO "$old_archive_from_new_cmds_FC" | $SED "$delay_single_quote_subst"`' old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`' old_archive_from_expsyms_cmds_FC='`$ECHO "$old_archive_from_expsyms_cmds_FC" | $SED "$delay_single_quote_subst"`' archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' archive_cmds_FC='`$ECHO "$archive_cmds_FC" | $SED "$delay_single_quote_subst"`' archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' archive_expsym_cmds_FC='`$ECHO "$archive_expsym_cmds_FC" | $SED "$delay_single_quote_subst"`' module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`' module_cmds_FC='`$ECHO "$module_cmds_FC" | $SED "$delay_single_quote_subst"`' module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' module_expsym_cmds_FC='`$ECHO "$module_expsym_cmds_FC" | $SED "$delay_single_quote_subst"`' with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`' with_gnu_ld_FC='`$ECHO "$with_gnu_ld_FC" | $SED "$delay_single_quote_subst"`' allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' allow_undefined_flag_FC='`$ECHO "$allow_undefined_flag_FC" | $SED "$delay_single_quote_subst"`' no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' no_undefined_flag_FC='`$ECHO "$no_undefined_flag_FC" | $SED "$delay_single_quote_subst"`' hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' hardcode_libdir_flag_spec_FC='`$ECHO "$hardcode_libdir_flag_spec_FC" | $SED "$delay_single_quote_subst"`' hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`' hardcode_libdir_separator_FC='`$ECHO "$hardcode_libdir_separator_FC" | $SED "$delay_single_quote_subst"`' hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`' hardcode_direct_FC='`$ECHO "$hardcode_direct_FC" | $SED "$delay_single_quote_subst"`' hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`' hardcode_direct_absolute_FC='`$ECHO "$hardcode_direct_absolute_FC" | $SED "$delay_single_quote_subst"`' hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`' hardcode_minus_L_FC='`$ECHO "$hardcode_minus_L_FC" | $SED "$delay_single_quote_subst"`' hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`' hardcode_shlibpath_var_FC='`$ECHO "$hardcode_shlibpath_var_FC" | $SED "$delay_single_quote_subst"`' hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`' hardcode_automatic_FC='`$ECHO "$hardcode_automatic_FC" | $SED "$delay_single_quote_subst"`' inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`' inherit_rpath_FC='`$ECHO "$inherit_rpath_FC" | $SED "$delay_single_quote_subst"`' link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`' link_all_deplibs_FC='`$ECHO "$link_all_deplibs_FC" | $SED "$delay_single_quote_subst"`' always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`' always_export_symbols_FC='`$ECHO "$always_export_symbols_FC" | $SED "$delay_single_quote_subst"`' export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`' export_symbols_cmds_FC='`$ECHO "$export_symbols_cmds_FC" | $SED "$delay_single_quote_subst"`' exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`' exclude_expsyms_FC='`$ECHO "$exclude_expsyms_FC" | $SED "$delay_single_quote_subst"`' include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`' include_expsyms_FC='`$ECHO "$include_expsyms_FC" | $SED "$delay_single_quote_subst"`' prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`' prelink_cmds_FC='`$ECHO "$prelink_cmds_FC" | $SED "$delay_single_quote_subst"`' postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`' postlink_cmds_FC='`$ECHO "$postlink_cmds_FC" | $SED "$delay_single_quote_subst"`' file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`' file_list_spec_FC='`$ECHO "$file_list_spec_FC" | $SED "$delay_single_quote_subst"`' hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`' hardcode_action_FC='`$ECHO "$hardcode_action_FC" | $SED "$delay_single_quote_subst"`' compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`' compiler_lib_search_dirs_FC='`$ECHO "$compiler_lib_search_dirs_FC" | $SED "$delay_single_quote_subst"`' predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`' predep_objects_FC='`$ECHO "$predep_objects_FC" | $SED "$delay_single_quote_subst"`' postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`' postdep_objects_FC='`$ECHO "$postdep_objects_FC" | $SED "$delay_single_quote_subst"`' predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`' predeps_FC='`$ECHO "$predeps_FC" | $SED "$delay_single_quote_subst"`' postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`' postdeps_FC='`$ECHO "$postdeps_FC" | $SED "$delay_single_quote_subst"`' compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`' compiler_lib_search_path_FC='`$ECHO "$compiler_lib_search_path_FC" | $SED "$delay_single_quote_subst"`' LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF \$1 _LTECHO_EOF' } # Quote evaled strings. for var in NM \ SHELL \ ECHO \ PATH_SEPARATOR \ SED \ GREP \ EGREP \ FGREP \ LD \ LN_S \ lt_SP2NL \ lt_NL2SP \ reload_flag \ FILECMD \ OBJDUMP \ deplibs_check_method \ file_magic_cmd \ file_magic_glob \ want_nocaseglob \ DLLTOOL \ sharedlib_from_linklib_cmd \ AR \ archiver_list_spec \ STRIP \ RANLIB \ CC \ CFLAGS \ compiler \ lt_cv_sys_global_symbol_pipe \ lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_import \ lt_cv_sys_global_symbol_to_c_name_address \ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ lt_cv_nm_interface \ nm_file_list_spec \ lt_cv_truncate_bin \ lt_prog_compiler_no_builtin_flag \ lt_prog_compiler_pic \ lt_prog_compiler_wl \ lt_prog_compiler_static \ lt_cv_prog_compiler_c_o \ need_locks \ MANIFEST_TOOL \ DSYMUTIL \ NMEDIT \ LIPO \ OTOOL \ OTOOL64 \ shrext_cmds \ export_dynamic_flag_spec \ whole_archive_flag_spec \ compiler_needs_object \ with_gnu_ld \ allow_undefined_flag \ no_undefined_flag \ hardcode_libdir_flag_spec \ hardcode_libdir_separator \ exclude_expsyms \ include_expsyms \ file_list_spec \ variables_saved_for_relink \ libname_spec \ library_names_spec \ soname_spec \ install_override_mode \ finish_eval \ old_striplib \ striplib \ compiler_lib_search_dirs \ predep_objects \ postdep_objects \ predeps \ postdeps \ compiler_lib_search_path \ LD_CXX \ LD_FC \ reload_flag_CXX \ reload_flag_FC \ compiler_CXX \ compiler_FC \ lt_prog_compiler_no_builtin_flag_CXX \ lt_prog_compiler_no_builtin_flag_FC \ lt_prog_compiler_pic_CXX \ lt_prog_compiler_pic_FC \ lt_prog_compiler_wl_CXX \ lt_prog_compiler_wl_FC \ lt_prog_compiler_static_CXX \ lt_prog_compiler_static_FC \ lt_cv_prog_compiler_c_o_CXX \ lt_cv_prog_compiler_c_o_FC \ export_dynamic_flag_spec_CXX \ export_dynamic_flag_spec_FC \ whole_archive_flag_spec_CXX \ whole_archive_flag_spec_FC \ compiler_needs_object_CXX \ compiler_needs_object_FC \ with_gnu_ld_CXX \ with_gnu_ld_FC \ allow_undefined_flag_CXX \ allow_undefined_flag_FC \ no_undefined_flag_CXX \ no_undefined_flag_FC \ hardcode_libdir_flag_spec_CXX \ hardcode_libdir_flag_spec_FC \ hardcode_libdir_separator_CXX \ hardcode_libdir_separator_FC \ exclude_expsyms_CXX \ exclude_expsyms_FC \ include_expsyms_CXX \ include_expsyms_FC \ file_list_spec_CXX \ file_list_spec_FC \ compiler_lib_search_dirs_CXX \ compiler_lib_search_dirs_FC \ predep_objects_CXX \ predep_objects_FC \ postdep_objects_CXX \ postdep_objects_FC \ predeps_CXX \ predeps_FC \ postdeps_CXX \ postdeps_FC \ compiler_lib_search_path_CXX \ compiler_lib_search_path_FC; do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Double-quote double-evaled strings. for var in reload_cmds \ old_postinstall_cmds \ old_postuninstall_cmds \ old_archive_cmds \ extract_expsyms_cmds \ old_archive_from_new_cmds \ old_archive_from_expsyms_cmds \ archive_cmds \ archive_expsym_cmds \ module_cmds \ module_expsym_cmds \ export_symbols_cmds \ prelink_cmds \ postlink_cmds \ postinstall_cmds \ postuninstall_cmds \ finish_cmds \ sys_lib_search_path_spec \ configure_time_dlsearch_path \ configure_time_lt_sys_library_path \ reload_cmds_CXX \ reload_cmds_FC \ old_archive_cmds_CXX \ old_archive_cmds_FC \ old_archive_from_new_cmds_CXX \ old_archive_from_new_cmds_FC \ old_archive_from_expsyms_cmds_CXX \ old_archive_from_expsyms_cmds_FC \ archive_cmds_CXX \ archive_cmds_FC \ archive_expsym_cmds_CXX \ archive_expsym_cmds_FC \ module_cmds_CXX \ module_cmds_FC \ module_expsym_cmds_CXX \ module_expsym_cmds_FC \ export_symbols_cmds_CXX \ export_symbols_cmds_FC \ prelink_cmds_CXX \ prelink_cmds_FC \ postlink_cmds_CXX \ postlink_cmds_FC; do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done ac_aux_dir='$ac_aux_dir' # See if we are running on zsh, and set the options that allow our # commands through without removal of \ escapes INIT. if test -n "\${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi PACKAGE='$PACKAGE' VERSION='$VERSION' RM='$RM' ofile='$ofile' ac_aux_dir='$ac_aux_dir' _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "ompi/include/ompi/version.h") CONFIG_FILES="$CONFIG_FILES ompi/include/ompi/version.h" ;; "oshmem/include/oshmem/version.h") CONFIG_FILES="$CONFIG_FILES oshmem/include/oshmem/version.h" ;; "opal/include/opal/version.h") CONFIG_FILES="$CONFIG_FILES opal/include/opal/version.h" ;; "opal/include/opal_config.h") CONFIG_HEADERS="$CONFIG_HEADERS opal/include/opal_config.h" ;; "ompi/include/mpi.h") CONFIG_HEADERS="$CONFIG_HEADERS ompi/include/mpi.h" ;; "oshmem/include/shmem.h") CONFIG_HEADERS="$CONFIG_HEADERS oshmem/include/shmem.h" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "ompi/mpi/java/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mpi/java/Makefile" ;; "ompi/mpi/java/java/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mpi/java/java/Makefile" ;; "ompi/mpi/java/c/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mpi/java/c/Makefile" ;; "ompi/mpi/fortran/configure-fortran-output.h") CONFIG_FILES="$CONFIG_FILES ompi/mpi/fortran/configure-fortran-output.h" ;; "opal/mca/common/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/common/Makefile" ;; "opal/mca/common/ofi/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/common/ofi/Makefile" ;; "opal/mca/common/sm/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/common/sm/Makefile" ;; "opal/mca/common/ucx/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/common/ucx/Makefile" ;; "opal/mca/accelerator/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/accelerator/Makefile" ;; "opal/mca/accelerator/null/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/accelerator/null/Makefile" ;; "opal/mca/accelerator/cuda/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/accelerator/cuda/Makefile" ;; "opal/mca/accelerator/rocm/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/accelerator/rocm/Makefile" ;; "opal/mca/allocator/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/allocator/Makefile" ;; "opal/mca/allocator/basic/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/allocator/basic/Makefile" ;; "opal/mca/allocator/bucket/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/allocator/bucket/Makefile" ;; "opal/mca/backtrace/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/backtrace/Makefile" ;; "opal/mca/backtrace/execinfo/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/backtrace/execinfo/Makefile" ;; "opal/mca/backtrace/printstack/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/backtrace/printstack/Makefile" ;; "opal/mca/backtrace/none/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/backtrace/none/Makefile" ;; "opal/mca/btl/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/btl/Makefile" ;; "opal/mca/btl/self/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/btl/self/Makefile" ;; "opal/mca/btl/ofi/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/btl/ofi/Makefile" ;; "opal/mca/btl/portals4/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/btl/portals4/Makefile" ;; "opal/mca/btl/sm/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/btl/sm/Makefile" ;; "opal/mca/btl/smcuda/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/btl/smcuda/Makefile" ;; "opal/mca/btl/tcp/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/btl/tcp/Makefile" ;; "opal/mca/btl/uct/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/btl/uct/Makefile" ;; "opal/mca/btl/ugni/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/btl/ugni/Makefile" ;; "opal/mca/btl/usnic/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/btl/usnic/Makefile" ;; "opal/mca/dl/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/dl/Makefile" ;; "opal/mca/dl/dlopen/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/dl/dlopen/Makefile" ;; "opal/mca/dl/libltdl/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/dl/libltdl/Makefile" ;; "opal/mca/hwloc/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/hwloc/Makefile" ;; "opal/mca/if/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/if/Makefile" ;; "opal/mca/if/bsdx_ipv4/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/if/bsdx_ipv4/Makefile" ;; "opal/mca/if/bsdx_ipv6/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/if/bsdx_ipv6/Makefile" ;; "opal/mca/if/linux_ipv6/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/if/linux_ipv6/Makefile" ;; "opal/mca/if/posix_ipv4/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/if/posix_ipv4/Makefile" ;; "opal/mca/if/solaris_ipv6/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/if/solaris_ipv6/Makefile" ;; "opal/mca/installdirs/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/installdirs/Makefile" ;; "opal/mca/installdirs/env/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/installdirs/env/Makefile" ;; "opal/mca/installdirs/config/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/installdirs/config/Makefile" ;; "opal/mca/installdirs/config/install_dirs.h") CONFIG_FILES="$CONFIG_FILES opal/mca/installdirs/config/install_dirs.h" ;; "opal/mca/memchecker/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/memchecker/Makefile" ;; "opal/mca/memchecker/valgrind/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/memchecker/valgrind/Makefile" ;; "opal/mca/memcpy/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/memcpy/Makefile" ;; "opal/mca/memory/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/memory/Makefile" ;; "opal/mca/memory/patcher/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/memory/patcher/Makefile" ;; "opal/mca/memory/malloc_solaris/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/memory/malloc_solaris/Makefile" ;; "opal/mca/mpool/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/mpool/Makefile" ;; "opal/mca/mpool/hugepage/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/mpool/hugepage/Makefile" ;; "opal/mca/mpool/memkind/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/mpool/memkind/Makefile" ;; "opal/mca/patcher/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/patcher/Makefile" ;; "opal/mca/patcher/overwrite/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/patcher/overwrite/Makefile" ;; "opal/mca/pmix/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/pmix/Makefile" ;; "opal/mca/rcache/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/rcache/Makefile" ;; "opal/mca/rcache/grdma/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/rcache/grdma/Makefile" ;; "opal/mca/rcache/gpusm/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/rcache/gpusm/Makefile" ;; "opal/mca/rcache/rgpusm/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/rcache/rgpusm/Makefile" ;; "opal/mca/rcache/udreg/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/rcache/udreg/Makefile" ;; "opal/mca/reachable/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/reachable/Makefile" ;; "opal/mca/reachable/weighted/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/reachable/weighted/Makefile" ;; "opal/mca/reachable/netlink/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/reachable/netlink/Makefile" ;; "opal/mca/shmem/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/shmem/Makefile" ;; "opal/mca/shmem/mmap/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/shmem/mmap/Makefile" ;; "opal/mca/shmem/posix/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/shmem/posix/Makefile" ;; "opal/mca/shmem/sysv/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/shmem/sysv/Makefile" ;; "opal/mca/smsc/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/smsc/Makefile" ;; "opal/mca/smsc/cma/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/smsc/cma/Makefile" ;; "opal/mca/smsc/knem/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/smsc/knem/Makefile" ;; "opal/mca/smsc/xpmem/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/smsc/xpmem/Makefile" ;; "opal/mca/threads/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/threads/Makefile" ;; "opal/mca/threads/argobots/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/threads/argobots/Makefile" ;; "opal/mca/threads/pthreads/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/threads/pthreads/Makefile" ;; "opal/mca/threads/qthreads/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/threads/qthreads/Makefile" ;; "opal/mca/timer/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/timer/Makefile" ;; "opal/mca/timer/altix/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/timer/altix/Makefile" ;; "opal/mca/timer/darwin/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/timer/darwin/Makefile" ;; "opal/mca/timer/linux/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/timer/linux/Makefile" ;; "opal/mca/timer/solaris/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/timer/solaris/Makefile" ;; "ompi/mca/common/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/common/Makefile" ;; "ompi/mca/common/monitoring/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/common/monitoring/Makefile" ;; "test/monitoring/profile2mat.pl") CONFIG_LINKS="$CONFIG_LINKS test/monitoring/profile2mat.pl:ompi/mca/common/monitoring/profile2mat.pl" ;; "test/monitoring/aggregate_profile.pl") CONFIG_LINKS="$CONFIG_LINKS test/monitoring/aggregate_profile.pl:ompi/mca/common/monitoring/aggregate_profile.pl" ;; "ompi/mca/common/ompio/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/common/ompio/Makefile" ;; "ompi/mca/bml/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/bml/Makefile" ;; "ompi/mca/bml/r2/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/bml/r2/Makefile" ;; "ompi/mca/coll/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/coll/Makefile" ;; "ompi/mca/coll/adapt/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/coll/adapt/Makefile" ;; "ompi/mca/coll/basic/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/coll/basic/Makefile" ;; "ompi/mca/coll/han/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/coll/han/Makefile" ;; "ompi/mca/coll/inter/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/coll/inter/Makefile" ;; "ompi/mca/coll/libnbc/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/coll/libnbc/Makefile" ;; "ompi/mca/coll/self/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/coll/self/Makefile" ;; "ompi/mca/coll/sync/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/coll/sync/Makefile" ;; "ompi/mca/coll/tuned/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/coll/tuned/Makefile" ;; "ompi/mca/coll/cuda/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/coll/cuda/Makefile" ;; "ompi/mca/coll/ftagree/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/coll/ftagree/Makefile" ;; "ompi/mca/coll/hcoll/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/coll/hcoll/Makefile" ;; "ompi/mca/coll/monitoring/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/coll/monitoring/Makefile" ;; "ompi/mca/coll/portals4/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/coll/portals4/Makefile" ;; "ompi/mca/coll/sm/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/coll/sm/Makefile" ;; "ompi/mca/coll/ucc/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/coll/ucc/Makefile" ;; "ompi/mca/fbtl/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/fbtl/Makefile" ;; "ompi/mca/fbtl/ime/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/fbtl/ime/Makefile" ;; "ompi/mca/fbtl/posix/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/fbtl/posix/Makefile" ;; "ompi/mca/fbtl/pvfs2/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/fbtl/pvfs2/Makefile" ;; "ompi/mca/fcoll/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/fcoll/Makefile" ;; "ompi/mca/fcoll/dynamic/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/fcoll/dynamic/Makefile" ;; "ompi/mca/fcoll/dynamic_gen2/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/fcoll/dynamic_gen2/Makefile" ;; "ompi/mca/fcoll/individual/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/fcoll/individual/Makefile" ;; "ompi/mca/fcoll/vulcan/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/fcoll/vulcan/Makefile" ;; "ompi/mca/fs/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/fs/Makefile" ;; "ompi/mca/fs/gpfs/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/fs/gpfs/Makefile" ;; "ompi/mca/fs/ime/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/fs/ime/Makefile" ;; "ompi/mca/fs/lustre/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/fs/lustre/Makefile" ;; "ompi/mca/fs/pvfs2/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/fs/pvfs2/Makefile" ;; "ompi/mca/fs/ufs/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/fs/ufs/Makefile" ;; "ompi/mca/hook/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/hook/Makefile" ;; "ompi/mca/hook/comm_method/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/hook/comm_method/Makefile" ;; "ompi/mca/io/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/io/Makefile" ;; "ompi/mca/io/ompio/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/io/ompio/Makefile" ;; "ompi/mca/io/romio341/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/io/romio341/Makefile" ;; "ompi/mca/mtl/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/mtl/Makefile" ;; "ompi/mca/mtl/ofi/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/mtl/ofi/Makefile" ;; "ompi/mca/mtl/portals4/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/mtl/portals4/Makefile" ;; "ompi/mca/mtl/psm2/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/mtl/psm2/Makefile" ;; "ompi/mca/op/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/op/Makefile" ;; "ompi/mca/op/aarch64/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/op/aarch64/Makefile" ;; "ompi/mca/op/avx/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/op/avx/Makefile" ;; "ompi/mca/osc/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/osc/Makefile" ;; "ompi/mca/osc/sm/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/osc/sm/Makefile" ;; "ompi/mca/osc/monitoring/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/osc/monitoring/Makefile" ;; "ompi/mca/osc/monitoring/osc_monitoring_template_gen.h") CONFIG_COMMANDS="$CONFIG_COMMANDS ompi/mca/osc/monitoring/osc_monitoring_template_gen.h" ;; "ompi/mca/osc/portals4/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/osc/portals4/Makefile" ;; "ompi/mca/osc/rdma/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/osc/rdma/Makefile" ;; "ompi/mca/osc/ucx/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/osc/ucx/Makefile" ;; "ompi/mca/part/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/part/Makefile" ;; "ompi/mca/part/persist/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/part/persist/Makefile" ;; "ompi/mca/pml/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/pml/Makefile" ;; "ompi/mca/pml/cm/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/pml/cm/Makefile" ;; "ompi/mca/pml/monitoring/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/pml/monitoring/Makefile" ;; "ompi/mca/pml/ob1/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/pml/ob1/Makefile" ;; "ompi/mca/pml/ucx/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/pml/ucx/Makefile" ;; "ompi/mca/pml/v/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/pml/v/Makefile" ;; "ompi/mca/sharedfp/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/sharedfp/Makefile" ;; "ompi/mca/sharedfp/individual/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/sharedfp/individual/Makefile" ;; "ompi/mca/sharedfp/lockedfile/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/sharedfp/lockedfile/Makefile" ;; "ompi/mca/sharedfp/sm/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/sharedfp/sm/Makefile" ;; "ompi/mca/topo/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/topo/Makefile" ;; "ompi/mca/topo/basic/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/topo/basic/Makefile" ;; "3rd-party/treematch/Makefile") CONFIG_FILES="$CONFIG_FILES 3rd-party/treematch/Makefile" ;; "ompi/mca/topo/treematch/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/topo/treematch/Makefile" ;; "ompi/mca/vprotocol/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/vprotocol/Makefile" ;; "ompi/mca/vprotocol/pessimist/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mca/vprotocol/pessimist/Makefile" ;; "oshmem/mca/atomic/Makefile") CONFIG_FILES="$CONFIG_FILES oshmem/mca/atomic/Makefile" ;; "oshmem/mca/atomic/basic/Makefile") CONFIG_FILES="$CONFIG_FILES oshmem/mca/atomic/basic/Makefile" ;; "oshmem/mca/atomic/ucx/Makefile") CONFIG_FILES="$CONFIG_FILES oshmem/mca/atomic/ucx/Makefile" ;; "oshmem/mca/memheap/Makefile") CONFIG_FILES="$CONFIG_FILES oshmem/mca/memheap/Makefile" ;; "oshmem/mca/memheap/buddy/Makefile") CONFIG_FILES="$CONFIG_FILES oshmem/mca/memheap/buddy/Makefile" ;; "oshmem/mca/memheap/ptmalloc/Makefile") CONFIG_FILES="$CONFIG_FILES oshmem/mca/memheap/ptmalloc/Makefile" ;; "oshmem/mca/scoll/Makefile") CONFIG_FILES="$CONFIG_FILES oshmem/mca/scoll/Makefile" ;; "oshmem/mca/scoll/basic/Makefile") CONFIG_FILES="$CONFIG_FILES oshmem/mca/scoll/basic/Makefile" ;; "oshmem/mca/scoll/mpi/Makefile") CONFIG_FILES="$CONFIG_FILES oshmem/mca/scoll/mpi/Makefile" ;; "oshmem/mca/scoll/ucc/Makefile") CONFIG_FILES="$CONFIG_FILES oshmem/mca/scoll/ucc/Makefile" ;; "oshmem/mca/spml/Makefile") CONFIG_FILES="$CONFIG_FILES oshmem/mca/spml/Makefile" ;; "oshmem/mca/spml/ucx/Makefile") CONFIG_FILES="$CONFIG_FILES oshmem/mca/spml/ucx/Makefile" ;; "oshmem/mca/sshmem/Makefile") CONFIG_FILES="$CONFIG_FILES oshmem/mca/sshmem/Makefile" ;; "oshmem/mca/sshmem/mmap/Makefile") CONFIG_FILES="$CONFIG_FILES oshmem/mca/sshmem/mmap/Makefile" ;; "oshmem/mca/sshmem/sysv/Makefile") CONFIG_FILES="$CONFIG_FILES oshmem/mca/sshmem/sysv/Makefile" ;; "oshmem/mca/sshmem/ucx/Makefile") CONFIG_FILES="$CONFIG_FILES oshmem/mca/sshmem/ucx/Makefile" ;; "ompi/mpiext/affinity/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mpiext/affinity/Makefile" ;; "ompi/mpiext/affinity/c/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mpiext/affinity/c/Makefile" ;; "ompi/mpiext/cuda/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mpiext/cuda/Makefile" ;; "ompi/mpiext/cuda/c/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mpiext/cuda/c/Makefile" ;; "ompi/mpiext/cuda/c/mpiext_cuda_c.h") CONFIG_HEADERS="$CONFIG_HEADERS ompi/mpiext/cuda/c/mpiext_cuda_c.h" ;; "ompi/mpiext/ftmpi/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mpiext/ftmpi/Makefile" ;; "ompi/mpiext/ftmpi/c/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mpiext/ftmpi/c/Makefile" ;; "ompi/mpiext/ftmpi/c/profile/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mpiext/ftmpi/c/profile/Makefile" ;; "ompi/mpiext/ftmpi/mpif-h/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mpiext/ftmpi/mpif-h/Makefile" ;; "ompi/mpiext/ftmpi/use-mpi/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mpiext/ftmpi/use-mpi/Makefile" ;; "ompi/mpiext/ftmpi/use-mpi-f08/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mpiext/ftmpi/use-mpi-f08/Makefile" ;; "ompi/mpiext/rocm/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mpiext/rocm/Makefile" ;; "ompi/mpiext/rocm/c/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mpiext/rocm/c/Makefile" ;; "ompi/mpiext/rocm/c/mpiext_rocm_c.h") CONFIG_HEADERS="$CONFIG_HEADERS ompi/mpiext/rocm/c/mpiext_rocm_c.h" ;; "ompi/mpiext/shortfloat/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mpiext/shortfloat/Makefile" ;; "ompi/mpiext/shortfloat/c/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mpiext/shortfloat/c/Makefile" ;; "ompi/mpiext/shortfloat/mpif-h/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mpiext/shortfloat/mpif-h/Makefile" ;; "ompi/mpiext/shortfloat/use-mpi/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mpiext/shortfloat/use-mpi/Makefile" ;; "ompi/mpiext/shortfloat/use-mpi-f08/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mpiext/shortfloat/use-mpi-f08/Makefile" ;; "ompi/mpiext/shortfloat/c/mpiext_shortfloat_c.h") CONFIG_FILES="$CONFIG_FILES ompi/mpiext/shortfloat/c/mpiext_shortfloat_c.h" ;; "ompi/mpiext/shortfloat/mpif-h/mpiext_shortfloat_mpifh.h") CONFIG_FILES="$CONFIG_FILES ompi/mpiext/shortfloat/mpif-h/mpiext_shortfloat_mpifh.h" ;; "ompi/mpiext/shortfloat/use-mpi-f08/mpiext_shortfloat_usempif08.h") CONFIG_FILES="$CONFIG_FILES ompi/mpiext/shortfloat/use-mpi-f08/mpiext_shortfloat_usempif08.h" ;; "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; "ompi/tools/wrappers/ompi_wrapper_script") CONFIG_FILES="$CONFIG_FILES ompi/tools/wrappers/ompi_wrapper_script" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "docs/Makefile") CONFIG_FILES="$CONFIG_FILES docs/Makefile" ;; "config/Makefile") CONFIG_FILES="$CONFIG_FILES config/Makefile" ;; "contrib/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/Makefile" ;; "contrib/dist/mofed/debian/changelog") CONFIG_FILES="$CONFIG_FILES contrib/dist/mofed/debian/changelog" ;; "contrib/dist/mofed/debian/control") CONFIG_FILES="$CONFIG_FILES contrib/dist/mofed/debian/control" ;; "contrib/dist/mofed/debian/copyright") CONFIG_FILES="$CONFIG_FILES contrib/dist/mofed/debian/copyright:LICENSE" ;; "3rd-party/Makefile") CONFIG_FILES="$CONFIG_FILES 3rd-party/Makefile" ;; "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;; "test/event/Makefile") CONFIG_FILES="$CONFIG_FILES test/event/Makefile" ;; "test/asm/Makefile") CONFIG_FILES="$CONFIG_FILES test/asm/Makefile" ;; "test/datatype/Makefile") CONFIG_FILES="$CONFIG_FILES test/datatype/Makefile" ;; "test/class/Makefile") CONFIG_FILES="$CONFIG_FILES test/class/Makefile" ;; "test/mpool/Makefile") CONFIG_FILES="$CONFIG_FILES test/mpool/Makefile" ;; "test/support/Makefile") CONFIG_FILES="$CONFIG_FILES test/support/Makefile" ;; "test/threads/Makefile") CONFIG_FILES="$CONFIG_FILES test/threads/Makefile" ;; "test/util/Makefile") CONFIG_FILES="$CONFIG_FILES test/util/Makefile" ;; "test/monitoring/Makefile") CONFIG_FILES="$CONFIG_FILES test/monitoring/Makefile" ;; "test/spc/Makefile") CONFIG_FILES="$CONFIG_FILES test/spc/Makefile" ;; "contrib/dist/mofed/debian/rules") CONFIG_FILES="$CONFIG_FILES contrib/dist/mofed/debian/rules" ;; "contrib/dist/mofed/compile_debian_mlnx_example") CONFIG_FILES="$CONFIG_FILES contrib/dist/mofed/compile_debian_mlnx_example" ;; "opal/Makefile") CONFIG_FILES="$CONFIG_FILES opal/Makefile" ;; "opal/etc/Makefile") CONFIG_FILES="$CONFIG_FILES opal/etc/Makefile" ;; "opal/include/Makefile") CONFIG_FILES="$CONFIG_FILES opal/include/Makefile" ;; "opal/datatype/Makefile") CONFIG_FILES="$CONFIG_FILES opal/datatype/Makefile" ;; "opal/util/Makefile") CONFIG_FILES="$CONFIG_FILES opal/util/Makefile" ;; "opal/util/keyval/Makefile") CONFIG_FILES="$CONFIG_FILES opal/util/keyval/Makefile" ;; "opal/mca/base/Makefile") CONFIG_FILES="$CONFIG_FILES opal/mca/base/Makefile" ;; "opal/tools/wrappers/Makefile") CONFIG_FILES="$CONFIG_FILES opal/tools/wrappers/Makefile" ;; "opal/tools/wrappers/opalcc-wrapper-data.txt") CONFIG_FILES="$CONFIG_FILES opal/tools/wrappers/opalcc-wrapper-data.txt" ;; "opal/tools/wrappers/opal.pc") CONFIG_FILES="$CONFIG_FILES opal/tools/wrappers/opal.pc" ;; "ompi/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/Makefile" ;; "ompi/etc/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/etc/Makefile" ;; "ompi/include/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/include/Makefile" ;; "ompi/include/mpif.h") CONFIG_FILES="$CONFIG_FILES ompi/include/mpif.h" ;; "ompi/include/mpif-config.h") CONFIG_FILES="$CONFIG_FILES ompi/include/mpif-config.h" ;; "ompi/datatype/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/datatype/Makefile" ;; "ompi/debuggers/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/debuggers/Makefile" ;; "ompi/mpi/c/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mpi/c/Makefile" ;; "ompi/mpi/fortran/base/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mpi/fortran/base/Makefile" ;; "ompi/mpi/fortran/mpif-h/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mpi/fortran/mpif-h/Makefile" ;; "ompi/mpi/fortran/mpif-h/profile/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mpi/fortran/mpif-h/profile/Makefile" ;; "ompi/mpi/fortran/use-mpi/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mpi/fortran/use-mpi/Makefile" ;; "ompi/mpi/fortran/use-mpi/mpi-types.F90") CONFIG_FILES="$CONFIG_FILES ompi/mpi/fortran/use-mpi/mpi-types.F90" ;; "ompi/mpi/fortran/use-mpi-tkr/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mpi/fortran/use-mpi-tkr/Makefile" ;; "ompi/mpi/fortran/use-mpi-tkr/fortran_sizes.h") CONFIG_FILES="$CONFIG_FILES ompi/mpi/fortran/use-mpi-tkr/fortran_sizes.h" ;; "ompi/mpi/fortran/use-mpi-tkr/fortran_kinds.sh") CONFIG_FILES="$CONFIG_FILES ompi/mpi/fortran/use-mpi-tkr/fortran_kinds.sh" ;; "ompi/mpi/fortran/use-mpi-ignore-tkr/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mpi/fortran/use-mpi-ignore-tkr/Makefile" ;; "ompi/mpi/fortran/use-mpi-ignore-tkr/mpi-ignore-tkr-interfaces.h") CONFIG_FILES="$CONFIG_FILES ompi/mpi/fortran/use-mpi-ignore-tkr/mpi-ignore-tkr-interfaces.h" ;; "ompi/mpi/fortran/use-mpi-ignore-tkr/mpi-ignore-tkr-file-interfaces.h") CONFIG_FILES="$CONFIG_FILES ompi/mpi/fortran/use-mpi-ignore-tkr/mpi-ignore-tkr-file-interfaces.h" ;; "ompi/mpi/fortran/use-mpi-ignore-tkr/mpi-ignore-tkr-removed-interfaces.h") CONFIG_FILES="$CONFIG_FILES ompi/mpi/fortran/use-mpi-ignore-tkr/mpi-ignore-tkr-removed-interfaces.h" ;; "ompi/mpi/fortran/use-mpi-f08/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mpi/fortran/use-mpi-f08/Makefile" ;; "ompi/mpi/fortran/use-mpi-f08/base/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mpi/fortran/use-mpi-f08/base/Makefile" ;; "ompi/mpi/fortran/use-mpi-f08/profile/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mpi/fortran/use-mpi-f08/profile/Makefile" ;; "ompi/mpi/fortran/use-mpi-f08/bindings/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mpi/fortran/use-mpi-f08/bindings/Makefile" ;; "ompi/mpi/fortran/use-mpi-f08/mod/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mpi/fortran/use-mpi-f08/mod/Makefile" ;; "ompi/mpi/fortran/use-mpi-f08/mod/mpi-f08-interfaces.h") CONFIG_FILES="$CONFIG_FILES ompi/mpi/fortran/use-mpi-f08/mod/mpi-f08-interfaces.h" ;; "ompi/mpi/fortran/mpiext-use-mpi/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mpi/fortran/mpiext-use-mpi/Makefile" ;; "ompi/mpi/fortran/mpiext-use-mpi-f08/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mpi/fortran/mpiext-use-mpi-f08/Makefile" ;; "ompi/mpi/tool/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/mpi/tool/Makefile" ;; "ompi/tools/ompi_info/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/tools/ompi_info/Makefile" ;; "ompi/tools/wrappers/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/tools/wrappers/Makefile" ;; "ompi/tools/wrappers/mpicc-wrapper-data.txt") CONFIG_FILES="$CONFIG_FILES ompi/tools/wrappers/mpicc-wrapper-data.txt" ;; "ompi/tools/wrappers/mpic++-wrapper-data.txt") CONFIG_FILES="$CONFIG_FILES ompi/tools/wrappers/mpic++-wrapper-data.txt" ;; "ompi/tools/wrappers/mpifort-wrapper-data.txt") CONFIG_FILES="$CONFIG_FILES ompi/tools/wrappers/mpifort-wrapper-data.txt" ;; "ompi/tools/wrappers/ompi.pc") CONFIG_FILES="$CONFIG_FILES ompi/tools/wrappers/ompi.pc" ;; "ompi/tools/wrappers/ompi-c.pc") CONFIG_FILES="$CONFIG_FILES ompi/tools/wrappers/ompi-c.pc" ;; "ompi/tools/wrappers/ompi-cxx.pc") CONFIG_FILES="$CONFIG_FILES ompi/tools/wrappers/ompi-cxx.pc" ;; "ompi/tools/wrappers/ompi-fort.pc") CONFIG_FILES="$CONFIG_FILES ompi/tools/wrappers/ompi-fort.pc" ;; "ompi/tools/wrappers/mpijavac.pl") CONFIG_FILES="$CONFIG_FILES ompi/tools/wrappers/mpijavac.pl" ;; "ompi/tools/mpisync/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/tools/mpisync/Makefile" ;; "ompi/tools/mpirun/Makefile") CONFIG_FILES="$CONFIG_FILES ompi/tools/mpirun/Makefile" ;; "oshmem/Makefile") CONFIG_FILES="$CONFIG_FILES oshmem/Makefile" ;; "oshmem/include/Makefile") CONFIG_FILES="$CONFIG_FILES oshmem/include/Makefile" ;; "oshmem/shmem/c/Makefile") CONFIG_FILES="$CONFIG_FILES oshmem/shmem/c/Makefile" ;; "oshmem/shmem/fortran/Makefile") CONFIG_FILES="$CONFIG_FILES oshmem/shmem/fortran/Makefile" ;; "oshmem/tools/oshmem_info/Makefile") CONFIG_FILES="$CONFIG_FILES oshmem/tools/oshmem_info/Makefile" ;; "oshmem/tools/wrappers/Makefile") CONFIG_FILES="$CONFIG_FILES oshmem/tools/wrappers/Makefile" ;; "oshmem/tools/wrappers/shmemcc-wrapper-data.txt") CONFIG_FILES="$CONFIG_FILES oshmem/tools/wrappers/shmemcc-wrapper-data.txt" ;; "oshmem/tools/wrappers/shmemc++-wrapper-data.txt") CONFIG_FILES="$CONFIG_FILES oshmem/tools/wrappers/shmemc++-wrapper-data.txt" ;; "oshmem/tools/wrappers/shmemfort-wrapper-data.txt") CONFIG_FILES="$CONFIG_FILES oshmem/tools/wrappers/shmemfort-wrapper-data.txt" ;; "oshmem/tools/wrappers/oshmem.pc") CONFIG_FILES="$CONFIG_FILES oshmem/tools/wrappers/oshmem.pc" ;; "oshmem/tools/wrappers/oshmem-c.pc") CONFIG_FILES="$CONFIG_FILES oshmem/tools/wrappers/oshmem-c.pc" ;; "oshmem/tools/wrappers/oshmem-cxx.pc") CONFIG_FILES="$CONFIG_FILES oshmem/tools/wrappers/oshmem-cxx.pc" ;; "oshmem/tools/wrappers/oshmem-fort.pc") CONFIG_FILES="$CONFIG_FILES oshmem/tools/wrappers/oshmem-fort.pc" ;; *) as_fn_error $? "invalid argument: '$ac_config_target'" "$LINENO" 5;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test ${CONFIG_FILES+y} || CONFIG_FILES=$config_files test ${CONFIG_HEADERS+y} || CONFIG_HEADERS=$config_headers test ${CONFIG_LINKS+y} || CONFIG_LINKS=$config_links test ${CONFIG_COMMANDS+y} || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to '$tmp'. $debug || { tmp= ac_tmp= trap 'exit_status=$? : "${ac_tmp:=$tmp}" { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with './config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with './config.status Makefile'. if test -n "$CONFIG_HEADERS"; then cat >"$ac_tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF # Transform confdefs.h into an awk script 'defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. # Create a delimiter string that does not exist in confdefs.h, to ease # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do ac_tt=`sed -n "/$ac_delim/p" confdefs.h` if test -z "$ac_tt"; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done # For the awk script, D is an array of macro values keyed by name, # likewise P contains macro parameters if any. Preserve backslash # newline sequences. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* sed -n ' s/.\{148\}/&'"$ac_delim"'/g t rset :rset s/^[ ]*#[ ]*define[ ][ ]*/ / t def d :def s/\\$// t bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3"/p s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p d :bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3\\\\\\n"\\/p t cont s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p t cont d :cont n s/.\{148\}/&'"$ac_delim"'/g t clear :clear s/\\$// t bsnlc s/["\\]/\\&/g; s/^/"/; s/$/"/p d :bsnlc s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p b cont ' >$CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 for (key in D) D_is_set[key] = 1 FS = "" } /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { line = \$ 0 split(line, arg, " ") if (arg[1] == "#") { defundef = arg[2] mac1 = arg[3] } else { defundef = substr(arg[1], 2) mac1 = arg[2] } split(mac1, mac2, "(") #) macro = mac2[1] prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". print prefix "define", macro P[macro] D[macro] next } else { # Replace #undef with comments. This is necessary, for example, # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { print "/*", prefix defundef, macro, "*/" next } } } { print } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :L $CONFIG_LINKS :C $CONFIG_COMMANDS" shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag '$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain ':'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: '$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is 'configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 printf "%s\n" "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`printf "%s\n" "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$ac_tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || printf "%s\n" X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p 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 case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 printf "%s\n" "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when '$srcdir' = '.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable 'datarootdir' which seems to be undefined. Please make sure it is defined" >&5 printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable 'datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" case $ac_file in -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # # CONFIG_HEADER # if test x"$ac_file" != x-; then { printf "%s\n" "/* $configure_input */" >&1 \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" } >"$ac_tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 printf "%s\n" "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$ac_tmp/config.h" "$ac_file" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else printf "%s\n" "/* $configure_input */" >&1 \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$_am_arg" : 'X\(//\)[^/]' \| \ X"$_am_arg" : 'X\(//\)$' \| \ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || printf "%s\n" X"$_am_arg" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; :L) # # CONFIG_LINK # if test "$ac_source" = "$ac_file" && test "$srcdir" = '.'; then : else # Prefer the file from the source tree if names are identical. if test "$ac_source" = "$ac_file" || test ! -r "$ac_source"; then ac_source=$srcdir/$ac_source fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5 printf "%s\n" "$as_me: linking $ac_source to $ac_file" >&6;} if test ! -r "$ac_source"; then as_fn_error $? "$ac_source: file not found" "$LINENO" 5 fi rm -f "$ac_file" # Try a relative symlink, then a hard link, then a copy. case $ac_source in [\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;; *) ac_rel_source=$ac_top_build_prefix$ac_source ;; esac ln -s "$ac_rel_source" "$ac_file" 2>/dev/null || ln "$ac_source" "$ac_file" 2>/dev/null || cp -p "$ac_source" "$ac_file" || as_fn_error $? "cannot link or copy $ac_source to $ac_file" "$LINENO" 5 fi ;; :C) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 printf "%s\n" "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || { # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. # TODO: see whether this extra hack can be removed once we start # requiring Autoconf 2.70 or later. case $CONFIG_FILES in @%:@( *\'*) : eval set x "$CONFIG_FILES" ;; @%:@( *) : set x $CONFIG_FILES ;; @%:@( *) : ;; esac shift # Used to flag and report bootstrapping failures. am_rc=0 for am_mf do # Strip MF so we end up with the name of the file. am_mf=`printf "%s\n" "$am_mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile which includes # dependency-tracking related rules and includes. # Grep'ing the whole file directly is not great: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ || continue am_dirpart=`$as_dirname -- "$am_mf" || $as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$am_mf" : 'X\(//\)[^/]' \| \ X"$am_mf" : 'X\(//\)$' \| \ X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || printf "%s\n" X"$am_mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` am_filepart=`$as_basename -- "$am_mf" || $as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \ X"$am_mf" : 'X\(//\)$' \| \ X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || printf "%s\n" X/"$am_mf" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` { echo "$as_me:$LINENO: cd "$am_dirpart" \ && sed -e '/# am--include-marker/d' "$am_filepart" \ | $MAKE -f - am--depfiles" >&5 (cd "$am_dirpart" \ && sed -e '/# am--include-marker/d' "$am_filepart" \ | $MAKE -f - am--depfiles) >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } || am_rc=$? done if test $am_rc -ne 0; 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 $? "Something went wrong bootstrapping makefile fragments for automatic dependency tracking. If GNU make was not used, consider re-running the configure script with MAKE=\"gmake\" (or whatever is necessary). You can also try re-running configure with the '--disable-dependency-tracking' option to at least be able to build the package (albeit without support for automatic dependency tracking). See 'config.log' for more details" "$LINENO" 5; } fi { am_dirpart=; unset am_dirpart;} { am_filepart=; unset am_filepart;} { am_mf=; unset am_mf;} { am_rc=; unset am_rc;} rm -f conftest-deps.mk } ;; "ompi/mca/osc/monitoring/osc_monitoring_template_gen.h":C) filename="ompi/mca/osc/monitoring/osc_monitoring_template_gen.h" components=`echo "monitoring, portals4, rdma, ucx, sm" | sed -e 's/,/ /g' -e 's/monitoring//'` cat <$filename /* $filename * * This file was generated from ompi/mca/osc/monitoring/configure.m4 * * DO NOT EDIT THIS FILE. * */ /* * Copyright (c) 2017-2018 Inria. All rights reserved. * \$COPYRIGHT$ * * Additional copyrights may follow * * \$HEADER$ */ #ifndef MCA_OSC_MONITORING_GEN_TEMPLATE_H #define MCA_OSC_MONITORING_GEN_TEMPLATE_H #include "ompi_config.h" #include "ompi/mca/osc/osc.h" #include "ompi/mca/osc/monitoring/osc_monitoring_template.h" /************************************************************/ /* Include template generating macros and inlined functions */ EOF # Generate each case in order to register the proper template functions for comp in $components do echo "OSC_MONITORING_MODULE_TEMPLATE_GENERATE(${comp})" >>$filename done cat <>$filename /************************************************************/ typedef struct { const char * name; ompi_osc_base_module_t * (*fct) (ompi_osc_base_module_t *); } osc_monitoring_components_list_t; static const osc_monitoring_components_list_t osc_monitoring_components_list[] = { EOF for comp in $components do echo " { .name = \"${comp}\", .fct = OSC_MONITORING_SET_TEMPLATE_FCT_NAME(${comp}) }," >>$filename done cat <>$filename { .name = NULL, .fct = NULL } }; #endif /* MCA_OSC_MONITORING_GEN_TEMPLATE_H */ EOF unset filename components ;; "libtool":C) # See if we are running on zsh, and set the options that allow our # commands through without removal of \ escapes. if test -n "${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi cfgfile=${ofile}T trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # Generated automatically by $as_me ($PACKAGE) $VERSION # NOTE: Changes made to this file will be lost: look at ltmain.sh. # Provide generalized library-building support services. # Written by Gordon Matzigkeit, 1996 # Copyright (C) 2014 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # GNU Libtool is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of of the License, or # (at your option) any later version. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program or library that is built # using GNU Libtool, you may include this file under the same # distribution terms that you use for the rest of that program. # # GNU Libtool is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # The names of the tagged configurations supported by this script. available_tags='CXX FC ' # Configured defaults for sys_lib_dlsearch_path munging. : \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} # ### BEGIN LIBTOOL CONFIG # Whether or not to build shared libraries. build_libtool_libs=$enable_shared # Whether or not to build static libraries. build_old_libs=$enable_static # A BSD- or MS-compatible name lister. NM=$lt_NM # Which release of libtool.m4 was used? macro_version=$macro_version macro_revision=$macro_revision # What type of objects to build. pic_mode=$pic_mode # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # Shared archive member basename,for filename based shared library versioning on AIX. shared_archive_member_spec=$shared_archive_member_spec # Shell to use when invoking shell scripts. SHELL=$lt_SHELL # An echo program that protects backslashes. ECHO=$lt_ECHO # The PATH separator for the build system. PATH_SEPARATOR=$lt_PATH_SEPARATOR # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # A sed program that does not truncate output. SED=$lt_SED # Sed that helps us avoid accidentally triggering echo(1) options like -n. Xsed="\$SED -e 1s/^X//" # A grep program that handles long lines. GREP=$lt_GREP # An ERE matcher. EGREP=$lt_EGREP # A literal string matcher. FGREP=$lt_FGREP # Whether we need soft or hard links. LN_S=$lt_LN_S # What is the maximum length of a command? max_cmd_len=$max_cmd_len # Object file suffix (normally "o"). objext=$ac_objext # Executable file suffix (normally ""). exeext=$exeext # whether the shell understands "unset". lt_unset=$lt_unset # turn spaces into newlines. SP2NL=$lt_lt_SP2NL # turn newlines into spaces. NL2SP=$lt_lt_NL2SP # convert \$build file names to \$host format. to_host_file_cmd=$lt_cv_to_host_file_cmd # convert \$build files to toolchain format. to_tool_file_cmd=$lt_cv_to_tool_file_cmd # A file(cmd) program that detects file types. FILECMD=$lt_FILECMD # An object symbol dumper. OBJDUMP=$lt_OBJDUMP # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method # Command to use when deplibs_check_method = "file_magic". file_magic_cmd=$lt_file_magic_cmd # How to find potential files when deplibs_check_method = "file_magic". file_magic_glob=$lt_file_magic_glob # Find potential files using nocaseglob when deplibs_check_method = "file_magic". want_nocaseglob=$lt_want_nocaseglob # DLL creation program. DLLTOOL=$lt_DLLTOOL # Command to associate shared and link libraries. sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd # The archiver. AR=$lt_AR # Flags to create an archive (by configure). lt_ar_flags=$lt_ar_flags # Flags to create an archive. AR_FLAGS=\@S|@{ARFLAGS-"\@S|@lt_ar_flags"} # How to feed a file listing to the archiver. archiver_list_spec=$lt_archiver_list_spec # A symbol stripping program. STRIP=$lt_STRIP # Commands used to install an old-style archive. RANLIB=$lt_RANLIB old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds # Whether to use a lock for old archive extraction. lock_old_archive_extraction=$lock_old_archive_extraction # A C compiler. LTCC=$lt_CC # LTCC compiler flags. LTCFLAGS=$lt_CFLAGS # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe # Transform the output of nm in a proper C declaration. global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl # Transform the output of nm into a list of symbols to manually relocate. global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import # Transform the output of nm in a C name address pair. global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # Transform the output of nm in a C name address pair when lib prefix is needed. global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix # The name lister interface. nm_interface=$lt_lt_cv_nm_interface # Specify filename containing input files for \$NM. nm_file_list_spec=$lt_nm_file_list_spec # The root where to search for dependent libraries,and where our libraries should be installed. lt_sysroot=$lt_sysroot # Command to truncate a binary pipe. lt_truncate_bin=$lt_lt_cv_truncate_bin # The name of the directory that contains temporary libtool files. objdir=$objdir # Used to examine libraries when file_magic_cmd begins with "file". MAGIC_CMD=$MAGIC_CMD # Must we lock files when doing compilation? need_locks=$lt_need_locks # Manifest tool. MANIFEST_TOOL=$lt_MANIFEST_TOOL # Tool to manipulate archived DWARF debug symbol files on Mac OS X. DSYMUTIL=$lt_DSYMUTIL # Tool to change global to local symbols on Mac OS X. NMEDIT=$lt_NMEDIT # Tool to manipulate fat objects and archives on Mac OS X. LIPO=$lt_LIPO # ldd/readelf like tool for Mach-O binaries on Mac OS X. OTOOL=$lt_OTOOL # ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. OTOOL64=$lt_OTOOL64 # Old archive suffix (normally "a"). libext=$libext # Shared library suffix (normally ".so"). shrext_cmds=$lt_shrext_cmds # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds=$lt_extract_expsyms_cmds # Variables whose values should be saved in libtool wrapper scripts and # restored at link time. variables_saved_for_relink=$lt_variables_saved_for_relink # Do we need the "lib" prefix for modules? need_lib_prefix=$need_lib_prefix # Do we need a version for libraries? need_version=$need_version # Library versioning type. version_type=$version_type # Shared library runtime path variable. runpath_var=$runpath_var # Shared library path variable. shlibpath_var=$shlibpath_var # Is shlibpath searched before the hard-coded library search path? shlibpath_overrides_runpath=$shlibpath_overrides_runpath # Format of library name prefix. libname_spec=$lt_libname_spec # List of archive names. First name is the real one, the rest are links. # The last name is the one that the linker finds with -lNAME library_names_spec=$lt_library_names_spec # The coded name of the library, if different from the real name. soname_spec=$lt_soname_spec # Permission mode override for installation of shared libraries. install_override_mode=$lt_install_override_mode # Command to use after installation of a shared archive. postinstall_cmds=$lt_postinstall_cmds # Command to use after uninstallation of a shared archive. postuninstall_cmds=$lt_postuninstall_cmds # Commands used to finish a libtool library installation in a directory. finish_cmds=$lt_finish_cmds # As "finish_cmds", except a single script fragment to be evaled but # not shown. finish_eval=$lt_finish_eval # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # Compile-time system search path for libraries. sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Detected run-time system search path for libraries. sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path # Explicit LT_SYS_LIBRARY_PATH set during ./configure time. configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path # Whether dlopen is supported. dlopen_support=$enable_dlopen # Whether dlopen of programs is supported. dlopen_self=$enable_dlopen_self # Whether dlopen of statically linked programs is supported. dlopen_self_static=$enable_dlopen_self_static # Commands to strip libraries. old_striplib=$lt_old_striplib striplib=$lt_striplib # The linker used to build libraries. LD=$lt_LD # How to create reloadable object files. reload_flag=$lt_reload_flag reload_cmds=$lt_reload_cmds # Commands used to build an old-style archive. old_archive_cmds=$lt_old_archive_cmds # A language specific compiler. CC=$lt_compiler # Is the compiler the GNU compiler? with_gcc=$GCC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc # Whether or not to disallow shared libs when runtime libs are static. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec # Whether the compiler copes with passing no objects directly. compiler_needs_object=$lt_compiler_needs_object # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds # Commands used to build a shared archive. archive_cmds=$lt_archive_cmds archive_expsym_cmds=$lt_archive_expsym_cmds # Commands used to build a loadable module if different from building # a shared archive. module_cmds=$lt_module_cmds module_expsym_cmds=$lt_module_expsym_cmds # Whether we are building with GNU ld or not. with_gnu_ld=$lt_with_gnu_ld # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag # Flag that enforces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes # DIR into the resulting binary. hardcode_direct=$hardcode_direct # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes # DIR into the resulting binary and the resulting library dependency is # "absolute",i.e impossible to change by setting \$shlibpath_var if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute # Set to "yes" if using the -LDIR flag during linking hardcodes DIR # into the resulting binary. hardcode_minus_L=$hardcode_minus_L # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR # into the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var # Set to "yes" if building a shared library automatically hardcodes DIR # into the library and all subsequent libraries and executables linked # against it. hardcode_automatic=$hardcode_automatic # Set to yes if linker adds runtime paths of dependent libraries # to runtime path list. inherit_rpath=$inherit_rpath # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms # Symbols that must always be exported. include_expsyms=$lt_include_expsyms # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds # Commands necessary for finishing linking programs. postlink_cmds=$lt_postlink_cmds # Specify filename containing input files. file_list_spec=$lt_file_list_spec # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action # The directories searched by this compiler when creating a shared library. compiler_lib_search_dirs=$lt_compiler_lib_search_dirs # Dependencies to place before and after the objects being linked to # create a shared library. predep_objects=$lt_predep_objects postdep_objects=$lt_postdep_objects predeps=$lt_predeps postdeps=$lt_postdeps # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path # ### END LIBTOOL CONFIG _LT_EOF cat <<'_LT_EOF' >> "$cfgfile" # ### BEGIN FUNCTIONS SHARED WITH CONFIGURE # func_munge_path_list VARIABLE PATH # ----------------------------------- # VARIABLE is name of variable containing _space_ separated list of # directories to be munged by the contents of PATH, which is string # having a format: # "DIR[:DIR]:" # string "DIR[ DIR]" will be prepended to VARIABLE # ":DIR[:DIR]" # string "DIR[ DIR]" will be appended to VARIABLE # "DIRP[:DIRP]::[DIRA:]DIRA" # string "DIRP[ DIRP]" will be prepended to VARIABLE and string # "DIRA[ DIRA]" will be appended to VARIABLE # "DIR[:DIR]" # VARIABLE will be replaced by "DIR[ DIR]" func_munge_path_list () { case x@S|@2 in x) ;; *:) eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" ;; x:*) eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" ;; *::*) eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" ;; *) eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" ;; esac } # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. func_cc_basename () { for cc_temp in @S|@*""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` } # ### END FUNCTIONS SHARED WITH CONFIGURE _LT_EOF case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test set != "${COLLECT_NAMES+set}"; then COLLECT_NAMES= export COLLECT_NAMES fi _LT_EOF ;; esac ltmain=$ac_aux_dir/ltmain.sh # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? $SED '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" cat <<_LT_EOF >> "$ofile" # ### BEGIN LIBTOOL TAG CONFIG: CXX # The linker used to build libraries. LD=$lt_LD_CXX # How to create reloadable object files. reload_flag=$lt_reload_flag_CXX reload_cmds=$lt_reload_cmds_CXX # Commands used to build an old-style archive. old_archive_cmds=$lt_old_archive_cmds_CXX # A language specific compiler. CC=$lt_compiler_CXX # Is the compiler the GNU compiler? with_gcc=$GCC_CXX # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_CXX # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl_CXX # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static_CXX # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc_CXX # Whether or not to disallow shared libs when runtime libs are static. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX # Whether the compiler copes with passing no objects directly. compiler_needs_object=$lt_compiler_needs_object_CXX # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX # Commands used to build a shared archive. archive_cmds=$lt_archive_cmds_CXX archive_expsym_cmds=$lt_archive_expsym_cmds_CXX # Commands used to build a loadable module if different from building # a shared archive. module_cmds=$lt_module_cmds_CXX module_expsym_cmds=$lt_module_expsym_cmds_CXX # Whether we are building with GNU ld or not. with_gnu_ld=$lt_with_gnu_ld_CXX # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag_CXX # Flag that enforces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_CXX # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes # DIR into the resulting binary. hardcode_direct=$hardcode_direct_CXX # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes # DIR into the resulting binary and the resulting library dependency is # "absolute",i.e impossible to change by setting \$shlibpath_var if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute_CXX # Set to "yes" if using the -LDIR flag during linking hardcodes DIR # into the resulting binary. hardcode_minus_L=$hardcode_minus_L_CXX # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR # into the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX # Set to "yes" if building a shared library automatically hardcodes DIR # into the library and all subsequent libraries and executables linked # against it. hardcode_automatic=$hardcode_automatic_CXX # Set to yes if linker adds runtime paths of dependent libraries # to runtime path list. inherit_rpath=$inherit_rpath_CXX # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs_CXX # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols_CXX # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_CXX # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms_CXX # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_CXX # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds_CXX # Commands necessary for finishing linking programs. postlink_cmds=$lt_postlink_cmds_CXX # Specify filename containing input files. file_list_spec=$lt_file_list_spec_CXX # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action_CXX # The directories searched by this compiler when creating a shared library. compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX # Dependencies to place before and after the objects being linked to # create a shared library. predep_objects=$lt_predep_objects_CXX postdep_objects=$lt_postdep_objects_CXX predeps=$lt_predeps_CXX postdeps=$lt_postdeps_CXX # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_CXX # ### END LIBTOOL TAG CONFIG: CXX _LT_EOF cat <<_LT_EOF >> "$ofile" # ### BEGIN LIBTOOL TAG CONFIG: FC # The linker used to build libraries. LD=$lt_LD_FC # How to create reloadable object files. reload_flag=$lt_reload_flag_FC reload_cmds=$lt_reload_cmds_FC # Commands used to build an old-style archive. old_archive_cmds=$lt_old_archive_cmds_FC # A language specific compiler. CC=$lt_compiler_FC # Is the compiler the GNU compiler? with_gcc=$GCC_FC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_FC # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_FC # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl_FC # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static_FC # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o_FC # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc_FC # Whether or not to disallow shared libs when runtime libs are static. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_FC # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_FC # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_FC # Whether the compiler copes with passing no objects directly. compiler_needs_object=$lt_compiler_needs_object_FC # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_FC # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_FC # Commands used to build a shared archive. archive_cmds=$lt_archive_cmds_FC archive_expsym_cmds=$lt_archive_expsym_cmds_FC # Commands used to build a loadable module if different from building # a shared archive. module_cmds=$lt_module_cmds_FC module_expsym_cmds=$lt_module_expsym_cmds_FC # Whether we are building with GNU ld or not. with_gnu_ld=$lt_with_gnu_ld_FC # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag_FC # Flag that enforces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_FC # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_FC # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_FC # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes # DIR into the resulting binary. hardcode_direct=$hardcode_direct_FC # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes # DIR into the resulting binary and the resulting library dependency is # "absolute",i.e impossible to change by setting \$shlibpath_var if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute_FC # Set to "yes" if using the -LDIR flag during linking hardcodes DIR # into the resulting binary. hardcode_minus_L=$hardcode_minus_L_FC # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR # into the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_FC # Set to "yes" if building a shared library automatically hardcodes DIR # into the library and all subsequent libraries and executables linked # against it. hardcode_automatic=$hardcode_automatic_FC # Set to yes if linker adds runtime paths of dependent libraries # to runtime path list. inherit_rpath=$inherit_rpath_FC # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs_FC # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols_FC # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_FC # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms_FC # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_FC # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds_FC # Commands necessary for finishing linking programs. postlink_cmds=$lt_postlink_cmds_FC # Specify filename containing input files. file_list_spec=$lt_file_list_spec_FC # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action_FC # The directories searched by this compiler when creating a shared library. compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_FC # Dependencies to place before and after the objects being linked to # create a shared library. predep_objects=$lt_predep_objects_FC postdep_objects=$lt_postdep_objects_FC predeps=$lt_predeps_FC postdeps=$lt_postdeps_FC # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_FC # ### END LIBTOOL TAG CONFIG: FC _LT_EOF ;; "ompi/tools/wrappers/ompi_wrapper_script":F) chmod +x ompi/tools/wrappers/ompi_wrapper_script ;; "contrib/dist/mofed/debian/rules":F) chmod +x contrib/dist/mofed/debian/rules ;; "contrib/dist/mofed/compile_debian_mlnx_example":F) chmod +x contrib/dist/mofed/compile_debian_mlnx_example ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi cat <&6 else echo "Build MPI C bindings: no" >&6 fi if test "$project_ompi_amc" = "true" ; then if test $OMPI_BUILD_FORTRAN_BINDINGS = $OMPI_FORTRAN_MPIFH_BINDINGS ; then echo "Build MPI Fortran bindings: mpif.h" >&6 elif test $OMPI_BUILD_FORTRAN_BINDINGS = $OMPI_FORTRAN_USEMPI_BINDINGS ; then echo "Build MPI Fortran bindings: mpif.h, use mpi" >&6 elif test $OMPI_BUILD_FORTRAN_BINDINGS = $OMPI_FORTRAN_USEMPIF08_BINDINGS ; then echo "Build MPI Fortran bindings: mpif.h, use mpi, use mpi_f08" >&6 else echo "Build MPI Fortran bindings: no" >&6 fi if test $WANT_MPI_JAVA_BINDINGS -eq 1 ; then echo "Build MPI Java bindings (experimental): yes" >&6 else echo "Build MPI Java bindings (experimental): no" >&6 fi fi if test "$project_oshmem_amc" = "true" ; then echo "Build Open SHMEM support: yes" >&6 elif test -z "$project_oshmem_amc" ; then echo "Build Open SHMEM support: no" >&6 else echo "Build Open SHMEM support: $project_oshmem_amc" >&6 fi if test $WANT_DEBUG = 0 ; then echo "Debug build: no" >&6 else echo "Debug build: yes" >&6 fi if test ! -z $with_platform ; then echo "Platform file: $with_platform" >&6 else echo "Platform file: (none)" >&6 fi echo " " >&6 oac_var_scope_push ${LINENO} oac_summary_section oac_summary_section_name for oac_summary_section in ${oac_summary_sections} ; do eval oac_summary_section_name=\$oac_summary_section_${oac_summary_section}_name eval oac_summary_section_value=\$oac_summary_section_${oac_summary_section}_value echo "${oac_summary_section_name}" >&6 echo "-----------------------" >&6 echo "${oac_summary_section_value}" | sort -f >&6 echo " " >&6 done oac_var_scope_pop oac_summary_section oac_summary_section_name if test $WANT_DEBUG = 1 ; then cat >&6 <